From 95becae461ebe1fd799b387419fd10f92d001872 Mon Sep 17 00:00:00 2001 From: "Leupp, Joel" Date: Thu, 6 Nov 2025 13:53:03 +0100 Subject: [PATCH 01/76] feat/multi-select-for-six-checkbox --- docs/changelog.md | 2 + examples/angular/src/app/form/form.html | 8 +++ examples/angular/src/app/form/form.ts | 2 + .../checkbox-multi-select-value-accessor.ts | 56 +++++++++++++++++++ .../checkbox-value-accessor.ts | 2 +- .../control-value-accessors/value-accessor.ts | 2 +- .../src/lib/ui-library-angular.module.ts | 8 +++ .../ui-library-angular/src/public-api.ts | 1 + 8 files changed, 79 insertions(+), 2 deletions(-) create mode 100644 libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-multi-select-value-accessor.ts diff --git a/docs/changelog.md b/docs/changelog.md index d21599b0f..94cfacd1a 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -21,6 +21,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ### Added - Added `hoverContent` prop to `six-tab` to override the default hover content. +- Added `CheckboxMultiSelectValueAccessor` which binds checkbox values to an array analog to a + multiselect ## 5.1.0 - 2025-10-23 diff --git a/examples/angular/src/app/form/form.html b/examples/angular/src/app/form/form.html index eaa24aa1f..6ca67498b 100644 --- a/examples/angular/src/app/form/form.html +++ b/examples/angular/src/app/form/form.html @@ -58,6 +58,14 @@

Form Example

+ + + read + write + delete + + + Accept to Terms and Condition extends ValueAccessor { + @Input({ required: true }) value!: T; + + constructor(injector: Injector, el: ElementRef) { + super(injector, el); + } + + @HostListener('change', ['$event.target']) + onHostChange(el: HTMLSixCheckboxElement) { + const checked = el.checked; + const current = this.ngControl?.value; + if (!current) return; + + const set = new Set(current); + if (checked) { + set.add(this.value); + } else { + set.delete(this.value); + } + + this.handleValueChange(el, Array.from(set)); + } + + override writeValue(values: T[]): void { + const arr = Array.isArray(values) ? (values as T[]) : []; + const checkbox = this.el.nativeElement as HTMLSixCheckboxElement; + checkbox.checked = arr.includes(this.value); + this.updateValidation(); + } + + override setDisabledState(isDisabled: boolean): void { + this.el.nativeElement.disabled = isDisabled; + } +} diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts index 488a46528..b56e787ac 100644 --- a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts +++ b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts @@ -3,7 +3,7 @@ import { NG_VALUE_ACCESSOR } from '@angular/forms'; import { ValueAccessor } from './value-accessor'; @Directive({ - selector: 'six-checkbox', + selector: 'six-checkbox:not([six-multiple])', providers: [ { provide: NG_VALUE_ACCESSOR, diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/value-accessor.ts index 00b34d381..ee5cf2ffb 100644 --- a/libraries/ui-library-angular/src/lib/control-value-accessors/value-accessor.ts +++ b/libraries/ui-library-angular/src/lib/control-value-accessors/value-accessor.ts @@ -8,7 +8,7 @@ import { UI_LIBRARY_CONFIG, UiLibraryConfig } from '../ui-library-angular-config @Directive() export class ValueAccessor implements ControlValueAccessor, AfterViewInit, OnDestroy { private statusChanges?: Subscription; - private ngControl?: NgControl; + public ngControl?: NgControl; private initialErrorText?: string; private validationMessagesService = inject(ValidationMessagesService); diff --git a/libraries/ui-library-angular/src/lib/ui-library-angular.module.ts b/libraries/ui-library-angular/src/lib/ui-library-angular.module.ts index d6b836d8c..d029eea6e 100644 --- a/libraries/ui-library-angular/src/lib/ui-library-angular.module.ts +++ b/libraries/ui-library-angular/src/lib/ui-library-angular.module.ts @@ -18,6 +18,10 @@ import { } from './validators/six-ui-library-validators'; import { SelectValueAccessor } from './control-value-accessors/select-value-accessor'; import { CheckboxValueAccessor } from './control-value-accessors/checkbox-value-accessor'; +import { + CheckboxMultiSelectValueAccessor, + SixMultipleDirective, +} from './control-value-accessors/checkbox-multi-select-value-accessor'; import { RangeValueAccessor } from './control-value-accessors/range-value-accessor'; import { SwitchValueAccessor } from './control-value-accessors/switch-value-accessor'; import { TimepickerValueAccessor } from './control-value-accessors/timepicker-value-accessor'; @@ -45,6 +49,8 @@ import { DEFAULT_UI_LIBRARY_CONFIG, UI_LIBRARY_CONFIG, UiLibraryConfig } from '. TimepickerValueAccessor, SelectValueAccessor, CheckboxValueAccessor, + CheckboxMultiSelectValueAccessor, + SixMultipleDirective, SwitchValueAccessor, RangeValueAccessor, @@ -84,6 +90,8 @@ import { DEFAULT_UI_LIBRARY_CONFIG, UI_LIBRARY_CONFIG, UiLibraryConfig } from '. TimepickerValueAccessor, SelectValueAccessor, CheckboxValueAccessor, + CheckboxMultiSelectValueAccessor, + SixMultipleDirective, SwitchValueAccessor, RangeValueAccessor, diff --git a/libraries/ui-library-angular/src/public-api.ts b/libraries/ui-library-angular/src/public-api.ts index e7f7a17ba..2a308ff09 100644 --- a/libraries/ui-library-angular/src/public-api.ts +++ b/libraries/ui-library-angular/src/public-api.ts @@ -20,6 +20,7 @@ export * from './lib/control-value-accessors/date-value-accessor'; export * from './lib/control-value-accessors/timepicker-value-accessor'; export * from './lib/control-value-accessors/select-value-accessor'; export * from './lib/control-value-accessors/checkbox-value-accessor'; +export * from './lib/control-value-accessors/checkbox-multi-select-value-accessor'; export * from './lib/control-value-accessors/switch-value-accessor'; export * from './lib/control-value-accessors/range-value-accessor'; From 17032fee971c5e4e7b05000d3a1ab143a2234792 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horv=C3=A1th=2C=20B=C3=A9la?= Date: Thu, 13 Nov 2025 12:54:28 +0100 Subject: [PATCH 02/76] add noScroll prop to six-dropdown. --- docs/changelog.md | 2 + docs/components/six-dropdown.md | 1 + .../src/lib/stencil-generated/components.ts | 4 +- .../src/lib/stencil-generated/components.ts | 1 + libraries/ui-library/src/components.d.ts | 10 +++++ .../src/components/six-dropdown/readme.md | 1 + .../components/six-dropdown/six-dropdown.tsx | 45 +++++++++++++------ 7 files changed, 49 insertions(+), 15 deletions(-) diff --git a/docs/changelog.md b/docs/changelog.md index 361fdd15c..d6ac6ebc6 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -10,6 +10,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). - Added the ability to disable the `ValidationService` on Angular. See [docs](./guide/angular.md#customisingdisabling-validationservice) for more details. +- `six-dropdown` : Added `noScroll` property to disable the default panel scroll behavior. Defaults + to false. ### Fixed diff --git a/docs/components/six-dropdown.md b/docs/components/six-dropdown.md index f88081c26..aaab96518 100644 --- a/docs/components/six-dropdown.md +++ b/docs/components/six-dropdown.md @@ -461,6 +461,7 @@ To make your virtually scrolled list filterable simply add the `filter` attribut | `filterPlaceholder` | `filter-placeholder` | The filter's placeholder text. | `string` | `'Filter...'` | | `hoist` | `hoist` | Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto\|scroll`. | `boolean` | `false` | | `matchTriggerWidth` | `match-trigger-width` | Determines if the dropdown panel's width should match the width of the trigger element. If set to `true`, the panel will resize its width to align with the trigger's width. If `false` or omitted, the panel will maintain its default width. | `boolean` | `false` | +| `noScroll` | `no-scroll` | Set to true if you want to disable the default dropdown panel scroll behavior. | `boolean` | `false` | | `open` | `open` | Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. | `boolean` | `false` | | `options` | `options` | Set the options to be shown in the dropdown (alternative to setting the elements via html) | `SixMenuItemData[]` | `[]` | | `placement` | `placement` | The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside the viewport. | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` | diff --git a/libraries/ui-library-angular/src/lib/stencil-generated/components.ts b/libraries/ui-library-angular/src/lib/stencil-generated/components.ts index f9f192426..1728da3ef 100644 --- a/libraries/ui-library-angular/src/lib/stencil-generated/components.ts +++ b/libraries/ui-library-angular/src/lib/stencil-generated/components.ts @@ -475,7 +475,7 @@ the drawer will result in destructive behavior such as data loss. @ProxyCmp({ - inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'matchTriggerWidth', 'open', 'options', 'placement', 'skidding', 'virtualScroll'], + inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'matchTriggerWidth', 'noScroll', 'open', 'options', 'placement', 'skidding', 'virtualScroll'], methods: ['show', 'hide'] }) @Component({ @@ -483,7 +483,7 @@ the drawer will result in destructive behavior such as data loss. changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'matchTriggerWidth', 'open', 'options', 'placement', 'skidding', 'virtualScroll'], + inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'matchTriggerWidth', 'noScroll', 'open', 'options', 'placement', 'skidding', 'virtualScroll'], standalone: false }) export class SixDropdown { diff --git a/libraries/ui-library-vue/src/lib/stencil-generated/components.ts b/libraries/ui-library-vue/src/lib/stencil-generated/components.ts index a4953f114..ba17fe0c1 100644 --- a/libraries/ui-library-vue/src/lib/stencil-generated/components.ts +++ b/libraries/ui-library-vue/src/lib/stencil-generated/components.ts @@ -240,6 +240,7 @@ export const SixDropdown: StencilVueComponent = /*@__PURE__*/ d 'hoist', 'containingElement', 'filter', + 'noScroll', 'asyncFilter', 'filterPlaceholder', 'autofocusFilter', diff --git a/libraries/ui-library/src/components.d.ts b/libraries/ui-library/src/components.d.ts index 255460c72..e8a519e57 100644 --- a/libraries/ui-library/src/components.d.ts +++ b/libraries/ui-library/src/components.d.ts @@ -772,6 +772,11 @@ export namespace Components { * @default false */ "matchTriggerWidth": boolean; + /** + * Set to true if you want to disable the default dropdown panel scroll behavior. + * @default false + */ + "noScroll": boolean; /** * Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. * @default false @@ -4520,6 +4525,11 @@ declare namespace LocalJSX { * @default false */ "matchTriggerWidth"?: boolean; + /** + * Set to true if you want to disable the default dropdown panel scroll behavior. + * @default false + */ + "noScroll"?: boolean; /** * Emitted when the async filter is triggered */ diff --git a/libraries/ui-library/src/components/six-dropdown/readme.md b/libraries/ui-library/src/components/six-dropdown/readme.md index 8beed5995..2a608f211 100644 --- a/libraries/ui-library/src/components/six-dropdown/readme.md +++ b/libraries/ui-library/src/components/six-dropdown/readme.md @@ -20,6 +20,7 @@ | `filterPlaceholder` | `filter-placeholder` | The filter's placeholder text. | `string` | `'Filter...'` | | `hoist` | `hoist` | Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto\|scroll`. | `boolean` | `false` | | `matchTriggerWidth` | `match-trigger-width` | Determines if the dropdown panel's width should match the width of the trigger element. If set to `true`, the panel will resize its width to align with the trigger's width. If `false` or omitted, the panel will maintain its default width. | `boolean` | `false` | +| `noScroll` | `no-scroll` | Set to true if you want to disable the default dropdown panel scroll behavior. | `boolean` | `false` | | `open` | `open` | Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods. | `boolean` | `false` | | `options` | `options` | Set the options to be shown in the dropdown (alternative to setting the elements via html) | `SixMenuItemData[]` | `[]` | | `placement` | `placement` | The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside the viewport. | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` | diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx b/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx index b8585fb01..d208a611e 100644 --- a/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx +++ b/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx @@ -108,6 +108,15 @@ export class SixDropdown { */ @Prop() filter = false; + /** + * Set to true if you want to disable the default dropdown panel scroll behavior. + */ + @Prop() noScroll = false; + + get scrollEnabled() { + return !this.noScroll; + } + /** * Set to true to allow async filtering. * When you enter something in the search field the component will only emit an event but not filter any elements itself. @@ -696,19 +705,29 @@ export class SixDropdown { )} -
(this.scrollPanel = el)} - > - (this.panelSlot = el as HTMLSlotElement)} /> - {this.options.length > 0 && ( - - )} -
+ {this.scrollEnabled ? ( +
(this.scrollPanel = el)} + > + (this.panelSlot = el as HTMLSlotElement)} /> + {this.options.length > 0 && ( + + )} +
+ ) : ( +
(this.scrollPanel = el)}> + (this.panelSlot = el as HTMLSlotElement)} /> + {this.options.length > 0 && ( + + )} +
+ )} + From 5b8b21f2f55ecd50d84ef0e6f56f0815ca8cb870 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horv=C3=A1th=2C=20B=C3=A9la?= Date: Tue, 18 Nov 2025 14:28:58 +0100 Subject: [PATCH 03/76] Make six-dropdown scrollable style dependent on noScroll property. --- .../components/six-dropdown/six-dropdown.tsx | 36 +++++++------------ 1 file changed, 13 insertions(+), 23 deletions(-) diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx b/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx index d208a611e..ca6c0bb16 100644 --- a/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx +++ b/libraries/ui-library/src/components/six-dropdown/six-dropdown.tsx @@ -705,29 +705,19 @@ export class SixDropdown { )} - {this.scrollEnabled ? ( -
(this.scrollPanel = el)} - > - (this.panelSlot = el as HTMLSlotElement)} /> - {this.options.length > 0 && ( - - )} -
- ) : ( -
(this.scrollPanel = el)}> - (this.panelSlot = el as HTMLSlotElement)} /> - {this.options.length > 0 && ( - - )} -
- )} - +
(this.scrollPanel = el)} + > + (this.panelSlot = el as HTMLSlotElement)} /> + {this.options.length > 0 && ( + + )} +
From a2e95a20b7514c7ac8a6877372db1ff3a7a9fa4a Mon Sep 17 00:00:00 2001 From: fortesp Date: Wed, 19 Nov 2025 11:44:23 +0100 Subject: [PATCH 04/76] feat: six-icon now supports custom svgs --- docs/components/six-icon.md | 67 ++++++++++--- docs/examples/docs-demo-six-icon-0.vue | 16 +-- docs/examples/docs-demo-six-icon-1.vue | 16 +-- docs/examples/docs-demo-six-icon-10.vue | 16 +-- docs/examples/docs-demo-six-icon-11.vue | 12 +-- docs/examples/docs-demo-six-icon-12.vue | 21 ++++ docs/examples/docs-demo-six-icon-13.vue | 21 ++++ docs/examples/docs-demo-six-icon-2.vue | 16 +-- docs/examples/docs-demo-six-icon-3.vue | 16 +-- docs/examples/docs-demo-six-icon-4.vue | 16 +-- docs/examples/docs-demo-six-icon-5.vue | 16 +-- docs/examples/docs-demo-six-icon-6.vue | 16 +-- docs/examples/docs-demo-six-icon-7.vue | 16 +-- docs/examples/docs-demo-six-icon-8.vue | 16 +-- docs/examples/docs-demo-six-icon-9.vue | 16 +-- .../src/lib/stencil-generated/components.ts | 4 +- .../src/lib/stencil-generated/components.ts | 2 + libraries/ui-library/src/assets/test.svg | 22 +++++ libraries/ui-library/src/components.d.ts | 22 ++++- .../src/components/six-icon/index.html | 26 ++++- .../src/components/six-icon/readme.md | 19 +++- .../src/components/six-icon/six-icon.scss | 99 +++++++++++-------- .../src/components/six-icon/six-icon.tsx | 92 +++++++++++------ 23 files changed, 391 insertions(+), 192 deletions(-) create mode 100644 docs/examples/docs-demo-six-icon-12.vue create mode 100644 docs/examples/docs-demo-six-icon-13.vue create mode 100644 libraries/ui-library/src/assets/test.svg diff --git a/docs/components/six-icon.md b/docs/components/six-icon.md index a65a5df10..bd7f46306 100644 --- a/docs/components/six-icon.md +++ b/docs/components/six-icon.md @@ -17,8 +17,8 @@ SIX UI Library supports Material **Icons** and **Symbols**. Browse: [Material Ic pie_chart settings sick - fort - castle + + ``` @@ -187,16 +187,44 @@ The icons are available in different sizes. Default size is medium (24px). ```html
- - search - + + search + - search - + search + - search - + search + +
+``` + + +#### Custom SVG + + + +```html +
+ + + + +
+``` + + +#### Custom SVG inline + + + +```html +
+ + + +
``` @@ -207,11 +235,13 @@ The icons are available in different sizes. Default size is medium (24px). ## Properties -| Property | Attribute | Description | Type | Default | -| --------- | --------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ----------- | -| `filled` | `filled` | If set to true the default material outlined icons are not used. | `boolean` | `false` | -| `library` | `library` | Icon library to use when no `library` prop is provided. By default, all `` instances fall back to the globally configured default library (via `setDefaultIconLibrary()` / `getDefaultIconLibrary()`), which is `"material-icons"` unless changed at runtime. This allows teams to switch the default across an entire project without having to set the `library` prop on every `` instance. Icon library for this instance. Overrides the global default. - "material-icons" → Material Icons - "material-symbols" → Material Symbols | `"material-icons" \| "material-symbols" \| undefined` | `undefined` | -| `size` | `size` | The icon's size. | `"inherit" \| "large" \| "medium" \| "small" \| "xLarge" \| "xSmall" \| "xxLarge" \| "xxxLarge"` | `'inherit'` | +| Property | Attribute | Description | Type | Default | +| ----------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------ | ----------- | +| `filled` | `filled` | If set to true the default material outlined icons are not used. | `boolean` | `false` | +| `inlineSvg` | `inline-svg` | If the src is a svg, either render or - is better for styling (e.g. currentColor), but slower at rendering. - is better for HTTP caching, but you cannot style the internal SVG elements. | `boolean` | `false` | +| `library` | `library` | Icon library for this instance. Overrides the global default. - "material-icons" → Material Icons - "material-symbols" → Material Symbols | `"material-icons" \| "material-symbols" \| undefined` | `undefined` | +| `size` | `size` | The icon's size. | `"inherit" \| "large" \| "medium" \| "small" \| "xLarge" \| "xSmall" \| "xxLarge" \| "xxxLarge"` | `'inherit'` | +| `src` | `src` | Name of the icon, path to SVG file or a data image | `string \| undefined` | `undefined` | ## Slots @@ -221,6 +251,13 @@ The icons are available in different sizes. Default size is medium (24px). | | Used to define the material icon name. | +## Shadow Parts + +| Part | Description | +| ------- | ----------- | +| `"svg"` | | + + ## Dependencies ### Used by diff --git a/docs/examples/docs-demo-six-icon-0.vue b/docs/examples/docs-demo-six-icon-0.vue index fed89240d..e2cff27f2 100644 --- a/docs/examples/docs-demo-six-icon-0.vue +++ b/docs/examples/docs-demo-six-icon-0.vue @@ -1,14 +1,14 @@ + \ No newline at end of file diff --git a/docs/examples/docs-demo-six-icon-13.vue b/docs/examples/docs-demo-six-icon-13.vue new file mode 100644 index 000000000..b7e2db3bf --- /dev/null +++ b/docs/examples/docs-demo-six-icon-13.vue @@ -0,0 +1,21 @@ + + + \ No newline at end of file diff --git a/docs/examples/docs-demo-six-icon-2.vue b/docs/examples/docs-demo-six-icon-2.vue index bb71890dc..4b7ae1357 100644 --- a/docs/examples/docs-demo-six-icon-2.vue +++ b/docs/examples/docs-demo-six-icon-2.vue @@ -1,14 +1,14 @@ + + +

Component Screenshot Report

+

Found ${components.length} components with ${states.length} unique states

+ + + + ${headerCells} + +${rows} +
TODO
+ + +`; +} + +const { components, states } = getComponentScreenshots(); +const html = generateHTML(components, states); + +if (!fs.existsSync(OUTPUT_DIR)) { + fs.mkdirSync(OUTPUT_DIR, { recursive: true }); +} +fs.writeFileSync(OUTPUT_FILE, html); + +console.log(`Generated ${OUTPUT_FILE}`); +console.log(`Found ${components.length} components with ${states.length} unique states`); +console.log(`States: ${states.join(', ')}`); diff --git a/libraries/ui-library/src/assets/TRADEMARKS.md b/libraries/ui-library/src/assets/TRADEMARKS.md index 1c9e054cb..eeb6d1cf1 100644 --- a/libraries/ui-library/src/assets/TRADEMARKS.md +++ b/libraries/ui-library/src/assets/TRADEMARKS.md @@ -1,7 +1,8 @@ # Trademarks -This project may contain trademarks or logos for projects, products, or services. Authorized use of SIX Group AG and BME Exchange S.A -trademarks or logos is subject to and must follow +This project may contain trademarks or logos for projects, products, or services. Authorized use of +SIX Group AG and BME Exchange S.A trademarks or logos is subject to and must follow [SIX Group's Guidlines](https://www.six-group.com/dam/download/media/guidelines/SIX-guidelines-product-referencing.pdf). -Use of SIX Group BME Exchange S.A or trademarks or logos in modified versions of this project must not cause confusion or -imply SIX Group or BME Exchange S.A sponsorship. Any use of third-party trademarks or logos are subject to those third-party'as policies. +Use of SIX Group BME Exchange S.A or trademarks or logos in modified versions of this project must +not cause confusion or imply SIX Group or BME Exchange S.A sponsorship. Any use of third-party +trademarks or logos are subject to those third-party'as policies. diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts new file mode 100644 index 000000000..b299b8309 --- /dev/null +++ b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts @@ -0,0 +1,118 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-alert', () => { + test('should show and hide via open prop', async ({ page }) => { + await page.setContent('Alert message'); + const alert = page.locator('six-alert'); + + await expect(page.getByRole('alert')).toBeHidden(); + + // Show alert + await alert.evaluate((el: HTMLElement) => el.setAttribute('open', '')); + await expect(page.getByRole('alert')).toBeVisible(); + + // Hide alert + await alert.evaluate((el: HTMLElement) => el.removeAttribute('open')); + await expect(page.getByRole('alert')).toBeHidden(); + }); + + test('should close when close button is clicked', async ({ page }) => { + await page.setContent('Closable alert'); + const alert = page.locator('six-alert'); + + await alert.getByRole('button').click(); + await expect(alert.getByRole('alert')).not.toBeVisible(); + }); + + test('should emit events (show, after-show, hide, after-hide)', async ({ page }) => { + await page.setContent( + 'Alert message', + // filter clears onAfterHide event, which is not fired when animations are disabled + { disableAnimations: false } + ); + + const showSpy = await page.spyOnEvent('six-alert-show'); + const afterShowSpy = await page.spyOnEvent('six-alert-after-show'); + const hideSpy = await page.spyOnEvent('six-alert-hide'); + const afterHideSpy = await page.spyOnEvent('six-alert-after-hide'); + + const alert = page.locator('six-alert'); + const alertBase = page.locator('six-alert [part="base"]'); + + // Show alert + await alert.evaluate((el: HTMLElement) => el.setAttribute('open', '')); + expect(showSpy).toHaveReceivedEvent(); + + // Wait for show transition to complete (opacity becomes 1) + await expect(alertBase).toHaveCSS('opacity', '1'); + await expect.poll(() => afterShowSpy.length).toBe(1); + + // Hide alert + await alert.evaluate((el: HTMLElement) => el.removeAttribute('open')); + expect(hideSpy).toHaveReceivedEvent(); + + // Wait for hide transition to complete (opacity becomes 0) + await expect(alertBase).toHaveCSS('opacity', '0'); + await expect.poll(() => afterHideSpy.length).toBe(1); + }); +}); + +test.describe('six-alert screenshots', () => { + const types = ['primary', 'success', 'info', 'warning', 'danger']; + + types.forEach((type) => { + test(`should match screenshot for ${type} alert`, async ({ page }) => { + await page.setContent(`This is a ${type} alert`); + // Wait for transition to complete (opacity becomes 1) + const alertBase = page.getByRole('alert'); + await expect(alertBase).toHaveCSS('opacity', '1'); + await expect(alertBase).toHaveScreenshot(`alert-${type}.png`); + }); + }); + + types.forEach((type) => { + test(`should match screenshot for closable ${type} alert`, async ({ page }) => { + await page.setContent(`This is a closable ${type} alert`); + // Wait for transition to complete (opacity becomes 1) + const alertBase = page.getByRole('alert'); + await expect(alertBase).toHaveCSS('opacity', '1'); + await expect(alertBase).toHaveScreenshot(`alert-${type}-closable.png`); + }); + }); +}); + +test.describe('six-alert accessibility', () => { + test('should have correct ARIA attributes', async ({ page }) => { + await page.setContent('Alert message'); + + const alertBase = page.getByRole('alert'); + await expect(alertBase).toHaveRole('alert'); + await expect(alertBase).toHaveAttribute('aria-live', 'assertive'); + await expect(alertBase).toHaveAttribute('aria-atomic', 'true'); + }); + + test('should have aria-hidden="true" when closed', async ({ page }) => { + await page.setContent('Message'); + + await expect(page.locator('[part="base"]')).toHaveAttribute('aria-hidden', 'true'); + }); + + test('should have aria-hidden="false" when open', async ({ page }) => { + await page.setContent('Message'); + + await expect(page.locator('[part="base"]')).toHaveAttribute('aria-hidden', 'false'); + }); + + const types = ['primary', 'success', 'info', 'warning', 'danger']; + + types.forEach((type) => { + test(`should have no accessibility violations for ${type} alert`, async ({ page }) => { + await page.setContent(`This is a ${type} alert`); + + const results = await new AxeBuilder({ page }).include('six-alert').analyze(); + expect(results.violations).toEqual([]); + }); + }); +}); diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-danger-closable.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-danger-closable.png new file mode 100644 index 0000000000000000000000000000000000000000..ccf75bfc17f80b18002d5a1ab39a5d80a692a68d GIT binary patch literal 2465 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-info-closable.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-info-closable.png new file mode 100644 index 0000000000000000000000000000000000000000..90c4e131901694dfe6ab7c233f2554177174a9b6 GIT binary patch literal 2278 zcmcImcRbYpA3u91vd-QY_p?HrL*Z~nhlr#TcXc9XhI83`Wv2LLkE|#%B9g3}d0#8@ z>}=mVSy8fnpZ@>-`~Bzrcs-tv*BHOCBLU`NQMpcM?+Ru z5U-3>3=a}uFp*T_H57^@Az57+|6TC;LpG_ipDQaXN#c4sT3TAEbl$EJS^Vne16k^2 zo|O0YoKyAgqt*A?{u!@W524OA2bEf6pe%pL{$&Fe6wVkCIA$t7SPf-H<>>@0wnye@ zc~6wv6kk5qa;qJRRn2uDef_}AO#&WR8Ge4o54GnE{yARZfbDtK5_b9gKW&Mm|W`*;70y}=eh79P!h^c{VD1BO%5^IPdHHccTk`mYbZb85WMgtY4x%7q7g zU+ziaQ&4hhNUHy=Ub4SFq&|Y5t~ax=fI3v&jqBK&X;g9kj0`2!*xK5XGgKt{niG3& zmYSoR1GjdUduGFcWGdQ~Ukp^8TBK4Zs{wrVJt}$;tQ~ej=y@gvKI%(@0IFu2gS_XL zbdNTZMYMWv9Dbjhsd4R8Mt?$lN;I@|nBuvT3KVm$$$$OJUmPvO19K!&+kcHy?ivFU zh5A0<(ky4r$I9iW?lr3ozcyWqWr4s5hcs|-ce;`jCU3vHfyanrd9fo}mjrn2SmQz$ zfLJ^M5~mbi`0;)pZ&ZU-fxelU8Kc!yB0)>ula(8hr`q|8MyW%Id?6g|ts+!vpWgK8 zxXAFubG85FSRYVYxbG6_YpDg$LSlbn?tIEU+R;ZQ!-+pOW}EyMJ_j$0a(V-qtg?T1 zhcgy6aCUl(#*Zj?d4vVz&D>)+>^H?0Z{ zX3@PML_9+iEZEKaY{&CT+8WksUA6`KRzO&ZMBOw=6R6MW2QdHVYxnroPT0#C%< zj=jNNq|Ds%8YwcJ-A?v)fR9M>I=wy~_nL9Sxtwc7teUU(1Mrf@=jD2{if2 zAiaA2_sqf zNjvW~In_cMFk`KuPn_Z-vZJJ>NuUw@Ov4sX(-+K3q|kdq#cEmf!Hi!Fq)pf_?I|-o zLwh0i_D+ucg(V_il|~hd8ks;WGcWc%kxdzkh+JM9$XRF(QXx$Ojo0V3gLKCpiL|fW zLwr2GDnKWpjk6z-+z#TAHnBGtUDY?N5_ogSCzpM_X|YlSW9r$}OG#vleEoH$FKrW= zryok3tU~|LcaP$m&U_Hk8OwzbRFF$RNstu67uv$t%j%x+E&^swIOhe|mE*>1=I8X% z6>Q~wk_a#s>@j=DJYyh{NR0fpm9N#bU|f@&vFRsKNY+T;HTUvT9tTs?(4?A-A@a2} z(XMlmsS;G)$$dAsQCTXbu8b_`F`G<56=i)Q9(cg^IT*;+18M=qa4K3e*8FCLWDV`+z%YmG!pK7OIVNW<=h3+oKZR|H{Ech1;WA$aT^p~1u&Q&bmXX8eM#@*Xhi zE)25KAo-uQTvMJHUrFIkV$e^*=2tlnIdU~Zw61VXl=I2$$PS;53Ww@DT?Qr1tPQ)` z=y}sP+k9+>m31bk6@AX{kf?e|ig^X~DTA|LY9q~5E|3IMm$s)&VW7W(F(Gw6mom!5 zb8L5SO@CNM6F(^^C@@+9V=<-Z=M0gN!7g_v|M^5uN*9*85{>)>I43F{ji`D1|Giot z$%fR?M{R!>fAesn3T^SeJzW5;*zhekI!oJE+R5%m)0WVhj>dH5k|YhyC_>0p-j=bn zu#g$TEIgNc+?@nYzYIhC*0(9ymgtINTzY#sT+8|~?RIHVp$hdxoLJv2^h)@p;w?p= z{*7ZlvDf;;81AM)z-9LU7C1Y#<$8)nEalwKyWm?~nG_7xL^#)g(9khLfSnYXl9?OA zNESs}B|8>;EiA;|-o9k}5>tQU*x1-Wj+T>J1O#%1k&TIi!(gyFw;}l#DP!e0u6&&U z4;&7+gY#08{M* d!Tje;VE|3Als!t+V6z4gkeM+GQDx{7^*`u=EF}N{ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-info.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-info.png new file mode 100644 index 0000000000000000000000000000000000000000..c6d30f59281b87b6a1181cc85740cc846897a9eb GIT binary patch literal 1623 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-primary.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-primary.png new file mode 100644 index 0000000000000000000000000000000000000000..b076421605c1b0252fa87c6c371b9c4ce2a10f20 GIT binary patch literal 1873 zcmb_d`8V5%7XR9p5pPUU!mE0nwknodQZ*V%EeRE&2(4P4de%@h(#k1qRmVE!yb7I& zt)W5_%Lq}LQ9C8JB8Z|=dq_#7b}#4s3-A4M&pn@W&-vWt^Eo#ig>(Wbf)xP(03qP^ z9snTmT%6yKmlVfS4vW_SKu#86Z|nJx#N(jDa$R(Kwh$(wh68YXREO(Fm zU@cZwZX??dMIA z)3>6Yo=}np%fy0Q= zf<}x{ea#L=7W?z#rw^l?3&QfP)?CU&dSON8HN{)6~x9k4K=#t8>ObE ziWUp4aL&%oMt7Ub_z5e+x(lnbOnk+awm_7enwlEoCiRJMZ;R^$j&zLM7p`{v`nTkh z<0J8iE_nuzwiZ&qCxwSsGM|mVMMo;-Xj^)G*%q^>74F7RgZ93CxdDQMf}z&9O}|cM zi|Cn$BA##8Ft;ZMO}o8we1zwd?~1oSRbPQ!pSVJ1)^oV71y{mgpm|zaq*M{sU2;J}f&_1iO{mM4`Y9<&-pjY_YJ(KB)@Iu}MCrwoxR@CL2tdei4Z0T9ayI-#Ir<<=`lSw^_~dR%(E4(3YYwdnb?i# z29Ymty38VLe`h`PC7iD6Apxa6?Y>`Z{W#A!pjxr+<80mOENd-sbAIufpg7k~^QRe; zjxPH664|4J@92R?I+e>|h@T%Hh#KTD)AYLhub&Gq7{}J=(&Jt4se*{So20Am0%}#2 zzA^4_Zm_^2hQ6J+vqs3ag9Wj42)2K>N-*Erl)3Mm*a64Bo&F$>;Y_eS9kBYJ#gywhp?ftOE2PjSda$&@8DZ?gOM`M6{@UGHXY=P;Uq(|cSgp2X&^ZG9H5R+I;Lu`@ z-~QT1fS~CfW|tODz&Baau9kn|`2HCD&e}L6y_$F0tGv;&TrN)Rsj!M$OKVBN*MiQb zm|io}H#TO!$W5q(Kp@cB3vNZ)w2$11I>lf1J-vbm&&{to<(#3>C~0@YAJaqn)mc^M zV_uabA`(L7gdJGfw$PP%(Uq9{0BsgJICf$Ba8H2wNU3wistiFNte{x+>PCJPY_Va7 z)MoD}<+t5nQX)AuMcrA)Cdm`Z2>Vh!o!&wrfa2mFCYJvy-}`IE}2q?TpM!(6^rc zLsQyuW!hVhXnG%I;P8}VTi`Ho-7&-qjn)Es>8%m~aB_n89#R%R#{YgqDIhcFv-%qq R`86>DARLhP)pmi;{sSK9lfVD~ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-success-closable.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-success-closable.png new file mode 100644 index 0000000000000000000000000000000000000000..ca5893e3f739b92469a969938e0d91182c9a80ce GIT binary patch literal 2251 zcmcIm`#aNpA7AMfGO>|kj>AFiv<4>o^O$f`~1l z5S8k1X_mW=8$zrMpZ7E^-&_#-w`>yM$yle%WIAe_)Y(73mLY8olOw_FqRvnp3U{Q^1urhrliLbkFbf$d#w>h!om#;gEVIYqq%_A~5ed@`!_}UwYEOF6 z39`jC2fbD8H($_<4GxZ*?WA+12 zjW@oyn7|!=e(w2&x{%M0j4N3$eBP-Zi|-lA|1&o7$HxN|nNEs6;eyRIfKO>@sh_`p z%)yRvh>@CXe0~ip+lWv-$QmIO&SEGsipRVOjr8(wdDB==nJ_=}& zfA14!&KprrR!barf@a>!R8rVdMc_+LWf>m4P#YeCD?s&rehXfWc<&mxJU=u@l5826 zra*OLmcL!&&rbl?zzT=ewY53C(U(INXD!1gj{`=o|DNNfBw7XB%{k!wug0GP^Aoi4 zlEuw60y}N)bHncarJ^~lD8kpCskda}T$LxiCF1)Bpvy^IHDvVhsSW;u{`o534^k>e zYw(;d+r$@{tLel6V$tJArzO++^DO0q2tPiSn+6Tn(0uC)WsfNMwK7~ALicaXG+*cD zBZ+u`NrGVW=hFQ2&u;@y$x{3E3=EL*o2zX}djO%zu_o@@fq0t?Zc@bS@7}ALX1uu6 zE$>#{=Kl=TFg0l9Q#wE!@F^B$Rnn1u=ceN}eh*c9s)4XBRVW7U}) zO>n$W@H#;#$kf8F!-~W#lJ}~iycuF$rz!2J@=yoq35C}i(KGsl*}m)DmFKH>TU=IR*{~>FVocFGgxavZPhsgbsQW zj0WbNov-v{8vz~xiu($V6)>>GG`DCWbf<`DW)CJ<>sb8eWOa^+@zM(SyucMoI$IC zlTQI#(BOE=78rWY)zL`0v{^jZd*~7^5>d3vtjLg7PrtE~hVCeXG}HVvBb}5>{^|}s zT?$ol&^>~%vtXFr%g^u2prFew&j!HoCq?evl$@KOeKJ)y>S4ET8UgB~IbCv*H*mHT zIH7P~tVym#QdqKR*m$GNm1?5N2-3-)2`Q^FS^8dh{(pg{GXyp$G5@6g4Ry$#{)`iG z%-olMWPC8Tc9_(9=#Ezl4Tm9&y{qtyw`-Oo4hw$v$L~v^l!gzVDj_c&-=9hCFf|gM^xE76t;r<^M0)N{s6kk zoqc^eeQa6CXr9TH46R!XE+6edKPGWY*27@>cS~FNte&M(2JR{_@;Dz!hxDA+A*+)p9`%-gv*K<(aP^-eY{7?KB4s+&7_iE+-7#U zE_nQT=HuiB-&}Gu^wvqKh_rrN*xhpHvacKtaVsDGDz3Y$Ypgyb2MR)RXHtPJ`h8}0 z_K<5$;_)wB*#b|Cu@=+6tMJbk z1&3@f7|ix=fB1mS_Qr~7-0KwrKM|pDqc5)j0HWJ}5fPBngAM}~a(W+70oh@2=qhWk GTmJ@yWI#Xw literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-success.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-success.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e5244decf58dc7240fd4552ea3f12e91f1d90c GIT binary patch literal 1609 zcmcIl`#aMM82`FOJdT*8I4H7m$ucFkLN2Y`9=nN{j-=ccCdIKrDIt#y%{{_gTkdyC zA!2mM#G1@yHksSX+|N2s=Px+V`Q?4y=Y8J$=e@)^IoL`|9+CtAKpJ+z${7HJ9timJ z62bxsvYs&o0I?mIl?CEX*0*t(pS+u5*YZU>Cy+fte#*34_6Xt1n=_M^?nX08q{N1% zGyb?KOEC+JuxPdDCOA(0*b$~qw4`q^%u-H2`7Wn#H8Svk!Qm1Pj=&wK@OO1HIGiC? zfpHGmv9()cd)x8)7xPLHV40Yll};jNumJNb#~;g8!zI*#pdz)4H?Ua8OP4|bHN0?? zIY9*2v(E;wQ%e9y=88g)D2TA9@Kw>*q8$?V_dbvXKmsGp|E3_9O==8VWY8!WGmLLQ z!0*b+xFgV#u6xlCRh^~H3~uinvopTGzu(JYc6xf6#X_S{CopaFRd+)ygI?=L%RB!l zOTw;nIajSuT*)RZEDVjNoONnwq{oyMg@=e874hEu&T5AD-;jrk}=6 zwDrG#?P&aezceUq?29~ZILh-th2K-C)8q5^&yab zzC#QKS7nZ2o8%fAB+XKS6(deTP3tDx1&VUJ*#r$9FCddCn0Aj;PeZ9;kMx-^=LnBH zB8MYbOT4R_ri2yec+c; zH1as6HN19~6(u5WY4Qi?cJLNIsNyU&+l1V#5`bSEtyJfwZEbBehb`t9g>>y@%(%CP zBSGV<(>+9RZDFAU-H4)k9tj=zIciL!d=~jxW@cIF$U~_E^36U2IiY};oB;@tbc<=L zog5n*o0g`q@V%g@$f3IOP)b@FH63be!i3LRmF;h(Rr@SZ=5@y`WKyTM9ZKseBI&+`b@yQ pWm^gWc6Y0+aWaC3u;=F|5CKdLjW+OT*qA^9z^omtURrua{|z1I1783D literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-warning-closable.png b/libraries/ui-library/src/components/six-alert/six-alert.e2e.ts-snapshots/alert-warning-closable.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbb482901448d8f3bafe8de8a75aedb6fd15205 GIT binary patch literal 2530 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 Hay$7SDG`nZ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-alert/test/six-alert.spec.tsx b/libraries/ui-library/src/components/six-alert/test/six-alert.spec.tsx deleted file mode 100644 index 816e45ed8..000000000 --- a/libraries/ui-library/src/components/six-alert/test/six-alert.spec.tsx +++ /dev/null @@ -1,25 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixAlert } from '../six-alert'; - -describe('six-alert', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixAlert], - html: ``, - }); - expect(page.root).toEqualHtml(` - - - - - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts new file mode 100644 index 000000000..eeff3df67 --- /dev/null +++ b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts @@ -0,0 +1,112 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-avatar', () => { + test('should show image when set', async ({ page }) => { + await page.setContent( + '' + ); + + const image = page.locator('six-avatar [part="image"]'); + await expect(image).toBeVisible(); + }); + + test('should fallback to icon when image fails to load', async ({ page }) => { + await page.setContent(''); + + // Wait for the error handler to fire and show the icon + await expect(page.locator('six-avatar [part="icon"]')).toBeVisible(); + }); + + // TODO: Avatar is presentational and should not be focusable. If it is, it needs a visible focus state. + test('should be focusable via tab', async ({ page }) => { + await page.setContent(` + + + + `); + + await page.locator('button').first().focus(); + await page.keyboard.press('Tab'); + + await expect(page.locator('six-avatar [part="base"]')).toBeFocused(); + }); +}); + +test.describe('six-avatar screenshots', () => { + const shapes = ['circle', 'square', 'rounded'] as const; + + test('should match screenshot for default avatar', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('avatar-default.png'); + }); + + test('should match screenshot for avatar with initials', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('avatar-initials.png'); + }); + + shapes.forEach((shape) => { + test(`should match screenshot for ${shape} shape`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`avatar-${shape}.png`); + }); + }); + + test('should match screenshot for avatar with custom icon', async ({ page }) => { + await page.setContent(` + + settings + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('avatar-custom-icon.png'); + }); +}); + +test.describe('six-avatar accessibility', () => { + // TODO: Component uses role="image" which is invalid. Should be role="img". + // See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/img_role + test('should have role attribute', async ({ page }) => { + await page.setContent(''); + + await expect(page.locator('six-avatar [part="base"]')).toHaveAttribute('role', 'image'); + }); + + test('should have aria-label from alt prop', async ({ page }) => { + await page.setContent(''); + + await expect(page.locator('six-avatar [part="base"]')).toHaveAttribute('aria-label', 'User profile picture'); + }); + + // TODO: Component uses role="image" which is invalid ARIA. Should be role="img". + // Disabling aria-roles rule until component is fixed. + test('should have no accessibility violations for default avatar', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-avatar').disableRules(['aria-roles']).analyze(); + expect(results.violations).toEqual([]); + }); + + // TODO: Initials have color contrast issue (white #fff on gray #e5e5e5, ratio 1.25 vs 4.5 required) + test('should have no accessibility violations for avatar with initials', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }) + .include('six-avatar') + .disableRules(['aria-roles', 'color-contrast']) + .analyze(); + expect(results.violations).toEqual([]); + }); + + const shapes = ['circle', 'square', 'rounded'] as const; + + shapes.forEach((shape) => { + test(`should have no accessibility violations for ${shape} avatar`, async ({ page }) => { + await page.setContent(``); + + const results = await new AxeBuilder({ page }).include('six-avatar').disableRules(['aria-roles']).analyze(); + expect(results.violations).toEqual([]); + }); + }); +}); diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-circle.png b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..e845bffc124afeb16d013953a386faa2bab1200a GIT binary patch literal 941 zcmV;e15*5nP)=djpvH@&X?q%+DJK7SVdWtEa@FqL4GhlbvjKoE z7#INP2m%X0XAoEbI)lIh&=~|4fX)aBtUS-NEGvrQbUJ-}eDr#~s5BT1k|c@a*Z{x{ z^!$%C=$qT^cDLKPFHwG_X*!$D^n(F__V@UwD0e zJsywd&uMwMSS)C@0JP#tU};dbTrTx#LTRw|@bI8d0|3oLj{j+AUgko_vY}fR$yJ(C3h+#^>Xb zX6=`&s)eB&CrAMVvvgQKheh=r&DxL0Qd$Dvsk}soELTs<1lWkY$?81M>DRg&l?Cuk)IQT)>pm^iIupUEkbp zx7s>%U!o;snx-1DGqeKGu3o@fA@V%WvaBeIQ%Myx?NUpnUBx6x;y5+{a04NM1pxm< zYbUJ$;MNE%0G&Z#0q6_@3qWTOSO7ZX7XSbN|Nj9!&-VZT00v1!K~w_(8=jRKH>0U9 P00000NkvXXu0mjfD{HZK literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-custom-icon.png b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-custom-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3ebfb964e9238c7694f0df3ed18efece7dfcc6e9 GIT binary patch literal 1177 zcmV;K1ZMk*P)_gT_u_4!^85GvHvoUONEj zf`J2ojv%lAbOwP1pfd<80G&Z#0qBe-ft99dk|c}8VzpW=m&;zS*UtH&_>-6;00l=R899X*G z`T6>lwsw%9fr>BZe@cjIIbBSu2*>>^K(b4twwF7__wpLhLWv^bhDs*{=hldpxYbs6X z0H6hbV5x(vD3{E^!GS)XGx^sFnvlj2KpXzG@X2ISZWV8DZ#9@CNt&kW2d$)<&*!!Y zsIOXF*Nxg441z#|4-XHUx9eX0dU0{#0H6_1U@2K=4vm!}OrJN&77%2v&_6s2HNfA^TtANs06{iF+YnJ(5X<*i0G3IR0c2`nu_l?T(>8B`)T(KT(HDNODFpb<}el%EQ;5k-<6wi*lu`de%5Dyh~PTYcA{sw!Qe z%dB(UHWdIg;Hj{N!(rj1yEgmsb5%+l6;?_mRZj}0{2E2o)zy_{nLV%LeIQZAngf7F zJb|S=Dva3M+()BP{yrH6lbS&lR(9B3QI+4NT(iHuuT(Bi4gfWI0?W>+7mBPnj>9nA zeE3;~n9@hfRT{Jy()i}X&xHpGUA7YM0H7)V3;fj0-QV9=->C{q?O|SFsSVUJR`o4+ zcXuqh18B^D4ok68e%C^Qb`lj>imLpptE6_4v;xq^)&x=0SN)$O3hyJWem$w8&EEF_ z0F70>(_KZA9aeDd*pt$fR{&b73K4sOOv~qQ?Bxxl6@d1B{zt0z-i2oWNL9OsQ52C@ z0QREpzp9_jW|PUJetW2p(kd9|7y#^1-N16+$49kwSbd9HNbN9s-;WFcZR`+Oxin3a zBv~vLtBhvQYL`kX?J5RAz#EVO{E{Yt1pt3y=NI?^z+WM-0CWa{1)wtsEC8KBU;*fi re*gdg|Nr?yWeflS00v1!K~w_(>GD@yOLZi;00000NkvXXu0mjf8VxJv literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-default.png b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-default.png new file mode 100644 index 0000000000000000000000000000000000000000..e845bffc124afeb16d013953a386faa2bab1200a GIT binary patch literal 941 zcmV;e15*5nP)=djpvH@&X?q%+DJK7SVdWtEa@FqL4GhlbvjKoE z7#INP2m%X0XAoEbI)lIh&=~|4fX)aBtUS-NEGvrQbUJ-}eDr#~s5BT1k|c@a*Z{x{ z^!$%C=$qT^cDLKPFHwG_X*!$D^n(F__V@UwD0e zJsywd&uMwMSS)C@0JP#tU};dbTrTx#LTRw|@bI8d0|3oLj{j+AUgko_vY}fR$yJ(C3h+#^>Xb zX6=`&s)eB&CrAMVvvgQKheh=r&DxL0Qd$Dvsk}soELTs<1lWkY$?81M>DRg&l?Cuk)IQT)>pm^iIupUEkbp zx7s>%U!o;snx-1DGqeKGu3o@fA@V%WvaBeIQ%Myx?NUpnUBx6x;y5+{a04NM1pxm< zYbUJ$;MNE%0G&Z#0q6_@3qWTOSO7ZX7XSbN|Nj9!&-VZT00v1!K~w_(8=jRKH>0U9 P00000NkvXXu0mjfD{HZK literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-initials.png b/libraries/ui-library/src/components/six-avatar/six-avatar.e2e.ts-snapshots/avatar-initials.png new file mode 100644 index 0000000000000000000000000000000000000000..272a88a94ff6a5cee7937eb74072ec9ba2dc1bff GIT binary patch literal 996 zcmV42UA~*pB)c^kjji}54PMpt`H7;iBM%hZ9ES|>)LdMpQSMJ^|-T3?a+Wup+x4xSG?WH30MLOuur!0ynxF|v12QoL(1km&w%cv+ zV`ns=hBW}tmSgcw$+Fw+>K?ecxfzW{rTS|+ofaG1)%H@;>TozzpVhE;cX#Y^0ML#j zus%LM8XmBTqdfZj{46d`CX?B0X0IsDhQpy!@9pia8hjd@|Ly>2#}Qc0;>e1kNS_KO z)mh4;(yvcXPxi~z)zvar4J-{#U;${y(Zl*(I+ZA=R3a&KY;x7n2>bosy()WDgC>0nFH=vGM0=Kl=imTvl4D9(w^>wOs-hpCrm2do(u_~-EtCK4 zS!reReW%r>#vnUU0sKuv|65g3*@>R$i>fWvT)%Ia{ID}Yb+QZqgyX2N6hqZINS$&` z0~Jz_kB`Mg)m*=~RuxTmna}4cxHL|wgr0YRAI%r;-aps*K5^W&V5^UK3MHxF;4{0nj^53M5S)JT@bWI zQ$f|1mi#m;ECQ?8V5PqM?d`2|$9(gC2mol{2rLy%r7H?78&9R{$|Lovioe>Z;3|Gn zjrQ{LQtgFR2L}L8?h{8}Utb&kPS~1)Z@F9=0BFVC0@sAjT)>5f1@K3>14~_YHK$Ba znmn>Z2%wAF1W`2<@XZlg99%3G1^_y!4J@_N@9*z})I_7vNJDW97J!bL@<>7R@bJ(v zXcT!GgvlU)?oPi*HOsQiX4CG46w~Q+wOWx@0D|y+RsC+a+iti1hr=kO)CFrkf(8K2 zGVp)dgzk*vI7yP`M>K`h3Zq)=G_3%Hbw*$n>=}N?<1x!=1bdFVRu!Wt;sj&>7t$uM z0N}p}w$lm#E{(tf&>I96fZiam0Q3fd1)w+n0RRC1{~$RP;Q#;t21!IgR09A*kE+_| SM6am;0000u@ju$s>y@6@daDJzX3_D(1Yodot^GfJno` z*%e;1P8wD`{$6jEpY?&^YY4xs$AebQ+_h0l+4tous!UAzS^RFQX!-f)#f&EwL^Dhh z&{5z$$aD!x{qWqd>~d!2$3LPsRowHSegY$@y`e;h)RlBQ-TOF7wKE-@WcN=Sb=upwdi< zH8a*evY3Bl|~Y%A9M)$?z@xBhg7+zgAvqf!QahaVc4-A&%mb@%&e z--c->b2fynzPdoD`t8@bmtThH^DstTDmY{%*T3;P&>82aR(-df70M8GxrSeRmg(%X zTnF|)n*7c|%C|{0I^5sif3Mfy6oatVug|5;X8W!Y=62xDQqqkT8jh?u+ z?kNxySR9%5r);+_LwTw5hPe3n`}gmAoBF@i3S9c@??J!i!p7l$?-&%BN%e|#AFbM} z$MC(_c|+2+uH=-AoiTB>2WwMaN2|K6eOMsT9I?cAL&NV~iVu@ju$s>y@6@daDJzX3_D(1Yodot^GfJno` z*%e;1P8wD`{$6jEpY?&^YY4xs$AebQ+_h0l+4tous!UAzS^RFQX!-f)#f&EwL^Dhh z&{5z$$aD!x{qWqd>~d!2$3LPsRowHSegY$@y`e;h)RlBQ-TOF7wKE-@WcN=Sb=upwdi< zH8a*evY3Bl|~Y%A9M)$?z@xBhg7+zgAvqf!QahaVc4-A&%mb@%&e z--c->b2fynzPdoD`t8@bmtThH^DstTDmY{%*T3;P&>82aR(-df70M8GxrSeRmg(%X zTnF|)n*7c|%C|{0I^5sif3Mfy6oatVug|5;X8W!Y=62xDQqqkT8jh?u+ z?kNxySR9%5r);+_LwTw5hPe3n`}gmAoBF@i3S9c@??J!i!p7l$?-&%BN%e|#AFbM} z$MC(_c|+2+uH=-AoiTB>2WwMaN2|K6eOMsT9I?cAL&NV~iV { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixAvatar], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
-
- - - person - - -
-
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts new file mode 100644 index 000000000..43c4738b9 --- /dev/null +++ b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts @@ -0,0 +1,56 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-badge is purely presentational - no behavior to test functionally +// All visual states are covered by screenshot tests + +test.describe('six-badge screenshots', () => { + const types = ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'action'] as const; + + types.forEach((type) => { + test(`should match screenshot for ${type} badge`, async ({ page }) => { + await page.setContent(`Badge`); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`badge-${type}.png`); + }); + }); + + test('should match screenshot for pill badge', async ({ page }) => { + await page.setContent('Pill'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('badge-pill.png'); + }); + + test('should match screenshot for pulse badge', async ({ page }) => { + await page.setContent('Pulse'); + // Pulse is an animation - screenshot captures a frame + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('badge-pulse.png'); + }); +}); + +test.describe('six-badge accessibility', () => { + test('should have role="status"', async ({ page }) => { + await page.setContent('Badge'); + + await expect(page.getByRole('status')).toBeVisible(); + }); + + const types = ['primary', 'secondary', 'success', 'warning', 'danger', 'info', 'action'] as const; + + types.forEach((type) => { + test(`should have no accessibility violations for ${type} badge`, async ({ page }) => { + await page.setContent(`Badge`); + + let builder = new AxeBuilder({ page }).include('six-badge'); + + // TODO: These badge types have color contrast issues + // danger: ratio 4.07, required 4.5:1 + // action: ratio 3.12, required 4.5:1 + if (['danger', 'action'].includes(type)) { + builder = builder.disableRules(['color-contrast']); + } + + const results = await builder.analyze(); + expect(results.violations).toEqual([]); + }); + }); +}); diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-action.png b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-action.png new file mode 100644 index 0000000000000000000000000000000000000000..07721a716ba7c3fcb2ff6166da3e7bfb531e6b03 GIT binary patch literal 1079 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-info.png b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-info.png new file mode 100644 index 0000000000000000000000000000000000000000..c9043c084f6f9362476389899828278186da2149 GIT binary patch literal 1042 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCD{(LZ$$u*(0vQ;Xk9)c}hE&XXbJtsAO`-(* zhxangF=ly|Y$sK}M|(vqNPIX?v~xm=@~eP%OI50am*l8S>`hS&Yw3{KsT;9F=Ypo^ zyPfBLn&eW`$ARTk_@b%Xp-!Qed{{7`k%c8YwbK~OT3JN~_`Sa)V=gmKM%$+OSm9@1h zFHg_F04OLEK6lO>BV*&gfByLS`KhU^=jY{#C@C4QnU|8k2#TU*;w zt5~3!b#-<{0g6gShr15^%5FIN@nfN{Z?8sKNlC}iix&f3U0KCAIXN$0yy!9i?%h~+ z_V%YwQv+Sjq^768fB)Xv%1Td1XMu#c`1C1LmR!v6^Y>?FVlsH!)zfq5=FPy44xf!m z8+Ps9eNm{btt~7(oS%nh$@1m*@7)s<6Pq?=3JWXi%8*s7S8L~d{`j%7qQW66v9`Xx zzeM=x?%mc)M6X43C`mc*Sv1k4u66x-edg|tGaGlQx(M;|^QWhzw6wN9WN7u&AwS8yg+1`(h)OFIkeXppVt<(~aP;u(r~o zqD}kv+l$Re-@9jziHS)Ee^o_=hKtLyzrTL0wp5$18WR&!QeG~eedprq_wVIpWsf@4 z78D39Z1x5QbB5^S$B#EI+_PuT)~%t2KD+hw^b9s$%Gx@kz|`D)aYb2Kn~Su(yu0Ae zu+Y$_PoK70l|9<>_2cTFI*Njv)7Yk2=H=xH3JPXtXV382yY|1~fy~#jg0l_V=Fgbn z5Z~!IW5w}f$CQpvXja?b1Wf9O!sX8j*86?k`0xCK+@%{g7S`6vc3-*_#B;sWYVOBN zyJM7Qs#GsqyUrcbgcP!b=n8%4XP?ijsMp+b}UJJ)Z*&$ x#rPwT#Fl}6@G~&{|DS19s|?K9Y@jU7%n(}9Q2gkQ=xv|~gQu&X%Q~loCIG`X+F$?x literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-pill.png b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-pill.png new file mode 100644 index 0000000000000000000000000000000000000000..0e69133adbf91427625d366ea876c3a4a64f808f GIT binary patch literal 679 zcmV;Y0$BZtP)@SL|ZTTPi*7QP;Ul9;zziNdeC?zF%gBx1#BW-B#{%| zFsbQPyYzE+wsp{p!t{f74orBTUN+lydV8}wyE~PgPDcQM3#0%5M-VIk&LCI-oI$Vv zID=pTa0bBw;0%HVz!?M!fHMdd0B7_MR-{zWYK38_!l2!5_xNNy9+!!+qu1E@1xX44 zSQhL3Xilwq*r?US>7~-?v^OaLz@Dzb(g#-lub)vAiD5}8z08#4Pz!)1ar5p@r*fKF zl}bO3ZD{IG@&o`_Vh)x*6KwxqtEVd~4<9{#vb?;$u~9CU^`2(4c`bM2%kHk;o|~WF z+4=nM#$S36J(K_d8w|lxVc4kGkL`T+{KeP3J-_1LUtGL0clE>OW-^()UC3XaofSRl zDKI^t0DzGhg4L*-XW4HqEZn<$=Totm&0c@Iwx+Kb`u<_X_eDP^^9KM!Fdbnj)%!aa zr>B*Qbg&*QEtN_o(N7d90RSU2T*7O2nQK4zexT0;w?7u&yZKT1qzD!O3rzPM z#A3p9ufx{X_Wu62nVCy(R#$VmtQtH+dO!denITwG$}k8{?l0u?h5Ris#BXpb762Oz zb67Hw5LQ_q5Wx9l2v#yRA*`}KAb|79{AfQE|4}g9Bg9QL* z1jj)DoI$VvID=pTa0bBw;0%HVz!|>*009609C<^q00006Nkl+6QeWCZH~AIg=yy8hZ#k| zs6?Z9zXTQhrg)=jB5I-*Z^)&^QmPhIAcTt&z!H4uF=~{?Rukfz{C{c4(!?g8^@^Ng9_i6W7R>VbiQQ|0AWtIc3Y7K@*~h1>0>W^;3M za#C`Gqd}=uewvWb+uM8Q?AgXfXGBE!^l8&%G8qQ|;Dz63Sd=?guU$`=k{~=iSW?p0 z*Cz>-WM!LDQVeVJ@~HV!`W&aznUH4gkOlKLYFTWy|P6MQlvWp542I=0BbeiHsayxM?#LRaI5z zDk?0OFO5^H`}_N2HIs$r`3o1WS6afu!ztiC;dRukt*bj)cC4aiGmXZGapV75lGWYaO`Ur#S8#AJ zr4`i@i6q(+K-3Hk4W+cAS}K)BMGrL_8it0iSdC`%n2)rc2y-K-&C6H(M++#edU|?jwxYD6r%&8&`Wq4w($UfJqS^n% zvr4r3g`c{Y@&JNg0xpgk@o2VQcd8mSme~akeRkJ~|Ydt5*JR z%FU(bqCYd$>Y;z*QYaMb3i8X%W@^$SDdj5;0KmI|*MH{AubZE{y1J}3n>H?vPNrV& zx3{;qw6?}focK!9YPIoveCoF|7XF$sCp}&0(<>;I%F!y-uy28zp8-Jdu7Tyd4TXhM zbh?0mfcpB|xl5N`tf-hUA=;M<5m*2q7`b~1@7}$4?D%n~^Uh~er|#do$H%k+0C;ZX zCakxH2@3!O__hWBV8$>L768Ee2@@6oFav=F0L(yO0RS@)SOCBb1Qq}=<0$|D0RR7Q kl*hjS000I_L_t&o06FGb>*1pQc>n+a07*qoM6N<$f{kSkssI20 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-pulse.png b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-pulse.png new file mode 100644 index 0000000000000000000000000000000000000000..e14185824705db050e4e741d3090a0cebb37929f GIT binary patch literal 840 zcmV-O1GoH%P)XW>^5E zL0|!phFaMNGc&Ua0PHniXIM{aYgbmB0h)lA=;)&cLu6#+Z;F#rQX1>))6!BE0N6Xe z&aj?7dp{xQ#sHiX`C4XpdR{-Ge@?%Mum6=&ycD>JRPE9@D)ZDz{bXM2gwpxE4 zDZYDO*VWyAl!L|IdFi`(rMJ!@-gt!-`hA3SVqYFb@gRRF+eyV=7E*Xv!b z?@p)lW@V+-YV&l~H`JTWJ)6sV`})on7A`I>infTS_4RepxKL7Z=k7iGg56YIV=OLK z0KjK{oDxodn-(je*!kjO zv9z3=oQ#T!QUJgQe$22sJG;bA*7CBWp|0*^PR@??X9^0^)6+9Dv(6P7hlYkl&(zdc z@r+MM2#+`{(n_>v=jIdu@QoictRkba$XNL6Ri#pir+dTgd389Jx74fE>e|PTYN}1Q zDl2pI^ZR>ybh==TMl(4v9vl>;0Dzx%|2wRMp`kjRZg6l=vxyfm8}4P&s5w0=F6|k&z~$7ZJ;(bHpc6> z;$+Zb8BwcM27_U9|L5`Xu&^+3+URu@m!AQ6^{0Wg9|$Y}UUB&ufHVj!0Ma0^07%2j z9u@%npO|3*kOqMTKpF%V0BI0d0Hi@+0g%QI00030|7A61w*UYD21!IgR09C^IrEtR SkW~Tz0000Tm&{yU66*$pO4X-P_WU~2f$!_Ozh!>i@7?6zk z{}dF)#>d}(_3G8}l&c1Nr!kIH?>g(%& z{`}e9-F@Q3iK?oq`}XZ?>NwHxQc|oaJvEgzQh9%0Pme;$o;`cAva%**Ff%h}h>45K z%gaxnHqFe`RPo{yuRmWteG;0#b?esf@bJ>o(jA_zu19a)l$?}TQX;Z_*6i6px3c-L zT=Q2K@$~crdTrCqd-wFZXUv#!?wp@Uc6K&5H#f(c7cX9H-@bjr27{Y1F)=o_w!Ix4 z6}7dz{QU04KqW;*LJwQ-h9xH}&-(rQcVS^+Q^$+?n7N6L_4WJLz4lO=^Y7E=&l@*7 z2|qtLXO4`_(^aci%gf1KaMWUDVNqBcko;U!US5Cp!Gi}qw6EN|cW+Z?v!dO^j9JT0 zavaX{77&y)5R4F-#4&kIcX#*Ry?dWNeR}HDscYA+y?*`r{_0O+= z|N71!IB?+h?c3{@>1+@ZUblR?`d|K@?JR;5880`s21kd7PoFkckaNy8Q-sL-cdwUlyRLq$LbWl@M)1^z73KsmnCDYo{lJKQZ(nc(KUti;{ zoNwR0UAumLai`;M8-qu;4jy#eeRrLus=7M2l2Y<5^Z3uDz+l?DH+O54;mlvV>x+w< z)0;XwJO7)=^0lAk4F0ximDbJUvIgbTA6F_VDbKon&-=#3i@@a2IQPoCcY4bbtgWp% zIXQvJBK6(x=tGkyPhPoF(`z=Iq(*OVf literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-success.png b/libraries/ui-library/src/components/six-badge/six-badge.e2e.ts-snapshots/badge-success.png new file mode 100644 index 0000000000000000000000000000000000000000..3dac565e10102c86d43b025ffeae2f4eb1573210 GIT binary patch literal 1079 zcmZ{jeK6a10EfTWd2MXoQkl^#Dzl>FEL?{w`+1$$FxE?kdap$eC-st=Egfa4s~T~k z-YboWB;+tj5bLZpX;c|ygnHQ`LZd^ygQiD2-k{KR7!Gi%uq^UG=!+Cnieo!bk-x&J;~vD0!f~6C<1V zOyaLnkie0-jexI*^-UmNM6idfJvL`CKGhPkhwaPIl6`M%v}nNAA2H2KVHC&fII#j` z3zPUlLYux&=!%sFcXJ=w^9nTuxX`ic+@wF%WBj4JH|!8VtgX;zA0J!E{fuHm$eN{r zmsl0>}h7Sd4NVo*Dj*_KEQq$~Gt z&SR3_RybMHJD2*`1I+WNzW|WYVauB#gip~bKVck9sw$T1`ro5Y857l%yax`>UUFv# zigIehnS_U1+vKKDqGllR8r0HM>k;#`7|O=`CTNL$6*5z->1bc7 zO~ac=cgTz>)C72|Kia^>-k0w$cqi<|SB*D^qV{5{V|Hm2$pryy5Gg%dF^BTAG?Pq( z!-B)^aKQ39oLrM-vmU(y1y;ghlP=A^YUcb}*ZY}c(P)&HSjd1nKE5Fh*bL#?Hu2`| zUnxu*sytnBqSfXCPbcjy7Lxwy?U?BB=^T>A1*rTBY7jJjc-l}m5IAu z?Lp! zzMK54(29L?1|tCgjuahW;z?d=d?P%~#{Q(&t}et2H{0VTK+7|y8XcrRTWAXR=EJ+X ztmzDH&u>S&ywE{o rh0FgZs_@h5HJW*c^Q2SI{ik~!02L>0Z;3-)PYnq23xhbm36#G95(V!rW{pC~NIj`(_($>niK+z31^cCX_PoG@(#-*#AceCr|E8 zzWsU5liVaiL;?W71`z=OU_ z@xEug?VIGTZAeA{ST2>}acxKZQ)fw&I5rU6|Gamo(-!~$D=Uk}r>;irtao_P_ND)J zkKTQUDV~|s-QR2Oyb^J>xmr4o>AZq~j`ZunaZ$HHI*NoaMW2g5=*bznX}uc$jSBNb zZI!d&(N_a{WSZ6%$}I`CDw=8I1^`!}taoahJN?77u`-=3hx_z`CtOE7(dO0FIL$lF z3+{f|ADPx$6Y9VRG%}U`fxw4b{pmU42y1!QpE)P)xkc4hi9K)n6Mu+J)v}{6==dgh z<&mfW0JwxK0_)ii1HSPhRw7<_D1G9iccmBCmdZCiGtd5bRv#av_GY)DM0q~ly2ncu zPYhAV-pINlb-|^`n}y!F$s+rxmZGu8ftM zRN{Ez``enm#kUwu>UfzW006>dy(Q!%y0>0*ey4w#Af7<&Yx7@hid-KPNBilycGF>T zF!3gldn-;We&}m+R^C-|{``{SKO_6x93dqgJrK>!L01I;|1Z-|2^Vo&^w#Hr>ri>I zJatAF9cm+Y>J)V2CsGnqe=6!h54d; zf5^}s*AfCiN~VEzDRY0((73LNDV|I%t2cNR zF?~&*ELs!3F+^YiK+1BzfW9VI)>eg#$*<0nd|O(1t;^q7DWw!2^%CzZ7rz+6F3L3k zfKV%U#ms1udQQ^V? { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixBadge], - html: ``, - }); - expect(page.root).toEqualHtml(` - - - - - - - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-breadcrumbs-item/test/six-breadcrumbs-item.spec.tsx b/libraries/ui-library/src/components/six-breadcrumbs-item/test/six-breadcrumbs-item.spec.tsx deleted file mode 100644 index cb5131762..000000000 --- a/libraries/ui-library/src/components/six-breadcrumbs-item/test/six-breadcrumbs-item.spec.tsx +++ /dev/null @@ -1,43 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixBreadcrumbsItem } from '../six-breadcrumbs-item'; - -describe('six-breadcrumbs-item', () => { - it('renders as link when href is provided', async () => { - const page = await newSpecPage({ - components: [SixBreadcrumbsItem], - html: `Link`, - }); - - const btn = page.root!.shadowRoot!.querySelector('six-button')!; - expect(btn.getAttribute('href')).toBe('https://example.com'); - expect(btn.getAttribute('target')).toBe('_blank'); - }); - - it('reflects disabled attribute', async () => { - const page = await newSpecPage({ - components: [SixBreadcrumbsItem], - html: `Readonly`, - }); - - expect(page.root!.hasAttribute('read-only')).toBe(true); - }); - - it('renders and the inner six-button responds to click (no six-click emitted)', async () => { - const page = await newSpecPage({ - components: [SixBreadcrumbsItem], - html: `Click me`, - }); - - const sixButton = page.root!.shadowRoot!.querySelector('six-button'); - expect(sixButton).not.toBeNull(); - - const spy = jest.fn(); - page.root!.addEventListener('six-click', spy); - - // Dispatch the click directly on the button - sixButton?.dispatchEvent(new Event('click', { bubbles: true, composed: true })); - await page.waitForChanges(); - - expect(spy).toHaveBeenCalledTimes(0); // ✅ because component doesn't emit it - }); -}); diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts new file mode 100644 index 000000000..6c5a03be4 --- /dev/null +++ b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts @@ -0,0 +1,225 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-breadcrumbs uses six-button with type="link" which has color contrast 3.12:1, +// doesn't meet WCAG 2 AA (4.5:1) + +test.describe('six-breadcrumbs', () => { + test('should render breadcrumb items', async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + + await expect(page.locator('six-breadcrumbs-item')).toHaveCount(3); + await expect(page.locator('six-breadcrumbs-item').first()).toContainText('Home'); + await expect(page.locator('six-breadcrumbs-item').last()).toContainText('Current'); + }); + + test('should add default separator between items', async ({ page }) => { + await page.setContent(` + + Home + Page + + `); + + // Check separator exists on first item + const separator = page.locator('six-breadcrumbs-item').first().locator('[slot="separator"]'); + await expect(separator).toBeVisible(); + await expect(separator).toContainText('/'); + }); + + test('should use custom separator icon', async ({ page }) => { + await page.setContent(` + + Home + Page + + `); + + // Check that six-icon is used as separator (check inside the item's separator slot) + const firstItem = page.locator('six-breadcrumbs-item').first(); + const separator = firstItem.locator('six-icon[slot="separator"]'); + await expect(separator).toContainText('arrow_forward'); + }); + + test('should use custom separator from slot', async ({ page }) => { + await page.setContent(` + + chevron_right + Home + Page + + `); + + // Check that custom icon is cloned as separator + const firstItem = page.locator('six-breadcrumbs-item').first(); + const separator = firstItem.locator('six-icon[slot="separator"]'); + await expect(separator).toContainText('chevron_right'); + }); + + test('should render item as link when href is set', async ({ page }) => { + await page.setContent(` + + Home + Current + + `); + + // Find the link inside the first breadcrumb item + const item = page.locator('six-breadcrumbs-item[href="/home"]'); + const link = item.getByRole('link'); + await expect(link).toHaveAttribute('href', '/home'); + }); + + test('should not be clickable when readonly', async ({ page }) => { + await page.setContent(` + + Home + Current + + `); + + const button = page.locator('six-breadcrumbs-item[read-only] six-button'); + // When readonly, href should not be passed to button + await expect(button).not.toHaveAttribute('href'); + // Should have negative tabindex + await expect(button).toHaveAttribute('tabindex', '-1'); + }); + + test('should render prefix and suffix slots', async ({ page }) => { + await page.setContent(` + + + house + Home + star + + Current + + `); + + const item = page.locator('six-breadcrumbs-item').first(); + await expect(item.locator('six-icon[slot="prefix"]')).toContainText('house'); + await expect(item.locator('six-icon[slot="suffix"]')).toContainText('star'); + }); + + test('should set aria-current on last item', async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + + // First items should not have aria-current + await expect(page.locator('six-breadcrumbs-item').first()).not.toHaveAttribute('aria-current'); + await expect(page.locator('six-breadcrumbs-item').nth(1)).not.toHaveAttribute('aria-current'); + + // Last item should have aria-current="page" + await expect(page.locator('six-breadcrumbs-item').last()).toHaveAttribute('aria-current', 'page'); + }); +}); + +test.describe('six-breadcrumbs screenshots', () => { + test('should match screenshot for default', async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('breadcrumbs-default.png'); + }); + + test('should match screenshot with custom separator icon', async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('breadcrumbs-custom-separator.png'); + }); + + test('should match screenshot with prefix icons', async ({ page }) => { + await page.setContent(` + + + house + Home + + Page + Current + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('breadcrumbs-with-prefix.png'); + }); + + const sizes = ['small', 'medium', 'large'] as const; + sizes.forEach((size) => { + test(`should match screenshot for ${size} size`, async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`breadcrumbs-${size}.png`); + }); + }); +}); + +test.describe('six-breadcrumbs accessibility', () => { + test('should have nav element', async ({ page }) => { + await page.setContent(` + + Home + Current + + `); + + // Breadcrumbs should be wrapped in nav element + const nav = page.locator('six-breadcrumbs nav'); + await expect(nav).toHaveAttribute('part', 'base'); + }); + + test('should have aria-hidden on separators', async ({ page }) => { + await page.setContent(` + + Home + Current + + `); + + // Separator should be hidden from screen readers + const separator = page.locator('six-breadcrumbs-item').first().locator('[part="separator"]'); + await expect(separator).toHaveAttribute('aria-hidden', 'true'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + Home + Page + Current + + `); + + const results = await new AxeBuilder({ page }) + .include('six-breadcrumbs') + // Disabled due to known issue documented in TODO above + .disableRules(['color-contrast']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-custom-separator.png b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-custom-separator.png new file mode 100644 index 0000000000000000000000000000000000000000..12bc64bbce78cf453e272996742373fcea34a02b GIT binary patch literal 2474 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 P`9%OrsI6I*sb|c;{eGjz literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-default.png b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-default.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2facb60277a10177574c522055a8dd9c844047 GIT binary patch literal 2460 zcmb`J`9BkmAIBG(9P3cTT%S@&?o7@lS29_-XXHb;9*7gn2><{<`uB8<0e};6#~yNu z^yyJf$WVNSlGAi(>@G0&@(} z1u$C`ZAws{*6X??54~M7gJO*{r9ocC1SrF^^B2){Ef~sLGM?r$0EF{_|H2Oq>$gOjs`PsJa$6D^%0X$2uSm+wRfE=I5}+J_M15d}#~t_nPRvb|?V z125Csd3kvYh(z+VJD&i?k&Cz~ppR|ygNlc~*15d0+UtVL9PwRB%n(u}`h5VpN_dPQ zN|Gvfz#n+_MP(E0pq0jsdFPV%UCPW3<^>uIo=v8}tQRJMwmXEf2�D*t!KM?>yzJu8FU$%;ef(-j(YEEDImoC$(U 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 IhuNY21Nv60cK`qY literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-medium.png b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2facb60277a10177574c522055a8dd9c844047 GIT binary patch literal 2460 zcmb`J`9BkmAIBG(9P3cTT%S@&?o7@lS29_-XXHb;9*7gn2><{<`uB8<0e};6#~yNu z^yyJf$WVNSlGAi(>@G0&@(} z1u$C`ZAws{*6X??54~M7gJO*{r9ocC1SrF^^B2){Ef~sLGM?r$0EF{_|H2Oq>$gOjs`PsJa$6D^%0X$2uSm+wRfE=I5}+J_M15d}#~t_nPRvb|?V z125Csd3kvYh(z+VJD&i?k&Cz~ppR|ygNlc~*15d0+UtVL9PwRB%n(u}`h5VpN_dPQ zN|Gvfz#n+_MP(E0pq0jsdFPV%UCPW3<^>uIo=v8}tQRJMwmXEf2�D*t!KM?>yzJu8FU$%;ef(-j(YEEDImoC$(U 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-with-prefix.png b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.e2e.ts-snapshots/breadcrumbs-with-prefix.png new file mode 100644 index 0000000000000000000000000000000000000000..6f020954c13a6a5d9c7e49408af18be803376081 GIT binary patch literal 2712 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-breadcrumbs/test/six-breadcrumbs.spec.tsx b/libraries/ui-library/src/components/six-breadcrumbs/test/six-breadcrumbs.spec.tsx deleted file mode 100644 index a059945bb..000000000 --- a/libraries/ui-library/src/components/six-breadcrumbs/test/six-breadcrumbs.spec.tsx +++ /dev/null @@ -1,26 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixBreadcrumbs } from '../six-breadcrumbs'; -import { SixBreadcrumbsItem } from '../../six-breadcrumbs-item/six-breadcrumbs-item'; - -describe('six-breadcrumbs', () => { - it('adds separators and disables the last item', async () => { - const page = await newSpecPage({ - components: [SixBreadcrumbs, SixBreadcrumbsItem], - html: ` - - Home - Docs - API - / - - `, - }); - - // force slot processing - page?.root?.shadowRoot!.querySelector('slot')!.dispatchEvent(new Event('slotchange')); - await page.waitForChanges(); - - const items = page.root!.querySelectorAll('six-breadcrumbs-item'); - expect(items.length).toBe(3); - }); -}); diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts b/libraries/ui-library/src/components/six-button/six-button.e2e.ts new file mode 100644 index 000000000..e7eb4d64d --- /dev/null +++ b/libraries/ui-library/src/components/six-button/six-button.e2e.ts @@ -0,0 +1,168 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-button', () => { + test('should render as link when href is set', async ({ page }) => { + await page.setContent('Link'); + await expect(page.getByRole('link')).toBeVisible(); + }); + + test('should skip disabled button in tab navigation', async ({ page }) => { + await page.setContent( + ` + Before + Disabled + After + ` + ); + + await expect(page.getByRole('button', { name: 'Disabled' })).toBeDisabled(); + + await page.locator('six-button').first().click(); + await expect(page.getByRole('button', { name: 'Before' })).toBeFocused(); + + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'After' })).toBeFocused(); + }); + + test('should emit events (focus, blur)', async ({ page }) => { + await page.setContent( + ` + Button 1 + Button 2 + ` + ); + const focusSpy = await page.spyOnEvent('six-button-focus'); + const blurSpy = await page.spyOnEvent('six-button-blur'); + + await page.locator('six-button').first().click(); + expect(focusSpy).toHaveReceivedEvent(); + + await page.locator('six-button').nth(1).click(); + expect(blurSpy).toHaveReceivedEvent(); + }); + + test('should block click when disabled or loading', async ({ page }) => { + await page.setContent('Disabled'); + const disabledClickSpy = await page.spyOnEvent('click'); + await page.locator('six-button').click({ force: true }); + expect(disabledClickSpy).toHaveReceivedEventTimes(0); + + await page.setContent('Loading'); + const loadingClickSpy = await page.spyOnEvent('click'); + await page.locator('six-button').click({ force: true }); + expect(loadingClickSpy).toHaveReceivedEventTimes(0); + }); +}); + +test.describe('six-button screenshots', () => { + const buttonTypes = ['primary', 'secondary', 'link', 'action-outline']; + const buttonSizes = ['small', 'medium', 'large']; + + // Test all type × size combinations + buttonTypes.forEach((type) => { + buttonSizes.forEach((size) => { + test(`should match screenshot for ${type} ${size}`, async ({ page }) => { + await page.setContent(`${type} ${size}`); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`button-${type}-${size}.png`); + }); + }); + }); + + // Test prefix/suffix slots across sizes + buttonSizes.forEach((size) => { + test(`should match screenshot for ${size} button with prefix and suffix`, async ({ page }) => { + await page.setContent( + ` + + settings + Settings + refresh + + ` + ); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`button-${size}-prefix.png`); + }); + }); + + // Test disabled state + test('should match screenshot for disabled button', async ({ page }) => { + await page.setContent('Disabled'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('button-disabled.png'); + }); + + // Test loading state + test('should match screenshot for loading button', async ({ page }) => { + await page.setContent('Loading'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('button-loading.png'); + }); + + // Test circle style across sizes + buttonSizes.forEach((size) => { + test(`should match screenshot for ${size} circle button`, async ({ page }) => { + await page.setContent( + ` + + settings + + ` + ); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`button-${size}-circle.png`); + }); + }); + + // Test caret across sizes + buttonSizes.forEach((size) => { + test(`should match screenshot for ${size} button with caret`, async ({ page }) => { + await page.setContent(`Dropdown ${size}`); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`button-${size}-caret.png`); + }); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent('Button'); + await page.locator('six-button').first().hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('button-hover.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent('Button'); + await page.locator('six-button').first().focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('button-focused.png'); + }); + + test('should match screenshot for focus-visible state', async ({ page }) => { + await page.setContent('Button'); + await page.keyboard.press('Tab'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('button-focus-visible.png'); + }); +}); + +test.describe('six-button accessibility', () => { + const buttonTypes = ['secondary', 'primary', 'link', 'success', 'warning', 'danger', 'action', 'action-outline']; + const buttonSizes = ['small', 'medium', 'large']; + + buttonTypes.forEach((type) => { + buttonSizes.forEach((size) => { + test(`should have no accessibility violations for ${type} ${size} button`, async ({ page }) => { + await page.setContent(`${type} ${size}`); + let builder = new AxeBuilder({ page }).include('six-button'); + // TODO: These button types have color contrast issues that don't meet WCAG 2 AA (4.5:1). + if (['link', 'action', 'action-outline', 'danger'].includes(type)) { + builder = builder.disableRules(['color-contrast']); + } + + expect((await builder.analyze()).violations).toEqual([]); + }); + }); + }); + + buttonTypes.forEach((type) => { + test(`should have no accessibility violations for disabled ${type} button`, async ({ page }) => { + await page.setContent(`${type} disabled`); + + expect((await new AxeBuilder({ page }).include('six-button').analyze()).violations).toEqual([]); + }); + }); +}); diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-large.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-large.png new file mode 100644 index 0000000000000000000000000000000000000000..adc08350b434567984642e84ae97b6512d3ad0ac GIT binary patch literal 2691 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-medium.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..267356e22e983524b8bbf9567985cfbc7df5c579 GIT binary patch literal 2163 zcmai$c{J1u8^?bX3Uh^Y!)wS=iG;C)tl7rMGD?<QXLTz4@%aTYuD_5WemjhS__JoF(PxB3-XWA* zx#0<@82=nsx-~)Ufc+s+h++;af7JU?5jX6KLYkSNt~5AQy=_Ro!GBs9qkrz4^=)}m7`=X{g3?* z3;r7!a^4P<_Y%8_Qm%Q=`DHu4-RTPu{>>JlU8@mFg*YMaVJQ*yGX974N;_)5g3^c2 zdJj$PK4dM5ER>?6baWQm_E!$P9Pbafv@g-BGy4PXWY1w;} zt4X?LCBQ$42LGYZ6<~gRVjwz~zn&P?99XZqKeL!S$-;5{nZ=##Nq>o6W1qVH)3DD0 zZH3qJCG_^uUhb~oPcOrc8XX0hgO$d_o0iqBhONI#TD4dnH+BBp^Dzo^hPD{p5FZQ% zt8WTD*tT27LIajCB&PYWs|~E{?RsVT+~^B~+3(QJNq?H&+TNS6GV5ZYVauAk&H1gH z+AJFT?3Z+Rud>MW3U?b(FrgG{;Z2Re6;dxoraqf|#R} z@gX(y-eo5pGfc6)%M(3aex7NK?xVqB=XKnT9#;{$8v@2LFK{MID+%TRCy{QCRLxV| za)U@rnu6+^3bn%ltjK;0Xk?jWb=1K^(l^n zgaTmYd&R7cbz3rDgz6YcLI^5St#~!@`Z+ZfVZ0b^F_~vj7I#qwysV<8vRpp*S$kOM zI14XMTOUW5T>ns6<{Tc-sAly=Cr)=H0x)(MWlzxgsCB{Qk*`r>WN6Ui{>Y-L9dBR6 zp+8!=rhd_voNYf*@800*YlR(~Zz06hfbPg{kD0aj*|bWLz5J-zwywJSBjB}m6gh5X zVBZ)_)VySmR%;X%n*L+kx1N{9>Z-R-7ml+(aad)_v1L#`i z@B6k-!s3^VdF}6BH*wqcc!IZXbZZuP3@(3Qf6>ikAWJyo^MwKIQrN#(dhd=rJBsS{ zbs5PQah10cCjDbpr!z6}V!b!+sj#b?&pOv4majCnMim%mm5-qwu?a$E> zz395u&#)Y{FOrG9ne89aMVywpROr|~&7;%pO*3}vpbX$yWr?XYd3sXWl?g@T0wiqD zLTigs+Dqd1@JtEoO_1QlT}Bl_&|c%|vCGI;i?ij!d~F;lxot)3q0QJpbSVa1>Xc$D zM@9DCLdM?9xiYv}_>o$mB)FuVDYN(-kH)<+lQIY`tX&h#RkNC;b2&wp$c2Y1&_XK} zE>tC;aZx{E*7*dV64Rh!Tp``Gp3EF_4fXk0TSYB_*rb$Bf%CHh-JdfGVMQvWC-ol4 zl_;*Sk-LC~j27B%AtqR?S()|y!9xoFe9is2sUS~sZJTzONz{hn~VX$zb2uk*33g^;m+1Q+5)t$xP#)pcxtpIg&GMsrajGp&Uu@y13EVcbB?$X#Kj`5-Hkln zj#^*%&v6iW5jqTcH4=Y+-C4X`l^-QamCMK*3u3_coop8BD_QG&BT3Y4U!It5v3tRG z81FjsPV!-4g13w4jCa9gVCdIC$)-wc$JYJ``iPP%l{E|f6`59hREnj-Cmw$PaTqMB zqW(u@vVl5bYv|jI+x{cMvhM3(oSt@L zUm*F9JGnl|M!U17c5>|msjGYyw2qYMie@`*bdq6M_G^nQ{&DA(pcyC+xp}@P^JQij zQk;m_IqdEhH2I}gzGtc@M;m8b=xM9=&`^ptC~E9>eh z;FA)V^ph7z$*z??{g1O4P5?MQzNgSbIEfCN|IQ4jfWim(qfkwX^a%l=Miz!O28igt E0kU;4KmY&$ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-small.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-action-outline-small.png new file mode 100644 index 0000000000000000000000000000000000000000..d8ab7c50856f89dd417bba12f8fa3fcb31d86e00 GIT binary patch literal 2093 zcmV+|2-5e7P)L{73e{H8cB~y3+uCB8Y3UT`^v$u3 zol<8?r?n1kby^iV)9MhRQiiIC)s!Lzf+e;FFbRm{jhH|#_p-14_BLEL$+EfR9KAii zpW%<2yS*pB?B@C2^ZYgwM8hx`0Du>W3;@6*5Lf`<83-%@@C*bN0C)xh3jjRBA+WC4 z8fE|qZTICefQ;e1!orU!Fnn}D=E0T_06YVM1puCbzybizKwtrYXCSZuz%vk70N@!s zgA|+%8z=g8=1unEJ^hUUeDs0!!p2-lEeL{ye(#uRCnnFRxU9DLY4tT%e}N1Ej2m10SVv!40wO#zl+#usUq zfdvD6Or#Z9vd*4wQxBch+Ry7nL5^nl$|^BA#d{;hb0^iNPOT@R&j|59`HY{|CJ($C zqnEa~$i+E)_2v96RboS{`u2eS{lyZWcqcVk{(eF^+^OYC+~P9fw%NYG#Tw~I-C*-e z_${x=eNm$#pZmgW-?CZ4rOI;|YFmraA2Ysljg&li%OQDY9{1%rJ}PE>k@jKj1y5Mg z=?liL<4SY4Rz8itu3TJR;ZW_FL9@;`d-bSl)D#KVmkWzZh2-~JQ_TPBwRl)&RNfuc zzPcI0@0;Z}dNjYl)mMnCs)tXw`?Ubb4rv9}>GS&f7h^QLt}NtV>`-@|PA>v<}IaT zK(`0hADZO_B?1N3Us{y$McUa5b}xx??T&_srn8k*zS9@p^JZ^8B_I$g#Y?er;x~hQv^lsYM4#vM_(z}iFMTS!^SEM7l3yH%M^*OpZ8>!_M%rZeFZ25Z_SjKn z^NoRd#SZPWjr*eman^8q&ebL6t4|zL9&C*Nrb*toWH?#q)z4RnTb2hzo*g`^ePvg) zp;d7VtOr2aod_Q}4 zP@nQp9~8%u=r$tNKsoYW%%HPD|E!J}?dI(7rLAI6WPkpz{M0dp${z2oxx=9|=W;Uy zZ>SIo5=%7N-j?R_)(N*bUJHP1lGX}~wjP`RV}9n-W16UxQ^7>rgtkkmB+1kI?|Kq{`eDHwAdt9Gge1j8NFbNsfK^_ zhEH-@v{5U1!^OScyy-%ULnTqiT1n%#DIH77O_Z~|Qh4lhLHD;WDHHzo#o$Y)v~4Xi zOAU>~Kyg+lvdPo~i`EWw59`iq-<{RwAhZMOIIrgDK7;UmQJ|g~WtYHHQIbgt*FluJMdYjT>v%L-)MsPT!cDbdG9^`P$-9Js|g?s7~5{ zQKVYY*4(9~SY+yGgI1Qy9qrcX%;ZTEA5U$s`ikJad!qYJY01J;+lvdPo~t1{n= zq8HlLYiEj-O22E8lhH(5m34LgpC5?d_s{6+TItN7-aeq;T`N^gZ99d zpDiD?=2^eUPq(@@?2E3sN}^TI<^ypWd0kx!(|sKGp{^+v4s~jq_Q$?7#}}53hY!Z> zi!b*gQ@3`ZbpI>yTb>zOeU&u(GG5Wx{!{9hyM!nE^?$sr(h89t_s5L?_v!T21CzWg zF4qDen@l~hXkM*bC_Q>a{>Gjt?TM&uR9`7Pess8R{Pp?1LD`^Q^1cqUgG00Et{O8e zC?Iy9RIPt>b8So(+-!*?azxC!IO?5VT?nBWnxt@r=^SD_?VSwAT zRH6sU#U+({k*T9@8ugMMX^KDeZ?nHfo4fkTu_v5XMvoqrtyUBrP**B!THxF*GoQ0Q?#j5n;zorPmV#&zc9y00000NkvXXu0mjf3$+#O literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-disabled.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..0b2af8099320b741b44ad780d64d2bc7375a1536 GIT binary patch literal 1471 zcmah}X)qfI6i(|{4N2EkS1B6mJ}N~CU3Es*eI&YWwHEDaib`D>cGT50sbdu(Em2CO z>S{@Y5maasdPLP#w9>jp+(#vw&g{R=&i;Axy>H&UH}Cp#J>8u_KxH5R006;V9J~R5 zBLpFaN*onh{WE)G0DxEm+`-NlLtLH;h?NUa%;w4BXioi&)dPmg7AHkA)fGo19iMN- z1A}#d%40cm<~cMO9OA^zvnV#qCmU)L#57@&Bfzlk{D*a)6Q*{#X)}7(?-&e*U4gf! zDnwUW{BQDQMN~mSSSZ}}R)&_YQnjc*0)ZI8wqON(_2_z3*uVS_f&WREo+i(4aM=|V z6%mIIH}Iz}bkb-HOAr{`ydY{+1l`g$Y_hVl;-5qd_=nru+Zh=d&GFQb?)167Tt1&~ zqCuIQoP_y@PCY}kVxeCg@eV##j6wTE7NpZeZAhQ zM(_UqekR0i5W;Q(t6H_jysLj4(%qG^Lv3p-_FkHJ8t3Nb#;faA)A}l?8yul)`-FsG zx0lCDj6=+!P(t`Jmj7)}=qRhGJnHDe3Z^-n0aP9sJ>DGIfP5VMBwUOu1p?925BFCl zoa;QXb~42t6gb7(%RZe zh!q7zekj&QR>E$2cP@0qbA##0TN_*tqcCYrUBSCPrR+bvxNH(Tv&1MUyjT7>+N@7! zlu4*Ox;EFJ|Gn11C58~~k+t4(YNEpAtWx>8F=&STa>$2G^OK@q4Mn_ot25GA*kok=9yw9beZcd{fErfEsWw_B-{ z8(WKhF+J+KV#Oeek{O@+aUCyt3>>4cXHeGVR&M^P>|Dd9PP8M@O9`!U#uHeqHr1IJ zJ9*!a3>-$HHt#J%>QUsDmO`7i0jcTVcJJamNVcOX11E|ns>PvAWM5zNCJ9yB=>4H> zcBM^u^Ow~rnnm37^R$EQvU9PRd(SR2Wx({C8w;!o>&=8Kh5k^ySrp5FZvN22A(ST{ z$tCz`q(nD#baZU?PEQ9b!_5`b<&$J8zE4I4rK+l$N)7Bdi_KByuFW!5R#u>~FN=jM zPW&_|ZCh&LbxpWyysS&1Ppx}@k#5ykJ}6=md^$1Ei!yev`IP0g`^yL>WsRMOr<%C9 zI*4VjzO2L$ol{3>xI}Q9e9ej3^;yPGz?#+7Kb_XMlwRk-@@o8bwRz~jIC%aY&4yhm zQ%zRg1C)t?rJ$v!j-+zP_nd!kG4R zp{^bDl$~2wLOE_I3iOF(xKPA_t^mZbBU*IVttO=|nC3 z4Bxzs!{Ic_byhyK<=ZP51*&&rEM1QI?;lOmu%GK&jGiCB!48HW&y0-p%u(W(IE}mV ziHV6k&r~D$dm%u7f4Y7PHHcfh-=3h%A`-h-nk%Dv3crB~M|F}i^G$uyvC?6Er!P1m zBk1QYIe;8nOs%WC<1T2O+~A0RRL7LY9?- fP=>|7>#qpFb@--xQ=Mp+kO9CQ-5sbGLo@#Y2vyCB literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-focus-visible.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-focus-visible.png new file mode 100644 index 0000000000000000000000000000000000000000..0d6db9af3621fcf1bce3f47337fc18a6dda349ba GIT binary patch literal 1243 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKaCCV09yhE&XXb2n0BZMDSl zkKb=(^Ox#<+xFdTi+7C1;a1H+rSJ}(ldPJ~leCw#%$4>$#JW^NP_@-)inLeE1Gk`K zMpJGrTg$WX%w;S8IQP>N9+ynJ{Oj}I7@hxL_q?x~`swvg`~1D96HKH`83Gy|nHgN~ zuuKd7na|t*^Xun!wgW~N5*Y)I%{{Pawt?$)&IlwH_U27XE2~>qua*`U8|&)6Jw082QquP4 zPo6)|&&k=cWy_A;ySr(e?A_HRrKKmM)zz1;SfSzX?|(DX&&Q{v ztV~W$?p63?eC--Ac*0XsQvCe<;^XJDJ=khcoFFP9;?b|%y*_@w z*XiJpkR|NbgrCg${JD5$y{Nc2(1h1V+ow*NB=quPP*9MYyZhGHd(-ps*0}^lM$W8j zl6m|7{q#pSZ$=grZ0I?!vYA8YfvMqV9`EljFRM#SOLMMy&a+{j^C6F0dM{6W*&@{2 z+q+4ghlj_+cJ0cQo|nADoSmJ2|Nh-`pdtL&8QCyb*VdL+9lM$z0kN^V&fnj@&E0u( z`Cs#@FDFu7Z7Zs*)QsMre}CW1dE2&ZDcLXsv-P|tCf!8T)*=2?K&xQzI=Fb zykGu*=&TpbtE%NE+P(Yo<;oT%W_{iRufGO0s_xml_i5<2K=A6-s`>NhzcKmh6%a6C@7}*xu1sNjaMs}SGy^j;GX({Q-SezmU0prd zuUx#Sn6DaHQ&V&5^y%uVDwS<1t21uNtX;qUbaqnGBAH1ir=K||9|lZIUf$kMxpH%J zH{CyT?%cH9?Yz9aQVr&Z&oqk4$*t4xaeMseQBrE^(?5Uq>{+{N)vtelcgp~k+`W4j zm>{OM9xV8LJ32br`Tw>0w~0$PZ@zr%mX)5KpPjb&{JC?_o<2RZ>h#ZF*QX zf49r~IT^e^?6+H+SYKbClk?`HbJ6wul$0kgyYlk#{FpzeeXNiqHXFiot{mr@YJYbI z25!f8RtL#)ChvMC5rzmgP=?=8`ACBy!Vbjz!Og(%|NoQhhX24KiVajYF*6)fJ~i#T Snf4B#2!p4qpUXO@geCw=DNqCe literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-focused.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..475c3a1866aaa51f3e8317bae37dc2c362b73870 GIT binary patch literal 1177 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKaC{5)M8Ln`LHx$CL1w_4`- z$LB>nrQ**LmBmhNFi`bMX+1GP$3t?`nh8Ru+$L>UAfmcxNkH4Cg-4pEwi-=asNl5=IZO~r>3UPn>X+O4^7V9j~*rI>#z6MVn~=MdF_{Wef|G0U%nhT zaNzOd$BPyzrKhKRZrpBr_3Bl3cXwuH=7R?hUh?r&RabXEH}&@I+tSj~@3oSXlRsTM ze_mf#SJ%WO#BY|jxA)@3i?3h5{_Aea^4{LFuU=(kX0Gh+J`L3T~y}P=qii?x8GJN7zmiYSm z{Rb0f%$)i0>({kw*ZO*TYU=3h*}He@YEMs3p_;O?GPlJapFB~~(a|wA-MVN|QdX81 zbAs*}nFv!;(@T#}9J+cnG-}?iT~@Xm>=dizbu=jTnGI#tNi*Vp$K+fFN6Tiv7W?d?B)R7lSEOcRV~Fg5(lPdvhpMc&jzEkcN?OjqEvKJ z67%!#-@B*h{QdIf;L01z|C(2QIg#>e?WaF~blmOD&CM_8T3cJ^XTQAoq-6!;1|_kV z8(K=NfU&V@LgA(3tNHl&{%iSualE>_-$TBqUORZUE?!Z9!G;8*3?dd6>R5yR_ zpSo_{x?{)Ob{@WPVZt2q)2B~AeVOR*-_Q2oxIu9OFoC@0UVL%K-o1Bk-P*Ntr)K`` zTet4qz56sPDe2MApOxw9%XN6#?CXC$c#!ZYep!6&nx4MCT|0K9q^6!sfBNk8>(`;7 zp+;@j8U9G@KdJwJ_oS!$e%?HJ(lc-0o;_>qPaCIZXKSy$`SIh&+uQZ(*Su(IYC3oB z+>&*XJoo?b)cF6;PFUG=fN7ulzr8$=e26=1!E!2G#r_|U(;0rud$EB*qxk^S0v;yr z1|tp~hEobafyey7a^?SjPPN$!febcK$->O=B4VB6x5&8{fFcZ@u6{1-oD!MQg@wWWCN zoDzK^^@z>=XJ6*4JqbL2#(w|DI$gj0pKbRi|9tuT_dJt%VXH%#8AL0x7#46aaW@!o z=rEj8*ubFCe1K^|4?olC1cMCw+i%{iVSDg<;bEo)Jm_kO5LnI{=H}*BRJ3W|zP)>G z?dFY|QnC!6b@o|vbF=x>)>hV?y*)i= zPM`Mn@R%_9*|%@oMBcjl-F*4*VWQDYEiEl3W@dkX|LN1GU%!6clp*g(tMm64FJ4@~ z9xj=7GHQ~xjm;gy4Nv}PEL3Y$ja*zFwCVrLmoJ|_RkgGG=j(b+s3tZxc7NU9sOaeK zj*b=U*PlOoHa9bKBJU>?pv(32&RxD7e9P+O@%kJqYwPf^FcXG%hfX$zhKH-$_USA+ zJ8|0b_3Qol*Z6<=_RY@T-n;JW_wV_+xi61?7qv|L_4~KCQ*K_~socuSN?%{!($cR7 z4m9j@oVRY>y0Y@})4PEVk(HIb)F&9xU|sl$$NTx?$I6SfIoGV`*|5*)kjJfcz__qo zdjtp$A9jw4n)P_w$&;R*+L0&NPwn1q?Uv9myRfL;)WSj|QIT6;fBm&zg-c?p12{wfyBN|9r>W7cWlioAzXq@FKPYy*rj1zLZnBamNmgZlLks z{rB$Ot9o&ZesxXFl+`>NWV$aMfBARHT)Xp357xzqM%;S8;*$Ln&qsf97u$PzdKTW% zoLsci%FHESOWo{KSV6&txQT}sY>C~yd$&}B{Na=B%bJ>+u3QN@YgRf*zget1H80OE z&sQxtC@3g6`0}Molh&_aFC+SN;$PjrYr< O5e83JKbLh*2~7YSV;y<` literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-caret.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-caret.png new file mode 100644 index 0000000000000000000000000000000000000000..157a531d9980bef7470e455dfe9cdb343cd6da9d GIT binary patch literal 2873 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-circle.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..e674110186f41040254343ce50414c94633a39b6 GIT binary patch literal 2056 zcmZ8ic{J2}8~@sp?aq`XM@blC856P_Lot?_?u=qAH@q`RVl3IR)}UK%GTuQ%w~Kqr znz3h@5U*s5WJ`-=X>=)rFovPIzy5j8dEbAY^F7Zw&-p&j=ks|!Pudxhlbp1QGyp&j z?~HQ=KqM1-+w2#G;_bF~bpS}V<8i0RaesXM5bErAi2=gx~%{&`) z>J;H-fF>i&4wv&+IbOH@m27|EuNtSb2z@yZ`tJJ4R7L-(=-{wHB^=<0UHsHEo^A3a zsqQRaxc74EW$AJ=Z?6sBTu@NpNvRfCZLu%s71<^o1j*QNbpS9aouZ)i|AG-M#ni&W zi$W33Jx^a)Sg5Y9=5o1(g-7WW;K ztsuL*yB~3Pt$18hbNR-vmTd`%iT3vPoXGf)5LR=uxd_M~`qrtUqB1Zv6dDpT9%y1q z--U1bUb=LNRLOafr)C`o;WK#QJXO^)viR}i97p@e$jF!&GpJC*s>75{X2o)3sd+Wo2YE0hs>-r|RqBaW_AoKl|*r5dx~GY)&4DK#<8~I7p7r&|~fH z?hXtLq@;+b9EOIHzNukgzy#n%zV~@WMMd4*fx6SE9_@}u4grss5&`>-D!Z(r|AtR` zq{h2nAR_Oqt-?d&0N;E}(St~ooAgLRRw)Z#L0w;-YB>dfa2R)Ub7AN(7q!XbjTUL; z5^8)~mEiD`0CeQ<*Jt}okB-_k!4(v`?>Rszh6&=6qd>5=((lMG8%dT-o@ID=L0GA) ztD8|yvKt$70oZ_2+uPgoJsFz!=VWwrbdCXlo$XxWa>D`xmB)VZTu?r8gjHENwiqoA zs3BPWTtdkNtzUX%WF$2y?o7OZ7h0d=_^_g?isXJkNh zvsf&JD*-SV>}hd%xsE94MZ&#&Ms5)+@pq6HFJ6p~kAL3Xok=I)+}z~zf{u7?aX)z1 z`}f~7z9j49h{Kgn(88APCq+KZcVZq@uLUQm&itLt;Dfpt%>A*YDRvZx!&zQl*45SZ z@!u8*1blwTbQ^@hvZ|`;=iwp)6l$Hvn{Es~l(w-nff5D3X~VsIeSHzBWIf;Z1XJPq z_WI{*0^Zu*sRB}OGq3vZwPRVDj4uzxB!5~JxvH!-Xiqw8tIo>?Gc^df*MpwmuP^cp zd|ZMW-wh59G8nQiYr49+(&V)Zt*$(3X?Zg|ywaT}Z*4YJT{aTf6!NwUjs9=>t7rAp z&{Rp-(N7#sgq8W25YE<4)uRfSDP` zP#3o}oZU`L>v`$xvs#PV|IVhDNqrCG3jpww62JR1QXV7j-4?et-JXc2xL~jHYa1Gj zEiK;;4P`{p#!87R)9v#ZX1Wr3PE1-_I&M{`sc%jMDU$q5K7a9P%<{Rjv7DBmD_dOO z*w|REd&Jo7k5V!+7>Mcd3O9Vxun`JXSyFN{xH1|WMs;v>yiL0>RDfxI^5l2WStn)k zVQ+5_FB|s6+{7f4{(eUl6BAy46;k2EBX?-sY-|eWnZ{Wk2mAZiHa0#z8>cnCDQ$go zS~R&MyED_!(6F|mBCUHSLC?x+XUo-)Q1b2jo`B6}TifZQ(HXaH%>-C`;&%^RdRup) z*SXj-Y61R3uAR~_SV#0?c6mQ{szgs$_a21c=9fvyefwg#Q|#!)(fIX+2ol=6=_|CV zM_f~#qRx4Hzkm16S@wq#5kGYB>e&wT)9&_qRs6IC5}6uY{q0-iPpsnNVg`fpO(!KJSc!mLKflU^qghv? zqchPz-#1%+UF9tfR@2A&)bet2TG;Fnwa-gS2|F7>qCmL^N0r#OkNdHMqL(|W)@>Wh zU!DD>A>aV$G$bLJx6;$ybQJs!nKtFOwkG=dJveVH1CnPE0XEm&APe>J30Wh%8m~DU zqS0tAt(yRRe?Fz?Wa+dc5TH;fQx&-kIRk^5;$lRxB2d;mu$dVZ8X5{&G=-v;(Ih30 z4F3qx`a1xO%v-*>e^phXH8meLG>lzu*AtH*6N_xxYinQC+UbI1qtg3aAsh}r{`u0{g+06D0_IsgCw literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-prefix.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-large-prefix.png new file mode 100644 index 0000000000000000000000000000000000000000..510c77d38b8e69cfc5b5999cdbaa7b43c1de22f1 GIT binary patch literal 2825 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 BN4fw2 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-link-large.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-link-large.png new file mode 100644 index 0000000000000000000000000000000000000000..db42405277148f64e4a0f6cbbb9139b819057d66 GIT binary patch literal 1832 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-link-small.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-link-small.png new file mode 100644 index 0000000000000000000000000000000000000000..901302da15997dca1f525dfb4c41eb4647aef370 GIT binary patch literal 1270 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCYjH3ENul4fY#10=R(rZQhE&XXbGP2-N~z58 zkLSO$-`~ByA>*Ks$~&X1=|*#v98=F)%+Y-O0<B-roP}i z`}tbC`R~8;-7J)0V>rM(laZl-=^ztBoLwj11-iIt&lknphd`IBZ~O zkme9$C}74^Pz`uNnv2PX`FuW*4~R}85lNY zo@?5=|G15LntkCUP8EZGw^*L)qebtYy zJS?{>-MzJ{YVD<%#VLD!2xm`uo+Z3HBjIaR`#t-#`rUgICUzh73Hu$_GHWWAnChCx z6KkZRFMjLZzWdd^ewiOPfe~ym_2}~rv%<8Cif)92tBLNsvHs!7-%V4N%R84{PF(xY z?dMwF%h|44VqL4wM4fwaeMhVAzCBI&=`9zQ>(wf&L<>)^+2Zg=*XZXJ zmaARMmNGx)^VNNs^>Q~ugMK8>wDOBjbo?i_d{JM&BH%WkOJ?KBH4XyCx|*U|Z|=I8 z76jG*bon!N{o~i#PoBRPnRV@NwZq4z&dVx>rF$mS6@H#?cFE+!)qJ7H`nQ&4T=EG% zDkR3RJ?*Q^wg16-wYgkgd&Adh3EqEcwoht{kz8=JTJ4_5rBl~ipHh8wZk>Me%j%^o zZweZPW~jU}*?Lqj<6Cz5?tc3z^;zzX%Qd>+i!*G}6|X;Va>t&X2lsAwTskqNc(>c> z(CJpwrtOWA3f=E+Wt($6?Z=$!{))5Tspoxtn)~(S(^jX5bmqqub7UKmcmB{x+~n6c zc?Lh*pI6E4TbJ+asNE6iE3fjk_g4G4nOD7qUI#BWe4cY+U){n7^B#78RXZN+-ux`r zJ2lF;dbjuSA6yODmj6C%zOQ}JcK0;nWAF58pWiwu-DF~P>+{@sQC*8}#+R<#vijQ5 zv<|87Poz@MfB&_3ezuAI-Hl!=zkB`O#mmM}BlPU^{#E~tpRpXD^Ymz^bz69kT3h1X zm0A-+YK&PKot(_wHw8VEF&vS772)VClsMDz=yzSZ*!i(V2N~ QK2U_g)78&qol`;+08n>PB>(^b literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-loading.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-loading.png new file mode 100644 index 0000000000000000000000000000000000000000..9991bd2267f6dd66b58fa205b9db81ab6c152fe7 GIT binary patch literal 1538 zcmV+d2L1VoP)y(mtI_v37C54Q{6(!JI_i~sN8W4ZCH{p6o-t-W2xZg+Q= z003-(9RUE?2m}@Y*bD>~0N4x!768}`1Qr0;jDHC%Pft&h=kVdfSFT*~_VzZJOm1#& zCr_T_i{n;fV`E)iT}@3*D=RA`&%nR{0e}pKA75*b5?Du%9)0-mVL(8@f4O^4PfuN4 zU0z<^+}s=qhrj}mMSfs$R6Tq4%xpG0Iy&-?!^6Y1wYA(v&Cbp)FE4A&l#`Q_v$OND zW5=#tyLRKo4G#|wzPPcmk)NNRm6atpwh&kVvd9dqe?(PbVPQr_2Cw_}{GhwL`->MZ zLPA35@7PL9OIuo6A|Vi10J2C6EPH$Vj~_qYzki>{+)sV|`gLSvo?QPN@0t-MEIf2FNyOfj^A0Ho%m~Y>{6%-WEui^&n%a<=kqp`ic{r&s* z7K?>+hQI=l?>({T( zojYeR81CJ>*U`~I`_|mt{PN{X-mUlb_5J+$GXa32L~Sje&E=;-+T`EvpQ<%kQc1(uhW7uV9#QqoyYP7c@0moF0l zs6|jZ9##YZ3K0}oetv#j8yg!*h?<%jt~YPqBmhu|p!dSH z^UcMrdG7 zPfwE&$dDDH^iU2?%;!bO5ZEfWm92`tKd;It@p}hi7k+{Gr zDJj|9+`M(`mac~=oH=ub*Moec?Cfj;0JVq!H|Niv zrvr82!UgS13Ayr(2mq8L`g;j$YHGO8vbVPn4-da|=@K1~Q>RXGSH;t&r>9p|RuTZH zNWwQiXJ%%0c6K^DJAeB0$;Zcs_U+=uiwOw{BO@bqb#<|^u>=5$k`P$CySs65aWgYB zPEJnI(a}LcL9`FN9TpQ4!&4ayhPQ9u^5g^niZcB87w+llN&4gETUc1w-Me>r+|tsL zoSba2Sbl1T)2C1K48Fd;JT5OUPfSeQ-rgqt4Gatr0LUOMur%CW@dmunXe4XsSOBsZ@K_B1Y=xi`M*#r#4}k>$HUohL05$`G1pqb!fdv3I<1YXJ o0RR8x;0A`f=g#Z8m07*qoM6N<$f*Wer;Q#;t literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-medium-caret.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-medium-caret.png new file mode 100644 index 0000000000000000000000000000000000000000..bedf4a8b29dca79aaedd7ff7f10359b6b1d82486 GIT binary patch literal 2229 zcma)8c{JN?7N%82O9?_PCDgvePEbl|C||5?6}84rDPt>TkkVM1pp7kPbW|5hNEM&0 z2vSQIwF{{=c4Dio%BdJ1xPj3N?T8GCq? zNTI$`-2Z)a)xnr;M7#}TT+hmm<8Ie9Bciw~|NATdxthFs2P`2j{xWFdqo)5Lv4;Cz zsEzSIFc-rdczAermxt8p8?@HexZj7<9Vyw_*%g*oWo2chrM-c;XS*?VH5@K!jzl-3 zsHi9;5@~CjB}I0L4JVVF}eNjSQz6UfD+zB=Pb^2%@lcE(gt`R(i z-@)#+JU$Ag)&c#0rt~)nID2ZL*m**1}?)6O*fO?-9Bl)yOF=ldAJ)?S(&R?Q@0f9hqF11V1 zyUVvV&WY^+g%s6`P#MaUgxe+@?kxQP93p;?cKf|;>8-j4lkM&8g4sT*<Cc{Z)omei<+DFjA&T@5zQ2O63|Clm$Ht<5-FtaGVRvODrgmG+wKc9eU_{x1t#!Kl zzOjV7vT|j_+PE){r+ja1LO{v!0{|uhfq+J%$7;M@@#rN7&QmgHKP8+UtzP<37P&m= z_wA(-^7#TTUo(J9L^V&e^1v!~n>Yw3hPKUcIbo_M= zNlB;hmEj<2J)_#Qdl4NX9z<)6*G?Sz;AeNmpAW^ZGJ%JMfkpv1c*6AmMy-Ds^J{(A zv1$q3q-Hfp07|>abtb`u*7CT~{;e%g6z>BIoFYN}+TALbe(K%^&Gofqo@p9b({BLT zm45lHa%!1M(BbwY1`)`8I0qQIJWy(JlQ^IuM*ExtrS;{h!<1cHs1N2`kuzlU2Pflw z-qUr^RQ)tc{!SoLCMWI=B<|40Xjrp9FQhHa0aDisPaG6yxP)+V3HYv654Pibe+&L-! zxkV28m0Y5_&l{$-Gb;da-mP?o4Vjj*)9AB$7byiMMSbsyCslVeJmQof$LRQTE8Fz1 zBF(AfF#4DI^DQu$l1;VT#B3R>eDDm%(G49~uxg%UAg!g4<=vy*W&Et@ruEeT`~E&s zI%(4jna(<$`gulVcg`#nMN?&VE<+Ro0H!v_j9dwt?|I>^q@PAEGeLufgGZa9Nifw@ zrvt`pH^U3(L*MzFEz_AMK*u{{8r)y1=mcHEE)O7<^S4R{5}@1W3Q-D9q`=xxA!W!h zD!x_cR_&8lXl~&TpA57!F|1=sNZlQotin1SI6xnRma`=58l<^_LF~SYsAO2&LSG&$ zrx11}(|wx7T)3eJwve_A8d9dSJeX?oE1uJEAQ+S`$r=!l+N3|*-DKUxh&=Gb72cv zH`ntbEfh4IG>|?&woumy>oyNZ;su`UZEl7f^X;XA<*9=dqTArRhZ0|e4dae|54uLG zTnoiAETb3;{ldMT!>i>zUA|)*;1_E3q+-1zwc?!wGr}ak+_AO?Bw@GddCP1P)x%>r zF!uQ9elY;|>D&c;JTb}f<7 z>ux85xfE^l{%>|9i`=aeym-s#4X~h?7$(rv)HE7q2dNRftmqIJ_|Sy#rpW{jx08f( z*|t3K=P~td&r0NKn40g+k@+Lvq?)?^cl*xHPDm^>Gc(R7DH!1A0!Z(W+TLY&^r*_E zS>k8e9|a3Xl;_pfqd@O3z*z1ALAtxUM-)!Qzl8hBHllc?Es6SmHDmRb;WmiH%Y1xf zz2K3``?j{A-npxjUUHC=*qYzR&28~3P(#wMlz~iMm@s=Fhda;(>$S3s-Wh%g&JcRD zZyi%|rt_q5L-G`|`4Pxh{MxuC)GBAWBv5upopP{E?>Bhe_{}vA>^E}>RPO4*a$#h) z%a`x1L>tJ@cqs{x(&ME>QzKm!6_twC4QUi5>v&0yKpB^n;`1|>BmBQo`!7{S{s?Yn xgHRJi{-;EDoB}h)>1ly+tPS9>{xx-+WfIiN?yRx!7zcKk%uNv{mBwy~{{&EOJV5{e literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-medium-circle.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-medium-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..4c8ec9fc41df4119b9aff3c2a37100f87d413973 GIT binary patch literal 1825 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-primary-medium.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-primary-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..6f12a33384e5b4c33b17a0dfbc2f2ec0c8c576a4 GIT binary patch literal 1896 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 JUNzp8_-_FO3E=<$ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-secondary-medium.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-secondary-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..b8d14c6a8a446179adda34a584e672e84f4339ea GIT binary patch literal 2244 zcmaJ@cU03`5~f2ap-70*LzN8#q)Hd0N)ssp>H|UzRS6_?mlzNbLJ{fZfpmBxprRCc zgep};Km^|tVXMWfnqx;rvecvb zogM1jZ#5oBq&y7&lCeeskRU!l4@`Fh!2%vJS+KbaNjVv^&GMwV9UUGz8TRz23Tep0 zVnxW>@*RrCcPZvFv6?qP@jPz~aMJjfT>sTryo=B93kxWlhp2A$68|4Z%}{6K(MNmB zJxLd^JM*tM6JjKxOPwTcX#I49D|TZlki68J{q25I^ywk_*ZSni?&2e9BV`l0Qr$zi zfJNeuRHh+O%M!hBd=fLHD_xP4HQVs;!)Nf@dNIfLwe~gZlXW=?ccxTzqYv+&9Be@m zcQ4yl-+b*i={Nmi>+O2)6KES|ODpD>vcEdEzcQkY>`By#*t<{r@KiPhvof4#nWyYf zeY4cL*&8)csg@J)t@YOlb*I822Mhv59PL%Kv|uMHt>Cv`Y+igit{(8^n%%R%ITViF zX^byDJE2a%l$DizMhj^)8keA|S%yUXrR;|rQ-8FDEDt6oCibNYbw*JUT3W3(C3=LR zv0~jQ06#*`xv88~p42}*jXl_$DGy*~=l7jy^2$^8%9eKyAuky#DmG|^turw(<+i;o z;nK)J=R{Grxh^V+dktm*w@bQ*f&=E;0eH*)leLpJJ(BoTGhXVsG=)qyU*|rAG0D>! zTsx;4TuXB5{ia}EP=d3!h&HC2v21^HMuk%5KmFplNorYAa!7%C;6P|Hzg(uIDPd!} zVQ02Q(SNF*y0Z|x@cyhNcp+aEMO^+|?A%dWT8jEqzF12;JCPJN16e>*+rl;kWT6T! z_H~X5V6gDjk1fHj`~1GX$CRJ%Pyos*%RJ=vK<SD3}7NGojiO<)Ai=Q-X-B_(1_?*nF<%KM&5#V)17 z@IK^}?pE|FSO7JU4m&&kg+>Xgcyl^3liXq(lrLZQ?M;S!Ys2~|jO1P+k^0lz-QA;U z+O9-~K7*@S43oJ^?nE3j2Md>=r`E@>?Gb24<+_}(*&4g5kpc~&E~0;~#bAzN+TTOk z0%zZ7nwVVTwQGm;cPDU>_zitx!a;lk8ItF$3#W<*ax3V*-h@MvPfdxDee!jOWlM zm_t%4)2}->uK)B6(Mte~ksFo*NlNY-1MP*{FLR4rGxL^0%|wON{P57BB5e(3akyTJ zzsh(%=z(g*jc3WSVLC4De?hwOFG%%k1U0Ak(MOBjkEiRMo6)P*l=w{+A0s;;G~>!S zH1DKarC812Q}P_*VQg*M+iLtopc(?RWx(o-H<>+b8V3?~KhtBw^}9Dv1KSM5em2X7h!686 z(nfoKs^E;Ru#3d_O2nfMp^BqyLGJH)6&C53T^8UEq-0Q96`~#q{mvJe> zK`zK>R*0$;WIs_3ZEgRMfcNf>`GLsQf-b9@h~E>@jePawjDN|dS4Ga<(sFq29ohZ+^8+;{y|^j>unodwc6M%~hS9`k%hXUdzfUqGv*s zhD2rFR}l)5NIOZ9`W&Ek%dz`4mzbUou*h=dJO{lh3*E|YJY{8NZ*}ImPg%J|#ckFI zB>3+v4Bs*3nh(w_JUykN?hpdodM=2F#L!M7^!4=*5cl%UI6qWH$HZLNxxsT4LzR$_ zxGQn4A*BjjdOimp6)h+OV=mZ1cpr>BpLi|gv@a@;cs<|Ge|FYw6> zR9Y1TExaG8ls#cgs{b7XquIThEfRkVYHH3`^G}G6?>)n`@hqL2g5d@@98MnAvxEP4 zpZ-6s_OF(H{S@aFd;2yUEEc|WMDl^*4|Q#CT>f8;dshP(LC(+ltKH@Rh2@_^2qPWs WO*`~!-6kB^p))tOHhN*`hWiJ@j6K%? literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-secondary-small.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-secondary-small.png new file mode 100644 index 0000000000000000000000000000000000000000..d1112e27c611f6f3d35a4d65b46f4518cbe4a672 GIT binary patch literal 2031 zcmZuyc{J4P8=p%}#u77@;*RAz(s1otHP%dHjUja#T`sa;WG&RlIwUlfVn{}!kT9~3 zt;{f%YHZmiN7oj&hR7w`xZi%~{LZ<5+<)Hlp7)&RdC%v0KFeJPyrqbsj35L85wW(y zIYJ;mWrFu#1o*%cvHQ>n0y$D@jWfFx_2^4sWFS8HXO`&mO}W~F2}zIDD+!~@9&G z+?q(ekE0@;cFwOlZe-l+olrg@@gEfkHGmY5=?(*2&iSY^*0`J|aWwuzOE@b`-JWVx z%U+$7n$<+}3yysruVFA4o}QlS;|NJfNg0`kbakd18H@dYJtG)4R$`eEvGU>OLVpgs z$dpjw_%w8`M?YXp@0_Td(L~4X-6Wx7HWZEN@(U%4Zwok;u5D4Z#I2Q)GJDflUYk>` zhxkcb<=^VdbFyDtZPN99H~+4%6<=r|YZ&n+SH0lM%Nw7^icDiKS6)^(FxXibpqQDN z$r@ZQckAqEN4H*^pv4zMMP#BjomEt-_II~*0d4JChhi)M0N1AK`yQy=pUic0ZVYS* zTj(c|NDYJ82}+D3-S;DsS>Y?aIsZ6pik{^-q8`U)fs!hyN|Z_N!bf+3Ys>F*>h?PoJ=?@Bxe*A(*HnZW2QB-#+OYs zjoI^?=`bG1Z}T3=ZEkLUaivZt)j$DhWxe<&f9MR;n>*E@t*!m`p}yzFt9X9K9nmJo zj{8AFPt3~`KVdMhCTcz5FV`0aRyj?xBYVK0F}L%{hjUg*~Le09npP7rl$T4o~)y{!~zb{J-Sl^@$5=M4GM)CHpvs~ zQsoJaf&FT&Tw36Y7H5(N6&c?I`&DX! ztHXrN_g*Nm7;*)t`(?6jXlag>@o9h}3NX?DR}0z?6exWj0d_v;mmFPR{FgTm^#cTA zzr;+H;R~_Po9SprEx7z}+-c19B?pijvi{z=V$i9MXM`Hpykn@7>^~BrBG@WF1>2ms@9PLDbwec2yIcJ>FJ;9b-ep0u3^nfRM=GGI!7E+ zZat9y0=jVplv_RgWFVf5#2BF!P*nN5wrhS&zvALzCo0N3H8W~`p_>cq(aUer`o=8= z3IEmb;~YrsqcN(>U14zz7Cnk%95xfre{j0EDL;CUwmum`|i=LzyHcnzL21HhQ8dAsK~ZMh)AO* zFBM~x0>-Pe;&kcvSJF5onDX$t7d7)vXg~Ss|==%@Gd|P}AYCSO_A)U~blX)EV zx32rEIM6cy`_gKw$~k>2D@$|pdq1Bh>&$}EvkMiAS8Tz{5Qj^xN9W3+2-U26GN37G zqJd49<`6)1fmfhYWbE~%7j&Ch4+qpncjZjzS?E0pNx9Ttsqy}F%@sqQtZhms^5C#4 z1|yxXwRWsRT0>69E4h4UL|#_b*t17iH&sOY+!FjSZa&T;1B9*40q47>)7u>dG(vWag(Gz!;b+WKD;`s41QC~l1W@hH)<$)uJD;IW{ z3NPi1+zy>tTXo0oEqK}NyS=~2S>N}iU!3n6r7^RDbxtTL0rpE|M%-5iIkO#=hFEJ` z+tOz~6mIkpw+Pjy9uNqE^EMWnFDW62CVIZ(6rs7E? utibqxXXL?85Xiy7Oetv%jBV(Tyyl1W&m-5=>l4br7l^ev9#@TZPxuFCUgtgl literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-caret.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-caret.png new file mode 100644 index 0000000000000000000000000000000000000000..8104a42959e08297d1b2c28d4e84f55a587ba1d5 GIT binary patch literal 2156 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-circle.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-circle.png new file mode 100644 index 0000000000000000000000000000000000000000..d9b446587490f9fcd1200e69d68ab586b5e2b2e2 GIT binary patch literal 1555 zcmZ8hdpOf;9Di9+NRA!49MoYQwc}~Rad|T2wvF11xwgi-Aam40#)y;DsZ6Ww6GFo^mNNkBU*bFukQnTb!=YGGxQX@`&LLYbPhC5YXlMoC;BUWcfIA!38G}1||AS1}1CdD7+}zCL@v5r{ ze3JjwtgNj1`ue7(rsCq_{Cp!ASl<7pp;_>wrKP2vT|#Oqnd?7)*5IndpD&Y0CdOJW z=>hTkhV3C|gwF(mU+HvuPl@5>4@1Iu91aJS%HKGAB9h6mG}_?Xw-58{%zb@*b+X16 zXL`6?E>vgOZ>(HgOb8C{>+KDUybE=VikiyK*3$wJh}GK{AU2|OH606e$Xvtk8y)!+$iL7RbM&z?Q~noMYm6a7_{_G!ZH)Q@tjx@zj;f3UHD+^J`L>wX)bHgk! zD9E2rVeUjD&CSQ3XKL#KH&C*Rnx3w{x&`G}uk^U2KQTEe9}$Je`=T^xG}`dc(C&vS zm8yy?tf6pOB_+J~EH+zahVM;c)rW?K*?^2sF$gq4^QBmR8Q-x+K zheYY6dn2Qw($dmqzK*_mbC60MOOL6;-rw*vZLL8ha!tG&CoANU1_*bxyZvuMl8WIW z!^6Yu+bb){EJ9aUXM6k1;Nw$y;bUWCYsycYS0oZCkA&Q$tIMgs#~F~xWNS;G6O&FU zlu8?D1sGT478Vvyt|cZWQYe%>zx`)FHZtbNA^X5IHOI%t@1(T7>#Gj$EOkX0eobbT zl|^}YWXj>u#*ly4S&uTd+1lFj_CBT=XR{9TDDr&@E#j)rQ&S*rWN6O4ylH_(quH&m z3s6iZ(^ipM(cD}TN!{U+nuA5;1)LgbHZ?Jcjg76Vt>x&uxVY3YWW~o#(J6Uto{hWUk+CXJ_Z=tm)663EMCdMn|w+ zj(Kc!G?v*IV#OP4yKZ_6fI$gFy{0DDhs!QVA#txTaIHG>^z5u` z&ny01Uv*MK!a8kj+BsHFZ?6RRv-z#|oFK5%Kz-P~;$U)eGW{GLtKchW6){;CF8D>B z{3(b?BpMkRB@juZ`)hWr0w*UYh%0rOKx2GU2?YW{2^9u|Ev~F8XhO17wtzwxce0%p zKD5KNz|QPum}+mWw9dPMfh#Z-aC1z9;_j^`CZyfp|C@9^+}toLD=Ww$aYK#tneJU5_19;J+D65iU^!UNakDNM x9dVD)$Y^)_FD&l>K&`%1>Tni{cCEiN9R`f0f%ox2#+RTQfb+t8R=G!<{|i@j?eG8q literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-prefix.png b/libraries/ui-library/src/components/six-button/six-button.e2e.ts-snapshots/button-small-prefix.png new file mode 100644 index 0000000000000000000000000000000000000000..6b2396c90ab56f2de259b3171acb95d0a4d32b17 GIT binary patch literal 1942 zcmZuyc{JPE9#5CiP)itVlr$~k)iy<9DOyQNEYiW4*wky1h`v>IDX zstaluJ5^hwRg~6}+FJV%s+6|Y_nSZ7d*{6K?z!il@43tQZlBNn+`iyqFCzt&0)ap> z4mhkE2(&L9uup*Z1FOPTjui-W$jJd~>wc3b=23AMDMy6tB0q=NTYVM5#M=fY(D=-A z$=8gWGWiv(EQ93ajaI(jpS!xP$tAcp2@(gJVW7K6QQ^vr#5Tf~KQ*z2%D&}n#w=|8 zm|EfakIw1xj3y>Ne;ZxgS(`hL0mDlYYTyirvMpVkQ7)~Z4`=wL6D8sLza4Y}Usem3 zFG)xMVH9oD)YO=eR*mU$1|;kMU)92+!CgmN6wr7H$t*~#v0@bwdF^dMZ82*y{m`vbnMJfXnp*!*?&N8sV*DzTzv%GO3b3>u4bm4Hcvp z3H#P&yD?A1)-5e9^78W0hCCGIL!Nc4rq#`rrN#NONA!7F7yk! zZXGxzt6}-RD#$ZFes5)E#Y)8`*K&Pru2)~W{ABQOd8)eEY@O7iqLR|ZrkF^CHH(bH zb?*5+3mhtIx-r)SOg|DyJl@m*JiCiHk77W6N==$FO0(QEyxbhObLGmF*IYg7%xmu1 z6y@mH*xnrEQ-`}c?bH+%BNrU*`#`HB_k;i#4USAyY@8MZQ%wIsz*EiRLu%$q%OCvR>X`2ygu8aU-nnvfuA6JFj+uI(cmj=pw z8bp=;a!}LG2)D+)d>b0jR_{u3clg)0FJ}^&%nGR%es^)9hSf-=e=nU*e_H_5OIur8 z4MnYvUL!MI@~j+CsXk9UN|SkCrdf*oshJrrhqDSq3-p>#jg}g`qh=C%adEKJa*_mhGmhWguDdZ8^5M_F#G=Z^ zX(1a{!!~vYU?+BniLtB+8Y)|wXx;;g*%?jS*^F#w$vd0J?>1V9{y-d3I^lk_6y^6i z)5!OEgn0O*p`mQI@lPpp_R6C9*2Kf39OiK~|FXc*+LNfzt}FvR&oWbjgl&634n-R3 zUDU{g@FAW4{X2k9FeF1Ij-f~K^vGD@>zGH0@y^PFOdJKM?&pbSVduvO;N=sZWutXB z{K+=)ySyL(@7Krb{iYAM%U1Ej7T*8kO>V$z$1Hu(lZ$$!9(TRr`pBm~<;&wuTVJMx za166CW<7A?IgQ{WV#OyWB_)ZT)3!D^+D_7N?5B^_#0;IeDlCE3T#jJvmqEA2ep|kr z`{;nBuZu+BWczIZUB0!Ua7Wt!xgDVTP>hT^iqITK+j!+{vg#BiXv?@Sa9BO3Tk@Ex zL#h=oWgGdf2IGHmOlPD6_-L8;X^I*6Vb=*e=F~qnj(OP>x3f7VWSaqmNgkn}B_hdh zRKwqBQ6Fvg{Wb|v;^c=5rv2$Nw$M;~dr)nj+4XT%lpgj@fFk7gnj@!xEV{VKx0-|@ zY0hrJ5ue9%SF-$%qqU5YyjI|BE9zjzp7fWaYNk)}kK3o2{>@6j$)iMrV;IKIg@blB z;JQLXWo6~rkY(n*uCA9rB>7g+Xm{2b;*D_U~N%YN#EK}vyRBn;wD@xvTXK;qxsIvY-5c#8>MX!}PR6}Ej zEi-o*gGP7Kr+isbUy!w`Czt^N0l%lJo)zoXER8jo+1TV=lhx4bJhA-XCE6qg&AGYnc#kLSNmb`=ibA`NtCA3|-P{ ze7|)cb8#)q3>o`Pqf- zqR0P4IP%PE3knKeym(PkqMw`x@MU;yNK&~ECK*Y$X(NBDO-)I;D^O@vP>hsy8g`X+ z0#o~p(xm<^O8-?FCV{hz2D@5iwEahRaQ~xF-&H`My}joZhin0LmH1m$4}c`SqC|$2 R#1UWz { diff --git a/libraries/ui-library/src/components/six-button/test/six-button.e2e.ts b/libraries/ui-library/src/components/six-button/test/six-button.e2e.ts deleted file mode 100644 index bff0cd83c..000000000 --- a/libraries/ui-library/src/components/six-button/test/six-button.e2e.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { test } from '@stencil/playwright'; -import { expect } from '@playwright/test'; - -declare global { - interface Window { - buttonClicked?: boolean; - } -} - -test.describe('six-button', () => { - test('should render as an anchor element when href is set', async ({ page }) => { - await page.setContent('Link'); - await expect(page.getByRole('link')).toBeVisible(); - }); - - test('should be clickable by default', async ({ page }) => { - await page.setContent('Click Me'); - await page.getByRole('button').click(); - }); - - test('should show spinner and not clickable', async ({ page }) => { - await page.setContent('Loading'); - await expect(page.locator('six-button six-spinner')).toBeVisible(); - - await page.evaluate(() => { - const btn = document.querySelector('six-button'); - btn?.addEventListener('click', () => { - window.buttonClicked = true; - }); - }); - - await page.getByRole('button').click({ force: true }); - - // the button should not be clicked - const wasClicked = await page.evaluate(() => window.buttonClicked === true); - expect(wasClicked).toBe(false); - }); - - test('should render with caret', async ({ page }) => { - await page.setContent('Dropdown'); - const button = page.getByRole('button'); - await expect(button.locator('svg')).toBeVisible(); - }); - - test('should render both prefix and suffix slots', async ({ page }) => { - await page.setContent(` - - - Back - - - `); - await page.getByText('←').click(); - await page.getByText('→').click(); - }); - - test('should handle focus correctly', async ({ page }) => { - await page.setContent(` - Button 1 - Button 2 - `); - - await page.getByTestId('btn1').click(); - await expect(page.getByTestId('btn1')).toBeFocused(); - - await page.getByTestId('btn2').click(); - await expect(page.getByTestId('btn1')).not.toBeFocused(); - }); -}); diff --git a/libraries/ui-library/src/components/six-button/test/six-button.spec.tsx b/libraries/ui-library/src/components/six-button/test/six-button.spec.tsx deleted file mode 100644 index 6ec8a875a..000000000 --- a/libraries/ui-library/src/components/six-button/test/six-button.spec.tsx +++ /dev/null @@ -1,79 +0,0 @@ -import { newSpecPage, SpecPage } from '@stencil/core/testing'; -import { SixButton } from '../six-button'; - -interface TypedSpecPage extends Omit { - root?: HTMLElement & T; -} - -describe('six-button', () => { - it('should create a component instance', () => { - expect(new SixButton()).toBeInstanceOf(SixButton); - }); - - describe('rendering', () => { - let page: TypedSpecPage; - let button: HTMLButtonElement; - - beforeEach(async () => { - page = (await newSpecPage({ - components: [SixButton], - html: ``, - supportsShadowDom: true, - })) as TypedSpecPage; - const queryResult = page.root?.shadowRoot?.querySelector('[data-testid="button"]'); - if (queryResult != null) { - button = queryResult as HTMLButtonElement; - } - }); - - it('renders', async () => { - expect(page.root).toEqualHtml(` - - -
- -
-
-
- `); - }); - - describe('custom events', () => { - it(`should propagate custom 'six-button-blur' event`, async () => { - const spy = jest.fn(); - page.root?.addEventListener('six-button-blur', spy); - await page.waitForChanges(); - - // when - button.dispatchEvent(new Event('blur')); - await page.waitForChanges(); - - // then - expect(spy).toHaveBeenCalled(); - }); - - it(`should propagate custom 'six-button-focus' event`, async () => { - const spy = jest.fn(); - page.root?.addEventListener('six-button-focus', spy); - await page.waitForChanges(); - - // when - button.dispatchEvent(new Event('focus')); - await page.waitForChanges(); - - // then - expect(spy).toHaveBeenCalled(); - }); - }); - }); -}); diff --git a/libraries/ui-library/src/components/six-card/six-card.e2e.ts b/libraries/ui-library/src/components/six-card/six-card.e2e.ts new file mode 100644 index 000000000..7ad98c48d --- /dev/null +++ b/libraries/ui-library/src/components/six-card/six-card.e2e.ts @@ -0,0 +1,29 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-card is a simple styled container - no behavior to test functionally + +test.describe('six-card screenshots', () => { + test('should match screenshot for default card', async ({ page }) => { + await page.setContent(` + +

Card content

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('card-default.png'); + }); +}); + +test.describe('six-card accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + +

Card content

+
+ `); + + const results = await new AxeBuilder({ page }).include('six-card').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-card/six-card.e2e.ts-snapshots/card-default.png b/libraries/ui-library/src/components/six-card/six-card.e2e.ts-snapshots/card-default.png new file mode 100644 index 0000000000000000000000000000000000000000..1e1bb01d116663d40d3060bc2fa0faf22dcf9e1b GIT binary patch literal 2416 zcmcguXH=8f7X64YLPW|SWHRgkB0X$W?n?Cb~aiy87KoMA1;h33LvB-g;SWCY-1Y1ZUP2-2Q*h#D?uc0$yYNkt2=L$=CIvp!Y^DxyG zBsP~klwu+Z1K$0YNdFV)%3bYx8#ddCQ?Y{q(y&E7ZB=eew#Zt(~%~x;Tb$y zJ^tJzt>Q}FT!EQ<$l!C6zvbXrN`~>A-t4lnvOs1<^un-tbC$BPfJFrB{!5ovqxA6k zcMGvh9PN=Z8jW6>K^E#~LJ%?36d{vh@Wn7wXCH`OgdZdK?4|qSVsBjXN&?;O?FVbF zH$IS5R!gh(X!c(nHkfXXeRblB&HJ__{yQ2is5HwdSRep$A!d7xGu4`)z6L6C6Z=RG z8e=dRZ=;up^Q8e*sF!%ofIN1D67p%plE1V0GD6ePkiD&F;Ne6+$5~kZ)cA=URO!CN ztbCMg);!e`$E->mmqnIH$zvLM?2j4%n;2LH^G+1>5+{XJf>=gN44Wt{vE#^uvG zn1e-3R^O}U!y#OSTx)90O2wuC-RTVn~6Q?vO9+*m5o|%bA3I&{o3Ob zlvVpWmaC-B!(G$??WTeQkfER?is7v;!j8-YWO3hl7yyK&Oxtq+5 z1tyyo&>3_SU6~!A!)sh3Qu7QGC@M80mk}}FKMHh2Pu-}r=%{zPe{X(gg%(v+> zXXid#z?N!_fz8?n1oqSA$JLhTcnb(UKV?e!Q{er|wbL_a`eJmFj;J4$IBJgxpnn@G zWgk4fI;p|R9G(}LWAcyX*gxYw>Ui{cfG^Oe7kImhE4&=ka1YPku$%_JPGRKhYRm|s zjAc`viMlb9c7Jjul?*<%CdBr5G={R(U@&(wCcDs?XhbT1a#gi1sw{rFUk>HBBA0s! zzTDm2ZIg2*juPZiaXybPer=S);Sj<@QFlRAB+^J6fjZm@VgqF2K;%Et)KeX`uk+Tl zw6y&Do|Tu`>y`3TRFDOOL|eETBy4jLRdZ1GC>;-1S5+nK2ESd!<8YDdUu^qg3T-v! z=jK34ga$$fDU_`bw_?rq_w}J}(5Gti!!%B*HDA?H*LrtM=m!e z*PO|Lxs|Nh*Th0s1wD&JAG>octP&(edMtuh)Lpb#8qGa%QcthRvo*f=6^V2XWr5*V zd$oH;dfFIsvPQ$-W;<_>M|C+g&RS$D%F4)SM|^(2v9ZxEYZ>{4@qxjZtn*1*>4QR{ zdaE8*wzjA-7y@w}nyWvzc!_XWxlY=7sLUESV(GH#UZ}%)N;&-3j$#+Ln{;TV;(q zwciquoZMDo#{E2Aj>RM`y?Rxw-pyfL`2k-q6dbW(*CtUAf^ud4hnrC z3A-nCSL6*h$rZ>j@fOnj?XCz_L0B;Ar2hYa(O0*p#n>NRg8-%Y?#+RNrz{jAe#5>H zN*0#W?l_Whe|!OBiEUG72^EN$!nHCI0ZsWS0!@$MCJAqDV!ENBysxgN zA8yca>ohNoLi=@LytzNhtp^~!(Ilx=%fNwTV-USnA*zJtx##vvv%b=nLzd0kv=gF3 z2Ra9LSk~3MGwCYAC+;>r;4p;HsDQ6eTgT2cgCh2yi{zxdo)d%Eg~ { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixCard], - html: ``, - }); - expect(page.root).toEqualHtml(` - - - - - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts b/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts new file mode 100644 index 000000000..9f2b1838d --- /dev/null +++ b/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts @@ -0,0 +1,166 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-checkbox', () => { + test('should toggle checked state when clicked', async ({ page }) => { + await page.setContent('Accept terms'); + + await expect(page.getByRole('checkbox')).not.toBeChecked(); + await page.locator('six-checkbox').click(); + await expect(page.getByRole('checkbox')).toBeChecked(); + await page.locator('six-checkbox').click(); + await expect(page.getByRole('checkbox')).not.toBeChecked(); + }); + + test('should skip disabled checkbox in tab navigation', async ({ page }) => { + await page.setContent( + ` + Before + Disabled + After + ` + ); + + await expect(page.getByRole('checkbox', { name: 'Disabled' })).toBeDisabled(); + + // Tab into the first checkbox, then tab again to verify disabled is skipped + await page.keyboard.press('Tab'); + await expect(page.getByRole('checkbox', { name: 'Before' })).toBeFocused(); + + await page.keyboard.press('Tab'); + await expect(page.getByRole('checkbox', { name: 'After' })).toBeFocused(); + }); + + test('should emit events (focus, change, blur)', async ({ page }) => { + await page.setContent( + ` + Checkbox + Other + ` + ); + const focusSpy = await page.spyOnEvent('six-checkbox-focus'); + const changeSpy = await page.spyOnEvent('six-checkbox-change'); + const blurSpy = await page.spyOnEvent('six-checkbox-blur'); + const standardFocus = await page.spyOnEvent('focus'); + const standardChange = await page.spyOnEvent('change'); + const standardBlur = await page.spyOnEvent('blur'); + + // Click focuses and changes + await page.locator('six-checkbox').click(); + expect(focusSpy).toHaveReceivedEvent(); + expect(standardFocus).toHaveReceivedEvent(); + expect(changeSpy).toHaveReceivedEvent(); + expect(standardChange).toHaveReceivedEvent(); + + // Click elsewhere blurs + await page.locator('six-button').click(); + expect(blurSpy).toHaveReceivedEvent(); + expect(standardBlur).toHaveReceivedEvent(); + }); + + test('should not change state when disabled', async ({ page }) => { + await page.setContent('Disabled'); + + await expect(page.getByRole('checkbox')).toBeDisabled(); + await expect(page.getByRole('checkbox')).not.toBeChecked(); + + // Attempt to toggle via force click (bypasses actionability checks) + await page.locator('six-checkbox').click({ force: true }); + await expect(page.getByRole('checkbox')).not.toBeChecked(); + }); + + test('should toggle with keyboard space', async ({ page }) => { + await page.setContent('Option'); + + await page.locator('six-checkbox').click(); + await expect(page.getByRole('checkbox')).toBeChecked(); + + await page.keyboard.press('Space'); + await expect(page.getByRole('checkbox')).not.toBeChecked(); + + await page.keyboard.press('Space'); + await expect(page.getByRole('checkbox')).toBeChecked(); + }); + + test('should clear indeterminate state when clicked', async ({ page }) => { + await page.setContent('Indeterminate'); + + await expect(page.locator('six-checkbox')).toHaveAttribute('indeterminate', ''); + + await page.locator('six-checkbox').click(); + + await expect(page.locator('six-checkbox')).not.toHaveAttribute('indeterminate'); + await expect(page.getByRole('checkbox')).toBeChecked(); + }); +}); + +test.describe('six-checkbox screenshots', () => { + const states = [ + { name: 'unchecked', props: '' }, + { name: 'checked', props: 'checked' }, + { name: 'indeterminate', props: 'indeterminate' }, + { name: 'disabled', props: 'disabled' }, + { name: 'disabled-checked', props: 'disabled checked' }, + ]; + + states.forEach(({ name, props }) => { + test(`should match screenshot for ${name} checkbox`, async ({ page }) => { + await page.setContent(`Checkbox label`); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`checkbox-${name}.png`); + }); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent('Checkbox label'); + await page.locator('six-checkbox').first().hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('checkbox-hover.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent('Checkbox label'); + await page.locator('six-checkbox').first().focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('checkbox-focused.png'); + }); + + test('should match screenshot for focus-visible state', async ({ page }) => { + await page.setContent('Checkbox label'); + await page.keyboard.press('Tab'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('checkbox-focus-visible.png'); + }); +}); + +test.describe('six-checkbox accessibility', () => { + test('should have correct ARIA attributes when unchecked', async ({ page }) => { + await page.setContent('Checkbox'); + + const checkbox = page.getByRole('checkbox'); + await expect(checkbox).toHaveRole('checkbox'); + await expect(checkbox).toHaveAttribute('aria-checked', 'false'); + }); + + test('should have correct ARIA attributes when checked', async ({ page }) => { + await page.setContent('Checkbox'); + + const checkbox = page.getByRole('checkbox'); + await expect(checkbox).toHaveAttribute('aria-checked', 'true'); + }); + + test('should have no accessibility violations for default checkbox', async ({ page }) => { + await page.setContent('Default'); + + expect((await new AxeBuilder({ page }).include('six-checkbox').analyze()).violations).toEqual([]); + }); + + test('should have no accessibility violations for checked checkbox', async ({ page }) => { + await page.setContent('Checked'); + + expect((await new AxeBuilder({ page }).include('six-checkbox').analyze()).violations).toEqual([]); + }); + + test('should have no accessibility violations for disabled checkbox', async ({ page }) => { + await page.setContent('Disabled'); + + expect((await new AxeBuilder({ page }).include('six-checkbox').analyze()).violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-checked.png b/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..38e873cd3554681afbf817c7a47ea284903e65a9 GIT binary patch literal 1837 zcmV+|2h#Y7P)3u;vX-HF~A>mYHQGwOijbaAVOd4i}rmQF#km^VG zBIid&5f!0j8dQvSu`(^YS!qRDTA8;qZ)e4xGsm;f#cW{1`}~k~zPRYu2pE zlP6D^GUeXAdx+n@ef#Chm*T6jny0stn*+hMo3jV&I+B(UqTsY(C5P%~e5Via(%GH) zlikTXckUcM zeE9b5+jY9n>NdiJauq^$@#4jsH*W?821Z3i4IMgExpevR<#XrGwY0QMn>GzanG(Ns z>lPZQ+S=Oj>o$9%c6va+hGszr+yVeIPaijQ~i-bM0BlP3B4`YO||UAu-Z zvcA4PIyyQrG11%GyS%&{!L+nAJQ609l$2nJg$oy|?W?J&>Ey|ijg5@~0RdyjjtvV7 zQ!d$9S8Y>-5XW(@!pffD;qRgQ^Y6C0W;g2Q|M~4IVt$#@0$pOCfNts%?r8;uKC)SP_9PDI@f? zO?c695`^ph7Bm1Fm210 zEo;}VUA%a)MIKzbdiCmx6)RBCMMg%-;GjW+4jecj$55z!`}SpLXJZVBgdQzlz8qs{ zWkNy%svgMYwr$%MELad17nhThGj-}z#DzLDOvv$@H*YRox`cAi#=2^oG8hbk5aJBB z1S>Pf-P29vlzi^~Ty-Kh-UEZ5i&{G!_)=x5L^vN*n*a}9DZbEKy?gf#gNF|v!i2tm z|9)Oxo-j3Ekd>!TpQ2uCZf=H@bkFnp_3Irwc4TH|#>U1fLG+Bu7+o8hJ`B+4;Sc~F znT(^O#56R35G*L&{Q2`CD1H0(-Me?Mut#-u_4Vu58yXrgaC39By{_7(h7B7g2qDg3 zt0gqJiqvqoKjJ(>um8(vGb2{4bk2k|E3ry>DW zgb-)3Z@Om`w?+kdwRefa>JH%yIDI>O`0%Dpo0cqDA|vRwP@&-L-^N`q*R!&+@P4 z+Y}+hDRkXSo?idsXZS>TfpG|E)wi+=dNlNFu%*piA<)>^2&+3ZG}Nk^SWr__gJU}j zPYV03tgJ--u&^+He}CaT$WT#H0V_)F4AknnLVZ(&5C{1`1d9+tdIf%410h5+==iVd z2_ag66&4{xGf=PyA)0}LMF`Oh6f8oBW}sjZLNo&fix8q2{s900|Nj@ff$IPO00v1! bK~w_(`npy>&G#{c00000NkvXXu0mjfG*ojd literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-disabled-checked.png b/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-disabled-checked.png new file mode 100644 index 0000000000000000000000000000000000000000..43cb53ff86677fea286b99fc0214ae446f595c19 GIT binary patch literal 1684 zcmV;F25b3=P)7XtCUz8iL04*e z59vK2z5EaNz%bmKx%WBd zFi5b35P?C0C4>kJ5-cG^V31%5Ap(O0O9&AdBv?X-z#zdALIeg0mJlK^^dVU9-@iA0 z*sx)P5kiQ+j~tc|A}}PHzfVt3Pf1BheSN*tbN~MRpFe+^KZZEJe*KE<9FX8{9z1vu zGiE>LjVG)S!l6G7YvIC$U0q!{IXN*$B2sB-X<1oWjOQ{rIr+eW1Cu9DE-fuhNl7t( z3~{DRnG)GKAi=|8vh0{+{LULsSRsUiZ^4>4apL&#<7;YaVvc0Yg$ozv%$bv#n#!@P zuC7M8CQO)Mgb<=%_!F!_g9go>J-fHJH!m+Q=HQnvUm{QY_U%hZNZ>LhgmX7BF)%kgBN`yqQ=Qzvu2G|fk?i6`}X$j z+m4Qo%*@QQXU|qtRM`HHA3xr{eS7TKv8Wp*p4YEm+x{$&GOEiIfG?ezI^%Ky?d`-y}D@8 zqDPM&@$Zr)ON=-Fg|KaW7W%bn)v74-dTk2nH$n(ML_0IHX3fILBZf+*&d-39h2_;`xFnkJeY%&!VgnsPIt5>gf?%ZjY zXQ6QBv{5mVJ{p8YMv*7mPe#cw{2e`vS-W;E5;JVru!9E=npl*Vmt!*<8X9PjCP$yw zYg1GMjS#{Q(NaPLg%oDqym_?Awm8frZU}^lgOMXgB6dzr6iHYG%3@{9kpO1gym>Q~ zAWpcwjC_PF56?nM==PV15TVcVYP`A(&}K$c_TL^gz!s@qB{v7GQp`vGRO_PySq)?Y~Q}Uq@?8L z&6}iM)*|6GqW_T|PB?k!)2C0Z3Q!TZ87Tco)w5^MtXp9j_QNhfQpqTJ7fF%JDX#tg z{hREMMqOPUR%pS31+*!&Pn$OF$&)8G2*q+zHeM8(&^Mpd^4G6lPciG^!-sC&3Bzv0 zI!DYV6S?p9Ij`5Igb;p-UH2v1BIn|m;YW-gNGDTMQ`6GYZrr$GdvGPkk01AXZ)n-G zXAfrQ)TvX<$mP_jQ*ChyDYq^y(u9?ocs&H5<-XpL7xH%Ap%2! z{#3mXA}GjV2_XW51WO1J7$jIih`=Dh5<&z936>BdFi5b35P{);00030{}gXtOaK4? e21!IgR09B?8g2L?#nb)(0000 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-focused.png b/libraries/ui-library/src/components/six-checkbox/six-checkbox.e2e.ts-snapshots/checkbox-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..0923a749db80548c6dbd3f6a3b0424a447d216d3 GIT binary patch literal 1663 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 { - it('default', async () => { - const page = await newSpecPage({ - components: [SixCheckbox], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- -
- -
- - -
-
-
- `); - }); - - it('checked', async () => { - const page = await newSpecPage({ - components: [SixCheckbox], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- -
- -
- - -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts b/libraries/ui-library/src/components/six-date/six-date.e2e.ts new file mode 100644 index 000000000..43a6af557 --- /dev/null +++ b/libraries/ui-library/src/components/six-date/six-date.e2e.ts @@ -0,0 +1,434 @@ +import { test } from '../../test-utils/fixtures'; +import { expect, Page } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: Component is missing six-focus event (only has six-change and six-blur) + +// TODO: Popup is not keyboard accessible. Either implement ARIA APG date-picker keyboard support +// (see https://www.w3.org/WAI/ARIA/apg/patterns/dialog-modal/examples/datepicker-dialog/) +// or hide the popup from screen readers (aria-hidden="true") and require typing dates in the input (recommended). + +// TODO: Component should set aria-expanded on the input to indicate popup state. +// Currently the input does not have aria-expanded attribute. +// See: https://www.w3.org/WAI/ARIA/apg/patterns/combobox/ + +// TODO: Component should set aria-hidden on the popup panel when closed to hide it from screen readers. +// Currently the popup is always in the DOM without aria-hidden. + +test.describe('six-date', () => { + test('should open popup on click and close on Escape', async ({ page }) => { + await page.setContent(''); + + await expectPanelToBeHidden(page); + + // Click to open (this focuses the input) + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Escape to close - input must have focus for keydown handler to work + await page.getByRole('textbox').press('Escape'); + await expectPanelToBeHidden(page); + }); + + test('should select date from calendar', async ({ page }) => { + await page.setContent(''); + + const changeSpy = await page.spyOnEvent('six-change'); + + // Open calendar + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Click a different day (20th) - days are divs with data-date attribute + await page.locator('six-date .panel [data-date="2025-01-20"]').click(); + + // Panel should close and value should change to selected date + await expectPanelToBeHidden(page); + expect(changeSpy).toHaveReceivedEvent(); + + const value = await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => el.value); + expect(value).toBe('2025-01-20'); + }); + + test('should not open popup when disabled', async ({ page }) => { + await page.setContent(''); + + // Try to click + await page.locator('six-date').click({ force: true }); + await expectPanelToBeHidden(page); + }); + + test('should clear value when clearable', async ({ page }) => { + await page.setContent(''); + + const changeSpy = await page.spyOnEvent('six-change'); + + // Click clear button + await page.locator('six-date six-input').evaluate((el: HTMLElement & { value: string }) => { + el.shadowRoot?.querySelector('[part="clear-button"]')?.click(); + }); + + expect(changeSpy).toHaveReceivedEvent(); + }); + + test('should emit events (change, blur) and forward to standard events', async ({ page }) => { + await page.setContent(` + + + `); + + // Set up all spies BEFORE actions + const changeSpy = await page.spyOnEvent('six-change'); + const blurSpy = await page.spyOnEvent('six-blur'); + const standardChangeSpy = await page.spyOnEvent('change'); + const standardBlurSpy = await page.spyOnEvent('blur'); + + // Open popup and select a date - triggers change + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + await page.locator('six-date .panel [data-date="2025-01-20"]').click(); + + expect(changeSpy).toHaveReceivedEvent(); + expect(standardChangeSpy).toHaveReceivedEvent(); + + // Tab away - triggers blur + await page.keyboard.press('Tab'); + + expect(blurSpy).toHaveReceivedEvent(); + expect(standardBlurSpy).toHaveReceivedEvent(); + }); + + test('should skip disabled date in tab navigation', async ({ page }) => { + await page.setContent(` + + + + `); + + await page.locator('#before').focus(); + await page.keyboard.press('Tab'); + + await expect(page.locator('#after')).toBeFocused(); + }); + + test('should normalize null/undefined value to empty string', async ({ page }) => { + await page.setContent(''); + + // Set value to null + await page.locator('six-date').evaluate((el: HTMLElement & { value: string | null }) => { + el.value = null as unknown as string; + }); + + const value = await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => el.value); + expect(value).toBe(''); + }); + + test('should change month via month selection', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Click month selector to open month view + await page.locator('six-date .panel .selector').first().click(); + await expect(page.locator('six-date .panel .month-selection')).toBeVisible(); + + // Select March (months are divs with .cell class) + await page.locator('six-date .panel .month-selection .cell:has-text("Mar")').click(); + + // Should return to day view with March selected, select a day + await page.locator('six-date .panel [data-date="2025-03-15"]').click(); + + const value = await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => el.value); + expect(value).toBe('2025-03-15'); + }); + + test('should change year via year selection', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Click year selector to open year view + await page.locator('six-date .panel .selector').last().click(); + await expect(page.locator('six-date .panel .year-selection')).toBeVisible(); + + // Select 2026 (years are divs with .cell class) + await page.locator('six-date .panel .year-selection .cell:has-text("2026")').click(); + + // Should return to day view with 2026 selected, select a day + await page.locator('six-date .panel [data-date="2026-01-15"]').click(); + + const value = await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => el.value); + expect(value).toBe('2026-01-15'); + }); + + test('should update value programmatically', async ({ page }) => { + await page.setContent(''); + + // Set value programmatically + await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => { + el.value = '2025-06-20'; + }); + + const value = await page.locator('six-date').evaluate((el: HTMLElement & { value: string }) => el.value); + expect(value).toBe('2025-06-20'); + + // Verify input displays formatted value + const inputValue = await page.getByRole('textbox').inputValue(); + expect(inputValue).toBe('20.06.2025'); + }); + + test('should respect min date constraint', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + + // Days before min should be disabled + const disabledDay = page.locator('six-date .panel [data-date="2025-01-10"]'); + await expect(disabledDay).toHaveClass(/cell--disabled/); + + // Days on or after min should not be disabled + const enabledDay = page.locator('six-date .panel [data-date="2025-01-15"]'); + await expect(enabledDay).not.toHaveClass(/cell--disabled/); + }); + + test('should respect max date constraint', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + + // Days after max should be disabled + const disabledDay = page.locator('six-date .panel [data-date="2025-01-25"]'); + await expect(disabledDay).toHaveClass(/cell--disabled/); + + // Days on or before max should not be disabled + const enabledDay = page.locator('six-date .panel [data-date="2025-01-20"]'); + await expect(enabledDay).not.toHaveClass(/cell--disabled/); + }); + + test('should respect allowedDates callback', async ({ page }) => { + await page.setContent(''); + + // Set allowedDates to only allow weekends + await page.locator('six-date').evaluate((el: HTMLElement & { allowedDates: (date: string) => boolean }) => { + el.allowedDates = (isoDate: string) => { + const day = new Date(isoDate).getDay(); + return day === 0 || day === 6; // Only Saturday and Sunday + }; + }); + + await page.locator('six-date').click(); + + // Monday Jan 13 should be disabled + const weekday = page.locator('six-date .panel [data-date="2025-01-13"]'); + await expect(weekday).toHaveClass(/cell--disabled/); + + // Saturday Jan 18 should not be disabled + const weekend = page.locator('six-date .panel [data-date="2025-01-18"]'); + await expect(weekend).not.toHaveClass(/cell--disabled/); + }); + + test('should show placeholder text', async ({ page }) => { + await page.setContent(''); + + await expect(page.getByRole('textbox')).toHaveAttribute('placeholder', 'Select date'); + }); + + test('should show default placeholder from dateFormat', async ({ page }) => { + await page.setContent(''); + + await expect(page.getByRole('textbox')).toHaveAttribute('placeholder', 'dd.MM.yyyy'); + }); + + test('should navigate to previous/next month in day view', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Verify we're in January 2025 + await expect(page.locator('six-date .panel .selector').first()).toContainText('January'); + + // Click next to go to February + await page.locator('six-date .panel .next').click(); + await expect(page.locator('six-date .panel .selector').first()).toContainText('February'); + + // Click previous twice to go back to January then December + await page.locator('six-date .panel .previous').click(); + await expect(page.locator('six-date .panel .selector').first()).toContainText('January'); + await page.locator('six-date .panel .previous').click(); + await expect(page.locator('six-date .panel .selector').first()).toContainText('December'); + }); + + test('should navigate to previous/next year in month view', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Open month view + await page.locator('six-date .panel .selector').first().click(); + await expect(page.locator('six-date .panel .month-selection')).toBeVisible(); + + // Verify year is 2025 + await expect(page.locator('six-date .panel .selector')).toContainText('2025'); + + // Click next to go to 2026 + await page.locator('six-date .panel .next').click(); + await expect(page.locator('six-date .panel .selector')).toContainText('2026'); + + // Click previous to go back to 2025 + await page.locator('six-date .panel .previous').click(); + await expect(page.locator('six-date .panel .selector')).toContainText('2025'); + }); + + test('should navigate to previous/next year range in year view', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + + // Open year view + await page.locator('six-date .panel .selector').last().click(); + await expect(page.locator('six-date .panel .year-selection')).toBeVisible(); + + // Verify 2025 is visible in the initial range + await expect(page.locator('six-date .panel .year-selection .cell:has-text("2025")')).toBeVisible(); + + // Click next to shift the year range forward (shifts by 25 years) + await page.locator('six-date .panel .next').click(); + + // After shifting forward, years around 2050 should be visible + await expect(page.locator('six-date .panel .year-selection .cell:has-text("2050")')).toBeVisible(); + + // Click previous to go back + await page.locator('six-date .panel .previous').click(); + + // 2025 should be visible again + await expect(page.locator('six-date .panel .year-selection .cell:has-text("2025")')).toBeVisible(); + }); +}); + +test.describe('six-date screenshots', () => { + test('should match screenshot for default date', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-default.png'); + }); + + test('should match screenshot for date with value', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-with-value.png'); + }); + + test('should match screenshot for disabled date', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-disabled.png'); + }); + + test('should match screenshot for required date', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-required.png'); + }); + + test('should match screenshot for invalid date', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-invalid.png'); + }); + + const sizes = ['small', 'medium', 'large'] as const; + + sizes.forEach((size) => { + test(`should match screenshot for ${size} size`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`date-${size}.png`); + }); + }); + + test('should match screenshot for popup with day selection', async ({ page }) => { + await page.setContent(''); + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + // Panel is position:fixed (Popover), so screenshot the page + await expect(page).toHaveScreenshot('date-popup-days.png'); + }); + + test('should match screenshot for popup with month selection', async ({ page }) => { + await page.setContent(''); + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + // Click month selector to open month view + await page.locator('six-date .panel .selector').first().click(); + await expect(page.locator('six-date .panel .month-selection')).toBeVisible(); + // Panel is position:fixed (Popover), so screenshot the page + await expect(page).toHaveScreenshot('date-popup-months.png'); + }); + + test('should match screenshot for popup with year selection', async ({ page }) => { + await page.setContent(''); + await page.locator('six-date').click(); + await expectPanelToBeVisible(page); + // Click year selector to open year view + await page.locator('six-date .panel .selector').last().click(); + await expect(page.locator('six-date .panel .year-selection')).toBeVisible(); + // Panel is position:fixed (Popover), so screenshot the page + await expect(page).toHaveScreenshot('date-popup-years.png'); + }); + + test('should match screenshot for focused date', async ({ page }) => { + await page.setContent(''); + await page.getByRole('textbox').focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-focused.png'); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-date six-input').hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-hover.png'); + }); + + test('should match screenshot with custom placeholder', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('date-placeholder.png'); + }); +}); + +test.describe('six-date accessibility', () => { + test('should have aria-describedby for format help', async ({ page }) => { + await page.setContent(''); + + const input = page.locator('six-date six-input'); + await expect(input).toHaveAttribute('aria-describedby', 'date-format'); + }); + + test('should have no accessibility violations for default date', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-date').analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations for disabled date', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-date').analyze(); + expect(results.violations).toEqual([]); + }); + + // TODO: Error text has color contrast issue (ratio 4.46 vs 4.5:1 required) + test('should have no accessibility violations for invalid date', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-date').disableRules(['color-contrast']).analyze(); + expect(results.violations).toEqual([]); + }); +}); + +// Popover-based visibility helpers (six-date uses Popover util with opacity transitions) +function expectPanelToBeVisible(page: Page) { + return expect(page.locator('six-date .panel')).toHaveCSS('opacity', '1'); +} + +function expectPanelToBeHidden(page: Page) { + return expect(page.locator('six-date .panel')).toHaveCSS('opacity', '0'); +} diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-default.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-default.png new file mode 100644 index 0000000000000000000000000000000000000000..e199a33ba13367f198c6d683479b3c03ea5ab11c GIT binary patch literal 1877 zcma)7_gB+rAN{fs5VaL3sH_lVM2YM$jPSBT7(&^~IznP(q(B)(87iVI%M2jf1VjP} z5=zPlp&}cCNf@$=tfm41gj$gCe)|u+eV-qmbI<3w=RBWt&;5LE+D#|h(-I02005ju z*;%;)fIv2gUBm^!J4z9I9RS26P*xUhai!~Xj-d`A7yGvLxE{r94hMHP#And`eA<)T zTrYh~)dKy%zSJxkmF>10ZEtSMieC`6ux3}Nz;uH`Fie_ zaQ-|amOnoZ{Ep0Pidtj+=AQQI@bEA-HFa>%o;)6ZbP!FSVT4ZUdgsdZ{j7wHS^seK z^-Gx(*29C)w=_k=jy^r3bZ~I6yw{B5F8B0g$ep=lqE;d)DY+5TE(+9mck4J8!2_3i zvv@on9lx--u~9IX1F@y}wokCx5v#++GTI&w_IFlxdEAka5oFSFM=am(&K)9Y{LgVR zJ#25fg2yv|SbPMwWxbbwb6O*#M>l5O3r8e%*HNkX zd-pg`Z_mxmS(NN0)=fB5JMMpR5(2oYVjjM}z9AtY-rmI*w@GhudE<5NWT#T&h@E8= zu2PggdD%nTlXAQ5$Jc%l#upWUBEz5nlqVG1h8-=RYl}udzkiD!Uhr{kv|@!^Dy)P| ze6TVobB7k1-E03m-LNF=_;BAf2a(|CH(&2f^YQU%qR|Whcv!zYfy7zte!8Mh2lWAk zb}BP*Pe&7AIib0ilS3vczVz_2H{J)D2o;Jy^Y{-ok>l*{>50W)CdS74cN0KDWcC=) zrH`&x`V1WvtH!;!b|O%0?zLX)s^Yre`DOR)fbYuI6W*f27@NO#$3~Tlhxs z|Mi`U;Lu7W4%lihC@d6ncO}k>0Zi9^RvJX*e>m1=**Q^~ufxo)$beWUxCdm@fU|X*lfzFpN2(J&oAIgJsQzTKpMI@)xQmLauLs2GW*RBZs z?Qj2=G?_?*XlrZNRGY?b#+j8PqE>|&#FrEbrJ=_BTScD=g+ifh9T5d&VuxAb`uh6t@bH*+ zq^31>@&y^M!a5*4i68X?J3s7`ZQn`+9eMW!^bV(;ju<{SIr*$ z-B?wn0)++#1pK}_Qi4o8e1_4q^YMA1Xk$}dT^-CJp?0z&Lb=h=(dO~H{l7i{-ShPe zpP6`cug1I$4|< zI({WODk>^4u&OxBQuJ_YYAW7T{cH6vFfA=z?=j$=YO5fbPWS8-RcCK4c0;a;Z11Cl zpgc&FYFg_g)!(_?4AB|(Fg+t9*p9mI{9Hst&oA+fa4qC|e5ezy2`~+lg%+UD@ z%%rUkcQqo8Jm}tfgrQK0AdM zNhfS$lTX1w{I3yW^G8=?>um)x#pGLFGn3<8c=_ph;jR ko}B1Q<(&h8=s&3_1Q?qfjiooZ-U2HC%G$|_Vj1x0zgd-akN^Mx literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-disabled.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..348e871a837a13d8c4e88a91442456631e63b286 GIT binary patch literal 1939 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 l?nSZq*#L^tfI7pSUR@1-{4e7SjHLho literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-hover.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..baf5f36d83542eba8a786bc90d8a75a7fbb6f2dd GIT binary patch literal 1875 zcmai#c{JPk8peO3LYmS}i&pH~SYu65yUy5BY8R5&E)`2HV_%9eTB@3AOA~@FNa&@Q z5lhhMOjX6cR5g~-8tb5zqDmw;{rjFf_n+^1&vVZAeb0H$^Epqhv!ku(aoBMH07OxC zR;~abaGyWBh=BNStX!};00@hqtS-AJm9EX$hdV^byxl^Mp^HaGM?*udV|!~Jv?a=GcrF3!$6v5WoXkSzTS#P*<--ua4Jv&P0A4rP>Ffd}Yj1c6uJ1|N40* z*0>CV!N}zYPt^Hr%yw?9uRoe_qd7b{yEOE~;^&VU;aUg;eQF&B6yZfXO(UmUMWqcY ztEy%@k{he4Y}IqbWZPmEuH3kB_}s0Er0vK3_GPI+#mPWl|7d^fug^2>qN1V?(KYB7 zlWplxFRf#yfYHy8wzOkXXxjA-eFck2|x;sIr#NWIS6}I^#gDb|h zZEbDc-8N}GTY~x|)zS}kP|RM` z=17GtS<6Sypbs2cJ6|2r$X*;Q(~u}0TUuBcDAKK9FpNx0aDu=Xxa?mjby?FSXUEt+ zlBP-8!OlFZfZCe06~IzX2DRb`C{5QVU?tQi56{fC#jlFVnX_vJ5Pnc<;2R7EI&u8N&T#$SG+`SM)1ZI& zX~msi+T?CQzcDVkzVp-v?2Z}pLw+0CQ0LQ*_VHOyXy5JQ=OUYpxQdRB-s&bwpVjiN z7O?D?Gd=xznlWZq6Jko>mRfuj@OLehMdNTKscD@3=&-PPlO7#=Y{Nvo-*vzrgyb*P zk?{It>j`o3^dytXOL4}5SkR{Jl|8YVmoLruiK0<)Es@Elk1>sSp_diq{CG4qHPzOJ zbN07Jq6F`oItZa1kcjoOzfG-c`*w&pl-K)p_D*Y>nVH>-03KTDC3q2uM7?J%>~J_7 zKB6rIGfAj5C9f?n_w@I_(}+>CuAh*8Yfx6%`1(^1i#4LX&^~YUd_F!hGIILO%2*Zd z1%9?2$}#KbHlK?MHVj!bP1=0QWSYa_)Xq-c!S3p8Cm|oNW{1U6-!DrYs^fB*%E+q!2rl!XJ7go}y zim+;6sW@J(lEX<2E#&VyUtdC@9EU;&!q4b^92y*aKc&moei7v2@_Ue+rBYE z?>9fa)+Zo?-0#Nv6;Xe;v$WGbf0Y<#C?zGO+yYt2z4o(mqly%#uUbRV8W=%JdyOh{ z4ha;<=tUM|g;k(3dKkiG(RDE=8!uctCx6Lgf+%C;D#x4YBv^3hs+{ImCVd@#le%o9 z@DDo4^W^(V8O!h)w|}!6g9-ba&uFy8KW;(gEz(cOWaeNVR*>HQC6#2D<|rPG702U- z%YqU<@1|tg_$cQA<%My9;znc-cXvBE_WIsaHIE{yb)KZCl%5sAjKEE;@SO|xMx)WN z`ig1Eq~NSlr6vIfNdYVIV1J?%l18P%XYqUOQzT_O7~!WOMi2vm=?yi6rE6 z&YD4qW~MdZatGPa95L0LxbbIZV8!n}E+Iz;yOiF@S>_Cz&7PU@@%4RNt&~yJCFQk{ zJ~?Z}o7ff0`3b+2s}8yii4wX)+6vBq@QsE1Bf;Mpw^@D_!|;Xy7o_sI8&p8yTl9rv r|J^lrdHhD?@dgEbnEV0!y%Pn2{A>>A@42=Xz5<}E9j)qq^#A2Q1{Q9B literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-invalid.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-invalid.png new file mode 100644 index 0000000000000000000000000000000000000000..ec5ccadf1f8f23d46716b44e26ca77cbc817581e GIT binary patch literal 2830 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 CkvC%i literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-large.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-large.png new file mode 100644 index 0000000000000000000000000000000000000000..01a192a199be595f35d3186ef441749597c87890 GIT binary patch literal 2251 zcmai$XH=8f7KT3va+Q&YBGSz)3@RN%4I+qufRv$$BmzNcB0YdqDI+62nqVkFP!vTH zLPweuD=p*k!IY>e0N9;kV`1hRdv|f%*4mX1>-jOwC%Jh!zx?Ff|3b_ej`dk? zIi8*I`-6;d$^8eT)*u^v95~%GrJ6% zEebY%*fYo482GzM=6zzasn)I}-cIM7cjwU1kR0%&`vL^8lyC>`n0X61il**5Eh};e z@cX53BGUU*+)8;_nOPT9OzfP!{kwsIy-?^dFg2+Y>5Wp)Pu~YKaubF?HrS&V933Sj zB<{;b3U>HAJ3HIkiQ>S(6#KGJ)r&3(uoBClB>e6gB`$CPEhMHQQ?m%zvm#*YwG@2v| zh{nn@X4szY?#F9L?8Yb37t!eQRB}ztt?X=hMMVt_4I&qR)-FFQJNur=byaBsN-KoN zpp;pz_eeZdPK#%heu~33a#3jfx}fd)9ZZFpZ#=}>k$_h$7C`G@0k`rgAx*TC`@Fn7EWdppht0meu~gy#S61#w;-fVWNJ=Vm zxIsW6Q9kuEovu<-S64?0AxD3Gv8$sFJ98O6`SD{Jrgv|Doe2W*Kqy7%EM(zzwsgFA zU%02&!u&k9k?}O-Vp394d_3=_xI9;AnDa%x(WSzHRblICZJhx+HgMRT;6fx43p71x z!DV^H#S~Q(GHwdCaFIQ|a5{jMal@d+K8g4o@Frsn46rb88JR-4%T zJ6T|t7O|>ZFw<(U4#v*#;2>wLH4yJh1_l#s{_r`Kvsmos_=t{6K!jqR z#r^=zV;;V2W|q3x6~ie_^k;oyFc@Sq87{UaAp(r}b83~8l$@QNu~_W2rLop1mUBmo z|2xuj&#lRp2yPGv&fT^c7(j#hpP3WovPdH#!c4G#$a9}fS~?<=(^py?f$ znq*JHgHEzgx5vjzLXJ20r25slS9`Rsu!fHD*=^Aa9>MuX)sV=oSDBJXBvKA&d6{

(=TVJJ8R<#l^+R2`>tSBFbLQvsn0%wl*WoB;B-lZ$tU6ps=u!S!#RxNjMx1q6eh_ zuD-J$_%JswuZgj-#U-)`z1Sd3PEIb#Q%+VE{|J1U))3L!4|eix?T0=2$oPbW$*yD$ zlSwQr{LbNUTHw!JF&NJDbVCxKhYSX99$c!ORaaNH`}0kufK*x<8WNJ5kx@A45B&DF z5!z3c&DTG6-X*A-`|+-*%wHH7tXe#3P>a) z6O+&`Nh5vzqa{wx&IDAn__FKUD0jkstYN)@o`Y#~^@Wn}r?TNV1ui!$%FfKp3ypJaco12?M zAP^N575|XoV2#qm3)rkh4yOR0-=Tq^Kx2>U?X>2@7%3?!ot-A2A5-gfZ42k6;ZQP# z@<=)xhs(D{L^RwTpE;-!!!1V=-bF-2%nl0;`ue9UKX($ukm7vPv~H*d>iRx`$3T=% zDum^?dQq#Y)Kyfr);1=FE1}QhfTuI-4#7u?{anxL_wdht0D9nPxaEJOHNKs1U*DL zcFf;Rarv|t?$*|Ka7xrSH0ZtL_DGLi5047v7btLNtPG5ejkUEuY?41;RfNF`ibEM^ zcx#k9L}K4P0|SGRzzS6Klxgsr-$6zQ^4r*B{nWV;W@v%_F~ku5YjZp0xjsWUlBY_* zjE|3_P$-Ad0W#!pZ(6r17;R0>r>2^^YOG!{F|kI0W)a@j+||Y9$aGv!Y618dK1CAl z$@D9mUHSQkWc^>idgbfut8SsV>~8$ml}?R|Pt~u0^}mkhe|!o5BMd0GOG!z|0o#}S zH>LW3<$!P2yMHm~1rPub2tFZT8{kSJ`g0e70O^zZa=KQ6B~SruEFCPW&v^g&UlE!r AbpQYW literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-medium.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..e199a33ba13367f198c6d683479b3c03ea5ab11c GIT binary patch literal 1877 zcma)7_gB+rAN{fs5VaL3sH_lVM2YM$jPSBT7(&^~IznP(q(B)(87iVI%M2jf1VjP} z5=zPlp&}cCNf@$=tfm41gj$gCe)|u+eV-qmbI<3w=RBWt&;5LE+D#|h(-I02005ju z*;%;)fIv2gUBm^!J4z9I9RS26P*xUhai!~Xj-d`A7yGvLxE{r94hMHP#And`eA<)T zTrYh~)dKy%zSJxkmF>10ZEtSMieC`6ux3}Nz;uH`Fie_ zaQ-|amOnoZ{Ep0Pidtj+=AQQI@bEA-HFa>%o;)6ZbP!FSVT4ZUdgsdZ{j7wHS^seK z^-Gx(*29C)w=_k=jy^r3bZ~I6yw{B5F8B0g$ep=lqE;d)DY+5TE(+9mck4J8!2_3i zvv@on9lx--u~9IX1F@y}wokCx5v#++GTI&w_IFlxdEAka5oFSFM=am(&K)9Y{LgVR zJ#25fg2yv|SbPMwWxbbwb6O*#M>l5O3r8e%*HNkX zd-pg`Z_mxmS(NN0)=fB5JMMpR5(2oYVjjM}z9AtY-rmI*w@GhudE<5NWT#T&h@E8= zu2PggdD%nTlXAQ5$Jc%l#upWUBEz5nlqVG1h8-=RYl}udzkiD!Uhr{kv|@!^Dy)P| ze6TVobB7k1-E03m-LNF=_;BAf2a(|CH(&2f^YQU%qR|Whcv!zYfy7zte!8Mh2lWAk zb}BP*Pe&7AIib0ilS3vczVz_2H{J)D2o;Jy^Y{-ok>l*{>50W)CdS74cN0KDWcC=) zrH`&x`V1WvtH!;!b|O%0?zLX)s^Yre`DOR)fbYuI6W*f27@NO#$3~Tlhxs z|Mi`U;Lu7W4%lihC@d6ncO}k>0Zi9^RvJX*e>m1=**Q^~ufxo)$beWUxCdm@fU|X*lfzFpN2(J&oAIgJsQzTKpMI@)xQmLauLs2GW*RBZs z?Qj2=G?_?*XlrZNRGY?b#+j8PqE>|&#FrEbrJ=_BTScD=g+ifh9T5d&VuxAb`uh6t@bH*+ zq^31>@&y^M!a5*4i68X?J3s7`ZQn`+9eMW!^bV(;ju<{SIr*$ z-B?wn0)++#1pK}_Qi4o8e1_4q^YMA1Xk$}dT^-CJp?0z&Lb=h=(dO~H{l7i{-ShPe zpP6`cug1I$4|< zI({WODk>^4u&OxBQuJ_YYAW7T{cH6vFfA=z?=j$=YO5fbPWS8-RcCK4c0;a;Z11Cl zpgc&FYFg_g)!(_?4AB|(Fg+t9*p9mI{9Hst&oA+fa4qC|e5ezy2`~+lg%+UD@ z%%rUkcQqo8Jm}tfgrQK0AdM zNhfS$lTX1w{I3yW^G8=?>um)x#pGLFGn3<8c=_ph;jR ko}B1Q<(&h8=s&3_1Q?qfjiooZ-U2HC%G$|_Vj1x0zgd-akN^Mx literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-placeholder.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-placeholder.png new file mode 100644 index 0000000000000000000000000000000000000000..fbc2fd52ce23c15522df1c5082f6c6433283219e GIT binary patch literal 2185 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-popup-years.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-popup-years.png new file mode 100644 index 0000000000000000000000000000000000000000..e97fe04e44076068bf3ff9750e626dbca8940d04 GIT binary patch literal 14647 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-required.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-required.png new file mode 100644 index 0000000000000000000000000000000000000000..576691ac2419a80b166fe8450814065403f05b52 GIT binary patch literal 2042 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-with-value.png b/libraries/ui-library/src/components/six-date/six-date.e2e.ts-snapshots/date-with-value.png new file mode 100644 index 0000000000000000000000000000000000000000..87a33a3f70aca5a8871a0268ee642acd49efadc6 GIT binary patch literal 1997 zcma)-c{tl^7RP^~7%lB}i;kVEQJ1!~_T`GLh+XVUCECGN#VCobR8@!4#w0=MwRE(J z5+b$Si;~z|sdir4MOzsRNjqrzW z&>#GO{QqzGXim+^%}q&8o_F!`8f}ai>BB0KAsyvmvHM$>*VosRQA-+bWw#G^*Voqm z?n@48xkaQ>*FJV<$paF_g8BJ*W2~e3BYA^r5-F@74-F0u{v&3FQdfs;{1tcmY|K!p zS;97tbkznHamH5gB$v`(7%?+U@&%8X9S=F=#56B@jh~L zax50h!otERddk7gO>nr^APSI@B#mttj>&%YafjP0zbSs@v>z~Q1G!voadGj=$_gTU zh25mBudlDFI{T?NH)ZE*!LJ0X{;KY*Q%*WHEiEk-71qMQh{QBB|MI}KmzkNF4suW# z<~^}f99k;bsKwOObl-)!ToswRiE}HrhyYORj=ShpPCJQ2>glm%eS(KTr^#bv-*VU; ze%JjI2uqWpaWkK{k9FK!T*mCXy1MiM-FKlVxHmMV)weF#+uOSzqob|uBs$4v&wFDs znwpx7VmOU1h2jXmexKOgwT}(q!-Y~yBldQ7uBE11V4$6yo!=8zp9QUo-v&}b<>f5peyc@V2)h9?jVfVKRrz%F62lM{@A?1WVg zC_1Q5MwX0ETwFsNEpfeTGG$igc`+2~cm4V^Q9$E;x6o4w&%0b2daLqHFnWR-A|)lo zR^8g%Y)d;b)zZ4rlPzV(jMr1?aMwNX>vsSA`SV0$gr~K2#u3WOsuPBJ&RtEs78p1= zP@wIJK;ZFs!(qjyrfVlAUKDIhb1M7 zMv-g>pg#&yY@WKmxjI9CYkIJ=3QOL6K{l8kG`dv^n137JqLx{twnk64?(XhBd?<0S zURYRItQW4Kq0wr({yI+ugat%TQd}HoW0KmNBLkKZjYgv|8*wIhQiX;{qoIAs=!RiDY+Y z=KXv3prG?c3!sMcYqOpAWMpIlkRA>3OAOCS*Zx$X>Va#yMQKS1k0yvR^ZlaHBCOfO zDElRacdj{LWbC%lxOj(os8)?l*2$&3YZrr>sYD_a21BaQF)QrpR|#7?2wpq}GjR27 zX6CUaMHyMyR^$jK+S_{!>^e@4j=b`{d@J9`*5cJKrjVlW*qh?MzP_h+ZL0UjHzc<^ zJqTNmry2dAEHI*tlIxLS&exA(cby?fkhy}f04>Hn|q%48gC2~eoH>gX> zQc@pANA+I_p!$Nr1o!f^d)TX5bE)Ki6;-t~y8;VI&Cq;~i?j2?^*sb`W%3U { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixDatepicker], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -

- - - - today - - - -
- - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-datepicker/test/six-datepicker.test-helpers.ts b/libraries/ui-library/src/components/six-datepicker/test/six-datepicker.test-helpers.ts deleted file mode 100644 index 13443e66c..000000000 --- a/libraries/ui-library/src/components/six-datepicker/test/six-datepicker.test-helpers.ts +++ /dev/null @@ -1,16 +0,0 @@ -export const getExpectedMonthString = () => { - return [ - 'January', - 'February', - 'March', - 'April', - 'May', - 'June', - 'July', - 'August', - 'September', - 'October', - 'November', - 'December', - ][new Date().getMonth()]; -}; diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts b/libraries/ui-library/src/components/six-details/six-details.e2e.ts new file mode 100644 index 000000000..49656d45d --- /dev/null +++ b/libraries/ui-library/src/components/six-details/six-details.e2e.ts @@ -0,0 +1,411 @@ +import { test } from '../../test-utils/fixtures'; +import { expect, Page } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: Component uses role="button" on a
element, which is not allowed. +// The header element should be changed to with role="button". +// See: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/button_role +// See: https://github.com/shoelace-style/webawesome/blob/next/packages/webawesome/src/components/details/details.ts + +test.describe('six-details', () => { + test('should open and close via click', async ({ page }) => { + await page.setContent(` + + Content + + `); + + const header = page.locator('[part="header"]'); + + // Initially closed + await isCollapsed(page); + + // Click header to open + await header.click(); + await isExpanded(page); + + // Click header to close + await header.click(); + await isCollapsed(page); + }); + + test('should open and close via keyboard (Enter, Space, arrows)', async ({ page }) => { + await page.setContent( + ` + +

Content

+
+ ` + ); + + // Focus header + await page.locator('[part="header"]').focus(); + + // Enter opens + await page.keyboard.press('Enter'); + await isExpanded(page); + + // Enter closes + await page.keyboard.press('Enter'); + await expect(page.locator('.details__body')).toHaveCSS('height', '0px'); + + // Space opens + await page.keyboard.press('Space'); + expect( + await page.locator('.details__body').evaluate((el) => parseFloat(getComputedStyle(el).height)) + ).toBeGreaterThan(0); + + // Space closes + await page.keyboard.press('Space'); + await expect(page.locator('.details__body')).toHaveCSS('height', '0px'); + + // ArrowDown opens + await page.keyboard.press('ArrowDown'); + expect( + await page.locator('.details__body').evaluate((el) => parseFloat(getComputedStyle(el).height)) + ).toBeGreaterThan(0); + + // ArrowUp closes + await page.keyboard.press('ArrowUp'); + await expect(page.locator('.details__body')).toHaveCSS('height', '0px'); + + // ArrowRight opens + await page.keyboard.press('ArrowRight'); + expect( + await page.locator('.details__body').evaluate((el) => parseFloat(getComputedStyle(el).height)) + ).toBeGreaterThan(0); + + await page.keyboard.press('ArrowLeft'); + await expect(page.locator('.details__body')).toHaveCSS('height', '0px'); + }); + + test('should not toggle when disabled', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Initially closed + await isCollapsed(page); + + // Force click on header doesn't open when disabled + await page.locator('[part="header"]').click({ force: true }); + await isCollapsed(page); + }); + + test('should skip disabled in tab navigation', async ({ page }) => { + await page.setContent(` + + Content + + `); + + // Tab from first button should skip disabled details + await page.locator('#before').focus(); + await page.keyboard.press('Tab'); + + // Should focus the After button, not the disabled details + await expect(page.locator('#after')).toBeFocused(); + }); + + test('should emit events (show, after-show, hide, after-hide)', async ({ page }) => { + await page.setContent( + ` + +

Content

+
+ `, + // after events are not fired when animations are disabled + { disableAnimations: false } + ); + + const header = page.locator('[part="header"]'); + const showSpy = await page.spyOnEvent('six-details-show'); + const afterShowSpy = await page.spyOnEvent('six-details-after-show'); + const hideSpy = await page.spyOnEvent('six-details-hide'); + const afterHideSpy = await page.spyOnEvent('six-details-after-hide'); + + // Click header to open + await header.click(); + expect(showSpy).toHaveReceivedEvent(); + + // Wait for open animation to complete + await expect.poll(() => afterShowSpy.length).toBeGreaterThan(0); + + // Click header to close + await header.click(); + expect(hideSpy).toHaveReceivedEvent(); + await expect.poll(() => afterHideSpy.length).toBeGreaterThan(0); + }); + + test('should open and close programmatically via open attribute', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Set open attribute + await page.locator('six-details').evaluate((el: HTMLElement) => el.setAttribute('open', '')); + await isExpanded(page); + + // Remove open attribute + await page.locator('six-details').evaluate((el: HTMLElement) => el.removeAttribute('open')); + await isCollapsed(page); + }); + + test('should open and close via show/hide methods', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Call show() + await page.locator('six-details').evaluate((el: HTMLElement & { show: () => Promise }) => el.show()); + await isExpanded(page); + + // Call hide() + await page.locator('six-details').evaluate((el: HTMLElement & { hide: () => Promise }) => el.hide()); + await isCollapsed(page); + }); + + test('should prevent opening when six-details-show is cancelled', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Add event listener that prevents opening + await page.evaluate(() => { + document.querySelector('six-details')?.addEventListener('six-details-show', (e) => { + e.preventDefault(); + }); + }); + + // Click header to open - should be prevented + await page.locator('[part="header"]').click(); + await isCollapsed(page); + }); + + test('should prevent closing when six-details-hide is cancelled', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + await isExpanded(page); + + // Add event listener that prevents closing + await page.evaluate(() => { + document.querySelector('six-details')?.addEventListener('six-details-hide', (e) => { + e.preventDefault(); + }); + }); + + // Click header to close - should be prevented + await page.locator('[part="header"]').click(); + await isExpanded(page); + }); + + test('should hide icon and disable toggle when hasContent is false', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Icon should not be visible + await expect(page.locator('[part="summary-icon"] six-icon')).not.toBeVisible(); + + // Initially closed + await isCollapsed(page); + + // Click header doesn't open (hasContent=false) + await page.locator('[part="header"]').click(); + await isCollapsed(page); + }); +}); + +test.describe('six-details screenshots', () => { + test('should match screenshot for closed state', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-closed.png'); + }); + + test('should match screenshot for open state', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-open.png'); + }); + + test('should match screenshot for disabled closed state', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-disabled-closed.png'); + }); + + test('should match screenshot for disabled open state', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-disabled-open.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await page.locator('[part="header"]').focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-focused.png'); + }); + + test('should match screenshot for custom summary icon prop', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-custom-icon.png'); + }); + + test('should match screenshot for custom summary slot', async ({ page }) => { + await page.setContent(` + + Custom Summary +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-custom-summary-slot.png'); + }); + + test('should match screenshot for custom summary-icon slot', async ({ page }) => { + await page.setContent(` + + 99% +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-custom-icon-slot.png'); + }); + + test('should match screenshot for inline style', async ({ page }) => { + await page.setContent(` + +

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('details-inline.png'); + }); +}); + +test.describe('six-details accessibility', () => { + test('should have correct ARIA attributes on header', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + const header = page.locator('[part="header"]'); + + await expect(header).toHaveAttribute('role', 'button'); + await expect(header).toHaveAttribute('aria-expanded', 'false'); + await expect(header).toHaveAttribute('aria-controls', /details-\d+-content/); + await expect(header).toHaveAttribute('aria-disabled', 'false'); + }); + + test('should have aria-expanded="true" when open', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + await expect(page.locator('[part="header"]')).toHaveAttribute('aria-expanded', 'true'); + }); + + test('should have aria-disabled="true" when disabled', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + await expect(page.locator('[part="header"]')).toHaveAttribute('aria-disabled', 'true'); + }); + + test('should have content with role="region" and aria-labelledby', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + const content = page.locator('[part="content"]'); + await expect(content).toHaveAttribute('role', 'region'); + await expect(content).toHaveAttribute('aria-labelledby', /details-\d+-header/); + }); + + test('should have no accessibility violations for closed state', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Disable aria-allowed-role due to role="button" on header element (see TODO at top) + const results = await new AxeBuilder({ page }).include('six-details').disableRules(['aria-allowed-role']).analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations for open state', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Disable aria-allowed-role due to role="button" on header element (see TODO at top) + const results = await new AxeBuilder({ page }).include('six-details').disableRules(['aria-allowed-role']).analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations for disabled state', async ({ page }) => { + await page.setContent(` + +

Content

+
+ `); + + // Disable aria-allowed-role due to role="button" on header element (see TODO at top) + const results = await new AxeBuilder({ page }).include('six-details').disableRules(['aria-allowed-role']).analyze(); + expect(results.violations).toEqual([]); + }); +}); + +async function isExpanded(page: Page) { + expect( + await page.locator('.details__body').evaluate((el) => parseFloat(getComputedStyle(el).height)) + ).toBeGreaterThan(0); +} + +async function isCollapsed(page: Page) { + await expect(page.locator('.details__body')).toHaveCSS('height', '0px'); +} diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-closed.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..0300d01310bb6da5ab5d669b637394116aafebdd GIT binary patch literal 1576 zcmbu9X*8Q@6vtmG)}mTeOKZ9@4HLC*2c=1Iw6uxXW9eXsimENPMj2E~iBh6=Rbp2q zmRM_Klu}!2DF)M2DyT{fv1Hz!`7m?lxsJmj>qM!u;U*f|$?@0FYTrxT!5Zmo@8XfyT)7ZIn6?WwfR)A42?Wfw&><7&-!% zMr;Z|CJ+cyDJhW@_y`_tI({8-Gk6R?5q!)Jj*v5p^3=Q@v7oA#zrJvL@-`dKe(oH( z!E4iFHPAy#g@%@PYrJxfCczZ|hqOhYOPF6Q=7fMOped{hcpq^91|LW{=Z4B0s$VD+N+N4S-6*WrH`e^&=&o4WH|itFNc7rYPoj|D^)YqBkDJx)kcA!ew; zpWknbHN{L}O*POO$y6#eHa7O@e5c=gSoBF<+y|da9lm2qDf69#c|Hr5z`(%VsnJp7 z@th`+Dq5-{?|3GO)Dphwz0U1TI#yF6e#(HoHrv)s?CI$_uI9>Kp9f#%K1?XJ%E~tk zgE3gI6D83dN=P!wK;ls%YUYc*;-tDYbaMA>d6?&i{!GIvu$B216nm-&E1N^2p9|og)${t!0XfV z^4cRfSff)~K54Fn;_^DdtJB(eXCyLR)`g1SD7umuy7qxw7BJs|KA|1W4X#dmhXkT3 z&a?5q|4KY0B(a?L(zE|)dqdOhDI^Nj;4^X-LYnh~DV!0cgYCMv&n;CNh@37lPbH(u zD)JS;*%z1)#+M_Ou=J~s6_^;_-VWH!!r=mwO5)J)ut^Xj`4Nr}D&9%p8Dq!G`*er1 z)vwSVJ>*qYsb)Gw1jf~Rn_2OF*(Q|+Y+;LPTw022yry1ynWvr>SF3g@|G~r2k#u^O zv+^mm+!S>dpC~-r8nQ_Pg}H|5C5a+mEZ19Q!RE%mNmM@gCY89Evp4(u`=Kw#MeNXM zrstiHZ!!t>(lLS=j){_r^j|=EsHmu*o#XTDVB?~GUw-R`P1ARr85J$I>fuY%l$Eiv zRNb|L^ga;2^nwNvlTALM+1D7Ov!3brMA^nJu&lj;t_ta*U?-qP73zoEj&%RdWwOrK zpu2Y$qm(|c2Q%=jNp*h;Wjvxc)^zYsmIp{}W{t5}BdRWHOJX~BOt2;{lY z1nit_i&21q{=NH(f7{;wbFy9u)r0KsV+c2rJFSEPo|2Q_qTPXJ!`NdN!< literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-custom-icon-slot.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-custom-icon-slot.png new file mode 100644 index 0000000000000000000000000000000000000000..6e3745904880bcdc5f69fb52533e95d946967b72 GIT binary patch literal 2009 zcmbtVdpy(oAO5=5S#BliAgNPsMP+9lxg>Hq!p3Yf*Cf(%Z!Wo(YH7;l7m|i`T=(0I z#1OeHw_HQ+F;1f+_d|4q+sHyxAOHZ!+Wu*Y z1OTyg@NczO9DF&hT2%nBC)L){9Cau6+jR8fK2Nny-utKVADVpm56?2OozP4@*UKLc zSP_r6r4!qZGRKpP(u+IXB9HfI%N+2LK6X9ln_c9ybMss4#-_ETh5kI_`5FIQUcye8 zV5k2re__U*k8fUx?XVAr!&AioWlL2cR5DSjc;`1~`t- zvDtT3h;qCHVD&Bpd!h1#wD6A6$2KXzikePQ|+^Je& ze^a~w<2*4jp~>`sl)c3-s2fN20()x*$Yxq6PPBD&$Q?1NzMLfYKk0RS7`vk<`^@F$<{2N;lq1HG!rw1m zV@jqRH45(nR?9paHh=Kg`1#(q;fq5xK~v?P4d)}4J}LOSlwr@|hKe$@5I6k%xD!>K zax);e)i3X%H+s)rQ_61{!Z)&=KEiVi2i3Jsp3GrlYJ;aG_Q?H6dl$2@#3bw+p`xLH ziCZ^!k`eH^F6=k!rxa|ZkG*~GT>BGeB(k4uMqVg8^dRl1*(j5HJ@^e4K^`o$ z3HbOB-9}oD5lgOG7$8S2e~zAQN&LGfyOu5Bub73+S!QTDJd#z7Q+#vln{YsXuS%MH- z6F8Bnj@E;cocCgtN3G20`fjf;R>f_txmMlK>G{2Ut@LVh z!lp>~BA&FCosm(9b+SVcDDZ$0DlBBiB&+PC-ShQk_e!7k@YdD`d(L2AU+Oc<19t`O zhZ-yQj3C5$LbRDE1jPqQKYR1zD+)!MJt7O@(49-+`BhZvx?hDi((jc%9vsHcG9u^V zH@9O;`1Scdk^|{H12^39@Uo-?N3d4J86)P71)&Pw= zQWwV7bFZOXtGI7Rk5QD{FLQb%X`YolICKgH{ka`R`ebFPPwS$wa+K`C7YaciC$@ENpBvuVwvZhWNh z2al?^4y*7OwkeC`PA1pn8AnmOh62;nO;NHG<%36#JgO#odoM<-hPW;SjZ?3(UMx%`qc17`vL&YgBC6r)CPfVe;th4w2zU=f8?>Cy_3J5oSJCzcP43gcn^H}+;|+Ec4M$?pXx4q# zlp@@43C^>GN7$$A)fDG?25Y);%B8%mt?h^U0pD)cP_Z5Qnr;ASr4oK{-%D64nds(H zFFVd0SOJG?gC^AUGhlbu|8e5>lTBkW@e~Drx^dJpg=c`Dw~wWc8$~Q-${~@+>H?Xb z7{}zT&7L@v55+8qX*o7FljvrZEWxrExO0J?@@RX5L;JO&LpWY}JxTs({=z3jxT_u% zeQDyTgwEr$UXajKH`FbfY6Y3b@UpP50MDvLF5}Y&q?XroR4f(7rZ^QEK%opLO2Ru8 z15L8Hv{ReJDGe*enRf^My9>X5^>w$E&JkBQ243vN#l`O5lnynSf^6{_Sy{!w*_#k_ z^b6s>!f5*VNcGW2ssB&JZ=Jf1No$bL(kKVmoVIVpSEg>VgMm`EAb> r{!g%p!~kG-H>grn2?n(E&t#SWyub5Cv4fjiUr6t8 zT}bvYw#LYkeJ^Ag&;R-IetF+d@AKtc=Q`JY-M@36^E>zN+_$kZ737!X2Z2C>=4Nm^ z5a>uM;G6Pt0QOZ{LNy4)i#3NEIfOl1VuqSI`b+byDfMHAZ8|a#+E9Nx=cj^W^n64| z-VubklNVZXM2m8kOFb2a=t$5`p+Tj*oIRXI$Bimq&hO!SI1}T>OCwl!`<3c*E*X5fmPyS5b!T36gW*w!Wo_~a4hC=W~MTc$WO`1 zaU-2-i;R*1_vLs|gC^5ciH{l^AP}@hInnHt02E@!&6)f!LoShrY$l6!*hM+Nk^AtW zJraq0ej$WlpvMczi^c7%ca#kbIJkQQfV7r_y={yiqj+R_tcsJ9Q!{F9BBuNt z@QN8rFE6jaz(6}YJ1lnV`NdEV4-btSbgch@gp?F+=8LGn*ZzKS^_$v%bxOFyw#tdh zce1jw=%K6Z-B^{T%WA0th4%;)g&@` zb@Y9a2H8TCvHyG1`kAggagLl!B3-!|9v=Rox>`S)UE|fB?(XhB+mo|8@a9B!1P-S_ zVHDr6uZs-NcPzR2ezfWi`M0Q=(~GJzot{?l@xu819So^GhLh(C0>QWWqF|^RGqoRm z(3y3PENdVM25WkJ;+@*hH-9K1BH~nv94T|VWCRay)LH{hNKBNzaVi;oV_&$yC>g5> z->j&pFu-l;<97$Tx=QY_>S}S@0bld^B3yuaus3Fs%gW9+`3{xd@@ylCDrzc~3zr57 zpFBxWM4Fiql_gVuI$xLKT>P~-6!vS~-dNa{jjWAuJl@pYJOrSk8bB#znTs&*Zt2>4 zqxI3zK0b3muBqrtQTvyL7W)gWGp((x{tSviAI(;s6i{=Olaq7M7FBgf-Ap_#V{CQa zrx*1(RlX{K859zNK+T4KnVW1$Rq zJ>9O?5-jS{|LR&Z*fu`<0*nju4u#MOT|wqMwvl9bgk&REzUgr>HfB0pD*Z|b3qIx;gqe?OB|jd|H}2r7*OT?m}GXBgMew73WGF4i^a^{}dK9+ws` z;za9f%9=3WuV0JT^9NsDqeN^ieF&canx4!v0lX5Oaw}Q6~Bb*B?9*g{--ieP_ ziksC7S#ZcT=m}tcl&9c+&c!@lTN-({9!c057lh(xhF%tJ)9tSeXJ0OU!In0R)RlEA zbHz8t9(|3tTcaIz17lS2wYT-DrYEBqTR?5 z8hWPTi;BWX=iQ*7bRjjzw**M3M@y1k9n@uNV&Wd;m|7#ue^gp8h-)tahD>^`+l;Tk zE{_UI!BEIoS5HYF92{s~rgP&~TwPs1D~5Zwa})s6tD85`B=cY}@BX6bMeYnbo!*-f z644>8Bd)5bM^3k6WUOs1yG&I%>!S(rQl#N4I!^gcFT%;4x5p|=s;a7>zW#M5Z8Zs% z_phogQF6UwjUGtqmB`b3~ZkThyb2i^7l=FASX=uys6=q+$Yi&e`nHg`uUB6>_ ztFm%(^}uCi@81Yg+~&KHA}{QQzIKj-YipawLx6Mp2(Q0HOd{U?y!Jrtjau<&WA{#|cA z&1@ZCu_O^fD}nFCbjtcW0+mWVx*MF7)^eJ*CuK@Klj!J5YA-H^5}p(m7WNtjZqD^7 zKu0$8A4`d-Z@2h+P8JZ^h5*@pY;%j^T7VB*$RdeI2~Y$MB&8;oJM zJ_f7k>D};=le==${oXTvAt7Qt4clgaEIW}Rmj}5yl4lT zI=zlkex-7x&QSvd9KkcmH@4f#nrGA1wN9*y?|{?PQ*F%6%_n<2{v*KuLzDlX5R^yk zFjE;UY9z+~Qyy&F_vwuMe`)_}utxLq0CRC_LOlq?k2gaZ;i9sary~6y5M?^oDg%HJy z&TI-Cynvp8Mx=*N8bnQprahr>O@8IM%2=KdZTSbpW%n^k7;v~i8^Xb#wMChW%j} z3}$1#4a;3s2P7a|N_3e{;CpELeC|5{Q^A6+i(WCbg5+18LZFVNhnX7{FO;Kx5 z6&2sPo=1z%^<%e!nGq`z^%)h@bpn2aPfg?u;|g((O;I6h+}DolJ3qeI7MYWN9pr?$ zM!c)?EV7^-d|w>yN|n!aVR%`kLQS|_E>%|FeB#kLyJD03;>!n{E0fzB3yfCw18HFy zy|)da3x{}*Xb^#Pc64i?-V3vIC6~sq{8+}q+@~79aVmu}yA{1YTZ(5LwA|uF%mWcT zyu6OGU~uZZEn=$tYGoO&v?_A-x|f-%S7z6qEy*x-)roLlNEX?Zr+x}s7wDqPFi}MN ze5hY5xm+;z+=aNm6CNlOZ^5Si)~lwOdkJ6VVb(yHs~i{=Kte8L4aC<)Do?Di@hSi78&Q6B!=ePOGLkw>l(+|r! z#LeYrPIXiXxLeP|bEXQD0Uw*9fnoXW@Q;2NFMx)uh zGt=qHHp{4-i{Y`HFM#E=n-=YXEP<1?0m?SHFvlu|?y1@Ur?LJgI$yp{F$={!`E`UW z#wzgx8*d1K0(?0?^$uI*8IYb|f7O%z1~%BDyD*R!#A()N&~5UpLqA@t@dZ05=-e>k zL;Ff_w&I|2bsi^Q0X}7T53H9bhG>V6&Gph&RLoU+E?)GL*7g5{g&_#D{5q#0qJDeJ zQ_MPW_p#eY1fLj?E($0%`>_dFhw$Zz zkiD%nQRl@#HaQWR4#xIAR?DnuhX$sQV$^bDWrL(?xH14dh`w zjcG#>9a)YMppJQQ>nnVp9t+E7h6GmZy_$Ov4j5 znnuO*Zdv9hJk4*f5R|{xRT}9(QUbow8j9)7Y;14#sGcMqKPxq{S2*Aexzo&CL%ta~ zKcD=zJ?7h|Ll8az(ZA3bGzI*D8M&&-!m-?4G5RLBwFUi~LkeXtEOm?Dp`XIb=q%Im zO29Fu3iQF2s!Wq>p5XzW+be3*v)$=8Q|uTTNu{{bw6!M6jHi)~ux$d(Ikt?nyBQrh z%_q5fC_wgIP|#4E?k}9UQ?0+5xw%^-o)uReR|50V0-mq;@X#mY5Y}DzeD%%YsCiXf zN$}#3qJYfxS$JO=MO{aA;*OhTW9&A8tGB^@h?`4`8g0>z%or>Jck^{sl-ZXLm2@Xm zYsT%#iVG^eZ%1w;i8Q1SQViyhVh`|;Kb@A5fhjKu|1wrf4@BC)YDV$09*_d9-LEhe zl_a=mYb#;rD|;g+kxb^Nn(@(6QZ5mbgSF$!0Jw490CD*=o0&WzDVKPrN`Xb6KsGJQ zH1&1oY{9z=e`cPpUqN|z6oR{Tw*0d7Z+h>L~%ywq>)?+@!e$H9bcR9+qqG0VQ7p`r12$D^wfN$Z<`hHkG5 zP7;594PX5@C3NCkJ*6xD8i4b!77^C{}HKR}jWx-=6|FuLsF9`JOSIk%i3;1yy`TMKE3*td+ VelcDJ!2tziW@3$cZtVJxe*$abHu3-f literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-disabled-closed.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-disabled-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..52dd70d032f177c459f3221f5db15e97ecdc8f7a GIT binary patch literal 1607 zcmbVNX*ARe6#wH{qD5s=Qi?305wbLR_H``T#=hk>wx>}zc4I3^N;1vZMp*`9mt~B# z5|1p?m`u!|^kQVI8J*D}@88GwKD-az5BJ=2&)v@bo%_34SL`hhh)Rh90C2$C%FGD> z_;NwpQiLDWgon3D03f(yZD#BeTf91J9p>V3eDLd|<4b3QhvM*LbB2d>dKyXGk;!_I zqau0Ths1`HC?#okm6TEzDzep zwf4#Bc@EwtPeWUK5$I2o5C$y7-GR|FO#sf=pYLLNKfk|4alhy-lY;=kD?UDc6u$+T zdY&$P3a~AW(A7^?bT$Ey|IH9e73|;7FP3uRw_|{&i0Ur}-1|dEo=hfNSXeL{6Lxvg zj*gB@Q`B5{0gHkrolGfE3xG`3x;2W5iD_Bc+uOt8Ud>lueR!Ga*66!-DvAB~Fy0{H zzKr2|vSVQ2#}SN*BCI0l#y;}Nlv3LKydnC>PS*W{`}dC)=}ZX9J%mg(_;g*LB}ac8 z%z32fK*YyyeF+E;ua9A|KfT_$fq0L8($%#+*OTDao0yg0qKWH@*_fi!yZq1fW>!Y* z$}KeBS)n(E1(}=QBGyN*OocG%bSwt*mO^Rzb6TUMJ!Dcra(H!TC(!`v-sBH9c@v#$ z)6Qn!gjm8Kt4{YOZJT|lkGz|mEi5b?v(Btx@U|mw-n4TIb=3D+C>^rT-d3kwRN=02pKlVLfJN{74a&rsBnY%Gx zRZ+nz_jGpVEW8raN~1}VW4~T?a>^64NJ)jnctottv=!-~rlj3d%jkr6>_g{Y=btBP zyXMy@u(>OV=9+s*qYWVNEbSz1N+%Oin#*jM~9NWZ?+G1tDw?kl+Q{Wwd_{_*|eo#w+LM(#%mmK!3YEbZ;1YV zv3kK&Qx{d2RWxFSaVsQ+Os)`WRjHn)oANW8q4GXnPEIZ1jCNcC)VJGRESpHbbb?0U zt$6-LF~Ssn)@p0slz_H)SFhs)a&<@QRNNYD?L0dN5bkJ85<09pjNb5SRM>na3Iw0( ziEl9tj2_U!Fv!s>MAzE&`M$5C6d9lbK)QpsB$-{`2r z>U#7>zrFO@&%$;22e3A`H)}BQPx}XP`~!&q literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-disabled-open.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-disabled-open.png new file mode 100644 index 0000000000000000000000000000000000000000..9cac6294d523fc82eb1100eafd45775b9b87e26c GIT binary patch literal 4591 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-focused.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..0300d01310bb6da5ab5d669b637394116aafebdd GIT binary patch literal 1576 zcmbu9X*8Q@6vtmG)}mTeOKZ9@4HLC*2c=1Iw6uxXW9eXsimENPMj2E~iBh6=Rbp2q zmRM_Klu}!2DF)M2DyT{fv1Hz!`7m?lxsJmj>qM!u;U*f|$?@0FYTrxT!5Zmo@8XfyT)7ZIn6?WwfR)A42?Wfw&><7&-!% zMr;Z|CJ+cyDJhW@_y`_tI({8-Gk6R?5q!)Jj*v5p^3=Q@v7oA#zrJvL@-`dKe(oH( z!E4iFHPAy#g@%@PYrJxfCczZ|hqOhYOPF6Q=7fMOped{hcpq^91|LW{=Z4B0s$VD+N+N4S-6*WrH`e^&=&o4WH|itFNc7rYPoj|D^)YqBkDJx)kcA!ew; zpWknbHN{L}O*POO$y6#eHa7O@e5c=gSoBF<+y|da9lm2qDf69#c|Hr5z`(%VsnJp7 z@th`+Dq5-{?|3GO)Dphwz0U1TI#yF6e#(HoHrv)s?CI$_uI9>Kp9f#%K1?XJ%E~tk zgE3gI6D83dN=P!wK;ls%YUYc*;-tDYbaMA>d6?&i{!GIvu$B216nm-&E1N^2p9|og)${t!0XfV z^4cRfSff)~K54Fn;_^DdtJB(eXCyLR)`g1SD7umuy7qxw7BJs|KA|1W4X#dmhXkT3 z&a?5q|4KY0B(a?L(zE|)dqdOhDI^Nj;4^X-LYnh~DV!0cgYCMv&n;CNh@37lPbH(u zD)JS;*%z1)#+M_Ou=J~s6_^;_-VWH!!r=mwO5)J)ut^Xj`4Nr}D&9%p8Dq!G`*er1 z)vwSVJ>*qYsb)Gw1jf~Rn_2OF*(Q|+Y+;LPTw022yry1ynWvr>SF3g@|G~r2k#u^O zv+^mm+!S>dpC~-r8nQ_Pg}H|5C5a+mEZ19Q!RE%mNmM@gCY89Evp4(u`=Kw#MeNXM zrstiHZ!!t>(lLS=j){_r^j|=EsHmu*o#XTDVB?~GUw-R`P1ARr85J$I>fuY%l$Eiv zRNb|L^ga;2^nwNvlTALM+1D7Ov!3brMA^nJu&lj;t_ta*U?-qP73zoEj&%RdWwOrK zpu2Y$qm(|c2Q%=jNp*h;Wjvxc)^zYsmIp{}W{t5}BdRWHOJX~BOt2;{lY z1nit_i&21q{=NH(f7{;wbFy9u)r0KsV+c2rJFSEPo|2Q_qTPXJ!`NdN!< literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-inline.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-inline.png new file mode 100644 index 0000000000000000000000000000000000000000..be10e55d48175c043ca9e1214ad87cd5ed4298ec GIT binary patch literal 4776 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-open.png b/libraries/ui-library/src/components/six-details/six-details.e2e.ts-snapshots/details-open.png new file mode 100644 index 0000000000000000000000000000000000000000..f6f25d1341bef3af4d0ec957930c57d1b30feec7 GIT binary patch literal 4687 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 { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixDetails], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- - -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts b/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts new file mode 100644 index 000000000..3ff6ac258 --- /dev/null +++ b/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts @@ -0,0 +1,213 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-dialog accessibility issues: +// - Close button (six-icon-button) is missing an accessible label for screen readers. + +test.describe('six-dialog', () => { + test('should open and close via open attribute', async ({ page }) => { + await page.setContent(` + + Dialog content + + `); + + const dialog = page.locator('six-dialog'); + + // Initially closed + await expect(page.getByRole('dialog')).toBeHidden(); + + // Open via attribute + await dialog.evaluate((el: HTMLElement) => el.setAttribute('open', '')); + await expect(page.getByRole('dialog')).toBeVisible(); + + // Close via attribute + await dialog.evaluate((el: HTMLElement) => el.removeAttribute('open')); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should open and close via show/hide methods', async ({ page }) => { + await page.setContent(` + + Dialog content + + `); + + const dialog = page.locator('six-dialog'); + + // Open via method + await dialog.evaluate((el: HTMLSixDialogElement) => el.show()); + await expect(page.getByRole('dialog')).toBeVisible(); + + // Close via method + await dialog.evaluate((el: HTMLSixDialogElement) => el.hide()); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should emit show/hide events', async ({ page }) => { + await page.setContent( + ` + + Dialog content + + `, + // after events are not fired when animations are disabled + { disableAnimations: false } + ); + + const showSpy = await page.spyOnEvent('six-dialog-show'); + const afterShowSpy = await page.spyOnEvent('six-dialog-after-show'); + const hideSpy = await page.spyOnEvent('six-dialog-hide'); + const afterHideSpy = await page.spyOnEvent('six-dialog-after-hide'); + + // open + await page.locator('six-dialog').evaluate((el: HTMLSixDialogElement) => el.show()); + expect(showSpy).toHaveReceivedEvent(); + await expect.poll(() => afterShowSpy.length).toBe(1); + + // close + await page.locator('six-dialog').evaluate((el: HTMLSixDialogElement) => el.hide()); + expect(hideSpy).toHaveReceivedEvent(); + await expect.poll(() => afterHideSpy.length).toBe(1); + }); + + test('should close when clicking overlay', async ({ page }) => { + await page.setContent(` + + Dialog content + + `); + + await expect(page.getByRole('dialog')).toBeVisible(); + + const requestCloseSpy = await page.spyOnEvent('six-dialog-request-close'); + + // Click on overlay (outside the panel) - use position to ensure we hit the overlay + const overlay = page.locator('six-dialog [part="overlay"]'); + await overlay.click({ position: { x: 10, y: 10 }, force: true }); + + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'overlay' }); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should close when clicking close button', async ({ page }) => { + await page.setContent(` + + Dialog content + + `); + + await expect(page.getByRole('dialog')).toBeVisible(); + + const requestCloseSpy = await page.spyOnEvent('six-dialog-request-close'); + + // Click close button (six-icon-button with class dialog__close) + await page.locator('six-dialog .dialog__close').click(); + + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'close-button' }); + }); + + test('should close when pressing Escape key', async ({ page }) => { + await page.setContent(` + + Dialog content + + `); + + await expect(page.getByRole('dialog')).toBeVisible(); + + const requestCloseSpy = await page.spyOnEvent('six-dialog-request-close'); + + // Ensure the dialog/panel has focus (keydown handler is on the base element) + await page.locator('six-dialog [part="panel"]').focus(); + + // Press Escape + await page.keyboard.press('Escape'); + + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'keyboard' }); + }); +}); + +test.describe('six-dialog screenshots', () => { + test('should match screenshot for open dialog', async ({ page }) => { + await page.setContent(` + +

This is the dialog content.

+ Close +
+ `); + + await expect(page.getByRole('dialog')).toBeVisible(); + // Screenshot the panel since six-dialog host has display:contents + await expect(page.locator('six-dialog [part="panel"]')).toHaveScreenshot('dialog-open.png'); + }); + + test('should match screenshot for dialog without header', async ({ page }) => { + await page.setContent(` + +

Dialog without header.

+ Close +
+ `); + + await expect(page.getByRole('dialog')).toBeVisible(); + // Screenshot the panel since six-dialog host has display:contents + await expect(page.locator('six-dialog [part="panel"]')).toHaveScreenshot('dialog-no-header.png'); + }); + + test('should match screenshot for dialog with label', async ({ page }) => { + await page.setContent(` + +

Dialog content.

+
+ `); + + await expect(page.getByRole('dialog')).toBeVisible(); + await expect(page.locator('six-dialog [part="panel"]')).toHaveScreenshot('dialog-with-label.png'); + }); + + test('should match screenshot for dialog with footer', async ({ page }) => { + await page.setContent(` + +

Dialog content.

+ Cancel + Confirm +
+ `); + + await expect(page.getByRole('dialog')).toBeVisible(); + await expect(page.locator('six-dialog [part="panel"]')).toHaveScreenshot('dialog-with-footer.png'); + }); +}); + +test.describe('six-dialog accessibility', () => { + test('should have no accessibility violations when open', async ({ page }) => { + await page.setContent(` + +

Dialog content with some text.

+ Confirm +
+ `); + + await expect(page.getByRole('dialog')).toBeVisible(); + + const results = await new AxeBuilder({ page }) + .include('six-dialog') + // Disabled due to close button missing accessible label (documented in TODO above) + .disableRules(['button-name']) + .analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations when closed', async ({ page }) => { + await page.setContent(` + +

Dialog content.

+
+ `); + + const results = await new AxeBuilder({ page }).include('six-dialog').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts-snapshots/dialog-no-header.png b/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts-snapshots/dialog-no-header.png new file mode 100644 index 0000000000000000000000000000000000000000..3c9ea9317710725efccf0c146153571940911259 GIT binary patch literal 3715 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 Q4LkuE>Y3>hbsoI{WTPY@A)(fK0x=>X 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 I(X-e81wrE*p8x;= literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts-snapshots/dialog-with-footer.png b/libraries/ui-library/src/components/six-dialog/six-dialog.e2e.ts-snapshots/dialog-with-footer.png new file mode 100644 index 0000000000000000000000000000000000000000..bf9600b67e0ef7f8798258621f273cfe054ef819 GIT binary patch literal 7224 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 { + test('should open and close via open attribute', async ({ page }) => { + await page.setContent(` + + Drawer content + + `); + + const drawer = page.locator('six-drawer'); + + // Initially closed + await expect(page.getByRole('dialog')).toBeHidden(); + + // Open via attribute + await drawer.evaluate((el: HTMLElement) => el.setAttribute('open', '')); + await expect(page.getByRole('dialog')).toBeVisible(); + + // Close via attribute + await drawer.evaluate((el: HTMLElement) => el.removeAttribute('open')); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should open and close via show/hide methods', async ({ page }) => { + await page.setContent(` + + Drawer content + + `); + + const drawer = page.locator('six-drawer'); + + // Open via method + await drawer.evaluate((el: HTMLSixDrawerElement) => el.show()); + await expect(page.getByRole('dialog')).toBeVisible(); + + // Close via method + await drawer.evaluate((el: HTMLSixDrawerElement) => el.hide()); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should emit show/hide events', async ({ page }) => { + await page.setContent( + ` + + Drawer content + + `, + // after events are not fired when animations are disabled + { disableAnimations: false } + ); + + const showSpy = await page.spyOnEvent('six-drawer-show'); + const afterShowSpy = await page.spyOnEvent('six-drawer-after-show'); + const hideSpy = await page.spyOnEvent('six-drawer-hide'); + const afterHideSpy = await page.spyOnEvent('six-drawer-after-hide'); + + // open + await page.locator('six-drawer').evaluate((el: HTMLSixDrawerElement) => el.show()); + expect(showSpy).toHaveReceivedEvent(); + await expect.poll(() => afterShowSpy.length).toBe(1); + + // close + await page.locator('six-drawer').evaluate((el: HTMLSixDrawerElement) => el.hide()); + expect(hideSpy).toHaveReceivedEvent(); + await expect.poll(() => afterHideSpy.length).toBe(1); + }); + + test('should close when clicking overlay', async ({ page }) => { + // Set wider viewport for this test to ensure overlay is visible + await page.setViewportSize({ width: 800, height: 640 }); + + await page.setContent(` + + Drawer content + + `); + + const requestCloseSpy = await page.spyOnEvent('six-drawer-request-close'); + + // Click on overlay (left side, outside the right-placed panel) + const overlay = page.locator('six-drawer [part="overlay"]'); + await overlay.click({ position: { x: 10, y: 300 }, force: true }); + + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'overlay' }); + }); + + test('should close when clicking close button', async ({ page }) => { + await page.setContent(` + + Drawer content + + `); + + const requestCloseSpy = await page.spyOnEvent('six-drawer-request-close'); + await page.locator('six-icon-button').click(); + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'close-button' }); + await expect(page.getByRole('dialog')).toBeHidden(); + }); + + test('should close when pressing Escape key', async ({ page }) => { + await page.setContent(` + + Drawer content + + `); + + const requestCloseSpy = await page.spyOnEvent('six-drawer-request-close'); + await page.getByRole('dialog').focus(); + await page.keyboard.press('Escape'); + await expect(page.getByRole('dialog')).toBeHidden(); + expect(requestCloseSpy).toHaveReceivedEventDetail({ source: 'keyboard' }); + }); +}); + +test.describe('six-drawer screenshots', () => { + test('should match screenshot for right placement (default)', async ({ page }) => { + await page.setContent(` + +

This is the drawer content.

+ Close +
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-right.png'); + }); + + test('should match screenshot for left placement', async ({ page }) => { + await page.setContent(` + +

This is the drawer content.

+ Close +
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-left.png'); + }); + + test('should match screenshot for top placement', async ({ page }) => { + await page.setContent(` + +

This is the drawer content.

+ Close +
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-top.png'); + }); + + test('should match screenshot for bottom placement', async ({ page }) => { + await page.setContent(` + +

This is the drawer content.

+ Close +
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-bottom.png'); + }); + + test('should match screenshot for drawer without header', async ({ page }) => { + await page.setContent(` + +

Drawer without header.

+ Close +
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-no-header.png'); + }); + + test('should match screenshot for custom label slot', async ({ page }) => { + await page.setContent(` + + settings Settings +

Drawer with custom header content.

+
+ `); + await expect(page.locator('six-drawer [part="panel"]')).toHaveScreenshot('drawer-custom-label.png'); + }); +}); + +test.describe('six-drawer accessibility', () => { + test('should have correct ARIA attributes', async ({ page }) => { + await page.setContent(` + + Drawer content + + `); + + // Wait for drawer panel to be fully visible + const panel = page.locator('six-drawer [part="panel"]'); + await expect(panel).toHaveCSS('transform', 'none'); + + await expect(panel).toHaveAttribute('role', 'dialog'); + await expect(panel).toHaveAttribute('aria-modal', 'true'); + }); + + test('should have no accessibility violations when open', async ({ page }) => { + await page.setContent(` + +

Drawer content with some text.

+ Confirm +
+ `); + + // Wait for drawer panel to be fully visible + const panel = page.locator('six-drawer [part="panel"]'); + await expect(panel).toHaveCSS('transform', 'none'); + + const results = await new AxeBuilder({ page }) + .include('six-drawer') + // Disabled due to close button missing accessible label (documented in TODO above) + .disableRules(['button-name']) + .analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations when closed', async ({ page }) => { + await page.setContent(` + +

Drawer content.

+
+ `); + + const results = await new AxeBuilder({ page }).include('six-drawer').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-bottom.png b/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c402d0075e6174c3d3383db13520a226aaebef1b GIT binary patch literal 6901 zcmeHM=T{T$wue_mY4V~66p^Ad=}jpDK?OwwsnP>MNI-fADJB9cBE5!=C`cy|I-w&F zNGKM1fR_?FgdQM}-0}VgXRUia-Sc6uHEU+g%$_~_*}w8c8t7@UGTmUJqoZTheyV9i zM@Jw3CocU3oMD^J%cP_Gn@(Hv;fvQ<8`F&DFNoCkopW2vTc78{ZiqG1MKViSvm(89 za0N|U7S2+Qi=*BH;3g?z#5BeSG3VOeQDKeY{H32=j_MlOR|@P3hXX=>hR^h9+m zj|v>+sFNabJdJ2$oURtJ#f{o^f3gVU;NkJvb4ZMch@f9&GISi$OIL7PTV&HomGBzl zk+N=5otq92j^%??J-X1@vH0H*=nVYKEr`c4&EM=diqsWC@w^ZsG7-G2Yq3t6s zf6%jk5{r(m6x0=0hl~{4N0>@lWmrMq3DpnPIR_H^In>)6B~ck|o}v3L8)>o(@#6S2 z<@NT^@bHMs+2p=nSbuU=;9=)`W(}=o4tDlin1SQhb#u0CBIey-a8A&!_PV4I@s>u! zK-#@29Io`q!PNWH6Ydy^AkQm9P>j6+k&sS+Rx$0wLcxQIPT1=MD{tT+K!SwgJn&%YTx- z-2CiFH)=^vndvfP0uH*wnXa}uCE_xC5yGbmT^O5fz+lEukf9J~YS??68C)vhzTb*L zcb7eGw0-O%tDJg|)MM*K6O0DgJhmCOZaQ%V?StI!bg(b@#4!+|b9N?#Ff??Ws&z8X zd-R?Lr)2-u1Bf?ul<&oavaE+ZVr^UAc`7%ehXVzF%*cpChj1` z!pP+|kln^_i%Uf|`5){!*-FS9ZcUNFn7XCv(1%m`(utWoDq)gZsb5kg*BvVSb5;GE zk3XffKF`oS^F#;Ytr4d?qeVaD(lQi?8WczG*_rD~GR+6+WF?78V`?N-C(m zw>-#oKjbJ~o?T8OSyEPZSxr@JC{w=Bx7g^3zt;x2l0X0x6{MsFgT9t#P90U*yWO~@ zUR_{1AKA;NXoPBbjB~3kF@Y6J`|1}R|32PZ?uzAg8*eX6tq&MJbX)4d7Tr0vzH!g> z73lPM8M1g-OMfQWyYDpo0N$r5vD3p!ah!jZuBymin83Cg*0_iFN>#2)jF_+x@A@(8 z+ZJ++CU8oa4+q)*5`Ml*#3A91fy|wqo%8cjf?)ml(ik+chX!ij4W#ZA=He&34JO4* zHYaNnjT2!-SGc$=ij4|}YZ$-kpX2jE?3KQhdoXq5`YUB>N~xLqbd#U(X*BHKnT_MT z!JiBq`xiD`eMD5070lV$6TH`#)|^|aG#RHne6ZO0S$T*4pS4Lz#%pA~X|RXzbj?g& z$1i>DN`KPKbd^Sgq|ZswMdtds3FFt9}$7m;DS!CQ!HZtX}9egUtX!Qe;mbGZdqG$ zrdFt%Ew&I7%QK0SGuWB$j;UFHs|GnMgk9u%$>mh~Vj%Ng68onOQKwR?LcQWdA(&yC zW84;EV@A@xqVqjdIt3@8Z#rCeT4y2VuqdN^On4idAa1J>5f{(q(C7`jHkd171^rZ#NjRgnqzp6HUvNqN*Xh9OtxFwCs zh={wHiVH&{jAy^04Ks-A>*7|IdG9C3#}8u*^I!<_?iPA#XF()dt7`_L6ZCtT0cx>E zE@xm%uq=RwzodrL-}Tnw{RUTe*^YOm*u-jt`JMP4t0_@H_;s9X*u_ z)XTYB>^awY2oYb9c8UQ{@~OZdxv014Af?ZCaVRvwUEY4zX?wp!y7dwZlk;($V;Kt7 z_a>dAzr=JPFcXY$oBH;=`x6J01EJ+v2|k~;^TW66<)X7g-xZ<5 zjcH0BA+YuNjY7e~yY2+6L#~#ed;8h3=i1%94BM09+~YF|pOQP6fwM(>0CtQjzkG$A zS#4pr3(GPyLxi~%o%dZ!Q`4In$SCqmwlc-O(b)m6-=e+H^Q-VVkBWQq0q9_DH07(1 zh=`)gBpz*8q5iCT@t2f~)gYqH;a2bd;jU%d%dTjPYP_TzVf|-g(%jQ46WX*O1mRue z`X~wsscmlgb#dJ=o7)pH!z({I2!W?MNMee!} z3e?#lh9m|4_y^w;lr5&!)hNq8vpxDD%LNtIl*3gwI?u|BOs3}M>>3qA9dB{(3IZ|4ZvQ=NMU}m!a}%?&wYcHC z`jf~C@nBI2`du6C!mZvWlJlAnvPOO@$;dc%-+zUl4EuICMWWY=v{>e^T9!U%va@nzJ~zyQxiR$P2R(LkmmALxo{cURX~y>?5JAL&Hn zeMGKBwY!@u7@Tcc3)z_Lp6Kg45sc!LoL^l%9$6ddjmus6g&9lIS53&ux_P~3v%Mpn zot-^J%+z&y5~a5}iQWsCML<432pxsPmt4X%{CPp%N8M7^&yw%lVnadNT7w2M5UP84 z`;n3f<$4S?RzW1>76`=8|6p`-cX?>`pH+r(ORB~e_HcaMJdm6C9k|h^%|@-wF?S$I zB#v15_|v}t^5|=8JDgA{!xq;+q)r9{V7b{`?>{J08u8awcWBhsZ7BtJY-Qe$A3r$y zF&87=McD)UMr$>fMfUOrZw#sH_vfs#r4*dOU<2LV zLORP=d3g3F+s6;oh}W>KoCjPO9=@H9xPn9`KbLVVmu)4e6v}&XubPH z*5dbo88yGP7m^;N`R*uOPt-MOxRRgq?};Mkk&>Jk5c%YDhgKYK%I2KoAU?CLeRmQ@ zrQ*!Wk_FP(0wO;2cYS&MXpIvEvQn^k*lq-H=pCGHPRPXZ192DJKeKbsMn}ur}Tyw<05H)%wMC0b85rxGvDy3GH-USXvtO0R*C1RGWUV21s41d;e$s z9;K;(^O-2t>1s0uf!#@#A;~k+E4O0W?(N5)u#8AiYb|n>h2}B+eib* z=Cl>Vo79CYwE*|I=Ej5dF(l=Tafg~eG{v8Jf%dT zS~KnjqC?<8O)Zo|+&djppWC+ubW+5GrV7CNsy2v#l`Sc0-x)N_ z&2Y>-XEfc6aL_^PeZa&fGLZ*`!#l^J!vT2T$&o z1tyM?OuYN2X|J){Eb@pu?Vw%;+=Q~RfKoc&o1>14k&5mit~3y^P;f~ z6&lQSdQ(O}&Y_pwmWdabIpe3kuaA{0K4afFf9}h z&NHpB6yhP&BM@z%H^7`AROabp2dx>$P&!PxLA#NE{(zz~Vv=rcX+SV@bE$n@pBXR* zm~#Gj0c)oHv()YQgzV$;eL3RU zCM}PaPd!nj^+50??`}autA!p1)n1DV+!u4O%~M-OEnc1#t=sEaNQ<|^#=5S zuvMauvO%}k?CzQD#`bY&ScE6Nmz64ykDx%Df8}a6BJfPE#2xE6)k$}Lt_rO>= z3l5%jOrshYf74qZ{aVP9%gUdvMMLJoM3(_Ti&D3;110M?$b&Md|4?v0k0uY+iTy|d zpKQpujy2|ne_zu9L|a?jv<%#8SCCMrbns|d4^U|18>7`)WR;%mmjW|Q{+k*3&cCq< zhs!GH$+MpIa|On`I>L58Rnkv*lwJ>`!{4n^_~5T*%8Fq$%bA%g4Ie!+ka`2jyfnRC9HMYJ$)2)?dz8>i(Mp>Y6l0?VfpGdmN4iB|9Y#!7|EeM_-z1l8u(%t)aB8!!-(KrS_GlM=~2klEtmv@|OcK(^K z4TyvU+rE#wyo1>)H^wzoTI| zC}_OK$+%Iv5977)WGF}NBFlCDU`rblG*mlqq}aG{aekrNNebM+KLs;#f=WLze;Z_U zvp8kopaUajRaZvnznu(=(iL2opU>CyhA_P9`oPMq`g%J})*gzlweP*mrOk8S7dtTU zJO_|}Jz*D^%i>I%Uwa7zvrF(RDtXOo0yZ1058U(6-#>{yIYHrl&5U`aZ3n>r_u#e} z{+pA2q?s1Lzq;};{lvN@$Rua7$*&a87o+t_^j19g`Sa(on-o%8u82Ob3g)qE4#AaI7y3J>*0xG-N%lJwwo^F<<3dxhWq77oWJ03@5Nsf<8vLm zvNIF7{EFOwt-z*iS+gusr%N}TiJ}I&@~0-~-__*%bgqh@@4_K*zSI8_d?EDez@G=3 z_n!-Q*!T8UIbX-Q$9&F575G&CBe!EWghy&%qxqrii3L?xZJ5t&*XC1v&}kKCFTTlx zd7kAg`UKaK8oFvl38SLVH#dv$jem+Y4LTy4aIaS7!iDeqUPz@hUMvoe5~&w7mQak1 zjxO4y=^{AaUWS_*-8C?Xij3qn_*#!ZD#clBWt&Q8igsW|wYWGYY^&p#|I$$4B#$f2 zryf@=G*Ww5jI~U)=N1)oB`d;YQxVKG@@8I85I*=~wF1msEiJ5aS<{oT8VDar-{2M%0r@|npu z=}z8ztLkd{>cF_gfWqTr0wO|EI@628U#SH9qeqWEP>^$*{bI>X&{nnLMeHa(o|>BS zY#PiN%SoVnJs%<=QBCkZ1omY0y!WckPY^|qJ6<}B0<-x z@BwAjX744x!kr09h$<&3VYo1Kdt)I@O~#jR{Qdx31ojgcCyyej(29mHT7LCgW+mfx znz_s1ou7A@mBP=o6Kz;A;ZZ^+ytSrmU1}pLc&Qi1Y)}oxzz+zDhpfC5(DbLf$x2h7 z*7-mg^)hIi=TRz%A@K**h5S2BC}38svId_uT2XGFgKniNk(9BKGUaBGo9GU~B9>N+ zWFdu5@{A}Afpa~XuIFp9PwPe$A+@+D3OuTNt=e}~Nh**e=Q3LQKnhIS{v0lF**qI5 zt?5CnaO(Vi080sisbHNq)6}RY=@@i7q0VQny4iZ&rFU(%7q&E7YOC(n@fOcz&Gx3N zpF4-q16HM{mAt@_%s;j$>xK@Xc8FG0<@xt`Cq2+w$R-o&Mf{js% z(nKSIJUQt|8TH8N<_L<@j|eMTR?>h-=|Hfi1Us3OopxPqt%fQWf?ah$XCswm+ZfWy zidnvDp5N?CAUS97j~Cl9*0v+#r1<&yx#&%3V+dz@cY|2rlxer*h%>>k*Edt_|5#8! zAP;jlWhRvx#uk!pM;xhf?|1AS^H-Dk`tGu^xRhbs{97(2&&vm@Z@yUAw?5*9+QF~dl zRCgP{7wL}^n4T#55b6C;i&B6o)wS4Dd zO=K?zDVn5%Y%1J`4P@B7=eyeylIo^ghDuU$Hpi}6787x!2C1s;6lE>f6!m%*gSwZP z5L^Qryiz>ElSl`ZSgbxs<>$lDT1c7Bg~9clPrE`bk4A+hy^rRr-`0@rC3s#R@tDdDLIzME8jK!a#Hjv6RqMoe$h{p$x81iB;ua3vVt23PO3H(S$oEKr+yBC zjFr*$d+g>`$p5SS66y7MIl1fC7R!Z;>D}V=+>)Jc_u1U3c1gHW!*q+NvMr`3S&)_> zeS=BDjW+78Zp~yF&VKrIE}dFYbUED{o5)$;yU|z5G<7A~wuq$(WQz{J$S94xD7k~Wrz5LkI zGm1M&1N3Xkw)NG>2~8BIqn|i&Q!B%hDxvg*#(B}^*%YB@S2-kZlyq(OhpC1PYP8I* z3PhP7MNfrFc8B(7c3z{~6ZcmHv&%-gcp;s#hJ8r*P_$O$Bz|pWk6FrFNK-7P`*HSBplivM!q|d171Z)ofLtZ45kJ4psUT2s>)@u5-&F!o2m2x2~Pn6*v4k>$T5)l1aTpBxT!YHS#SB%Tx$Usl(Bv)=Wvj2O zUqA_pm%-j~m7VL&wl6?3a&;uOX@fP07cMDYYqU-P(c(_4drW?6#z_4}FwXisYMRF< zr>*VS+GPo%pyAI_gYFK=D?q|QBQ;+TBC@HNJ{xiNp; zCuPRTI|j2xNpx*Ra=0C_c)4%|HIbQP*?$a}M|` zV*C3e%TIsqOXn|QbzEd+V3XvniVN-VX~Eix_`K#b$^No(*S)OApOqy9v;0u;bPwW9 z^L7!2;xqFC6EX&YD+$^99JL6BjLyv=NcsjZ_w7UO1#i+xpPpTWI637#_2w_tn?Nn& zL9cuTyssE1DT-mFrLHi>rD_nS9CLxJX{+as*v^GN7^ykI)qg4&<|uQQ-FOZ>nkPbm&kE zQi$=`b+4?ckxlUt@e(s$T(>er>&V;YakA$ulq@TU)=tVJmnn$AMV5;-YHOw!$<*21 ziLv}@4e@i=-5lz7Y9H6tzRxrB&8Q_H>cR;Pfolg39(2AR)JMQLSXfxZpV45-J-k3k z=(DdqDkORp_pRF72$?FMbyg)uDI1)xC*$!+8Oo>Y3| z%rhy!&pr!=qZBAc zQkOx23$0^jV8&T)HK&f`>yjX?JLUMw%*QHtqu&m!><$mz5I=vTG27^$W(z8ZWMp zA=_JtWaASJ^i)CO+P-3YjT<9W3*OSR=o|0A}`whDVPZ&(Q6h zNiJ!=9IjO4|23Ji_k#L9uRBsi#zSCIrV;_afV`B%{^=&*gD3 z#x|cE=pG>!#Y94*y8D)P&He$Sw7Bx)v%HA%_4%+1b$4(`<;I^xPH;uAI%0ccQwn5P z8_;Z6Gi}m3Apt*M@cO7j_Pzo*b^!L)?sjiFp3XO# zICg9VfanBCu*-U~B5Sjk)@e)mwe6Q#KO<|pv&*JRqqRaQbbGD2_d?D)NgwYO51E{iAZWn=5)M;MdR3*m|V@5Bxe(ov>!Mq<){{ z;hqyo(Aq<&6BIdQ;}(@u<3+bPDScRZ0)1;thQJ(sdG*=CWySbm}P zCbnBC*VRJm_13Q8y)JaEvZ>%(&< zn;I1n5$F+Jq5cflbK&kAVkINKHx2CCg`z4xt?pnx2k0NeNDO}&Id{<@o|r0Yy6rNP zA2;8ZDJUX>Q9n)?`NLC%tT`hd>&{Z4JXtwA#l4_wKE&w3s# z|7C|qWZfcx(UX8;?e^-hH;7#Aeg$D zGs-yBJRy6JRqJZ~C|xrZ5|ASiA(f<*$o#FM%w8wSTi3~27eD3f?i>J9(4N#rG;63@ zoY*BMYr3&G!Tr|E4`TRVUwc4iN#DM62Z1K?c6YZ$SDp^Nes>X(GN{xHe(qhJh~;od zKF-b-OCUs(efiI<+NOvI|A4%~>IK#Jb^4;zvhVmakU!Ad)!@$Kl))T>cqD!Ns)|bG z>#(Vsr4c-DE}b=YF95XUG$UazsRFN6yP>HWL@RvAyh;5Y5kt3OqD_OvDCN&`#IOSW z73T9czH_vm)Rs4x-|}oH*CQJL*OMB=Z&=&mthGLkKK(~Phky*L0m(>ng@y21Q#}2{ z=6gt0p`qAKsp~)UUDQ4B@OvYy17IYHK?*L7{KoXN+a3u^Ox4s}~5JE{acpYFB7c^yp+)3ijon0RaIH z4xjKKWJKgh2)$w$Hd5b&^B$c0^yyDF81bX<-OF3I!nfJJ%FkAQK5H?EFJ8ZoV4J8- zsReC?o;+)&yJ-;+@E1M|-tQ^|Q^%>_%!ZV^Jxr9ak441+BiGi~ zrF5Lj5#sIY0-|SQW8X+>d;OV;TW(}3a_H*>PeNw!*3a`ydZCzX)m%ZY0$yXqe#4`lfdN-+!g}SGI#}@$> z5tl|qYtP?bbxP~eZ)CP<0HE?M6x|KDO5KW(n`P!@JbapGQC zf|_%0+Aw8STb7|=!Cfdw)bzEm_>j4`G9?F5vc?n(SE<9toxA0&%P^Ta?XcnP=et2t z&&g?VQtD4U;ODPgX`?j1iaCH7ukPIK$^xh36Yc`&IRV>Py%zGY++iQPmHq=d#<~@M zCSLb@rL;5oP9VlqnhJx$Wx5U?!|zSFlGbF3uXbjv0}hrhuewn`ZZRvos=2w z`=%rz@Hdx+LEp47JV(B8J_ZkjF2!pZozd_i*1gjTm|!eV?M`ZXx4e}c{u=1v-YcmF z#GuzHZAhO5o!OGOM!V8R1Yx-WTVB(UnR@I`cFgUr-0nl&NLTp41Q%*w=+G>5S|uR6 z{cMM4!F^H#^s8{+?oMTtfgUZI{1q$9#?N+n5Nn%R@+r!DQ=gBVWY!hL;vErRW=pk} ztMPU5(wan)X{IJr9+CW`u|b*Dv!HtSh=l2eBsiquh&_#vLghLG^vSWb?S~d2I#HGZ zodHMB2$IV<(}R1&)e%wM?G8J*vN~em7iS)D>1eB(fXjf!W@;@bVOkvXRx&nX$SwYL z>8;#|Obzq7j~~BAQ(|+O4r{+RkUH|XtmYUue@rXN)&8nl!t+PJH%;O^VbBmMQ}*K$ zPsDoy@{4=-JapjlV^E3PasYJs>Ws}y>WrUlLqLTISA@00-O9;|n8`QQ!f&U|7g*H; z6_At|+&xkP%3MwX2S*&49o^j;tOIb9g9bR>SRj0DxDge|7@l7oHr@dJz_kU0)E%+E z6sA~O?7hqYoJTF4+B0ZU6`cD3AH-_#TAe0(&%nD_lg)Q9cRs9Gk5{w|f7Fc_(2rr> z_?Pwf(ZGYUtJa~~h7--sm@pMlW(k(!NJVT@xjW)%OLi`6>TQNW7rB+*<9H4Gr)=@< z(1-U@tErc(!ykb15T0sD@|H%6+QBR)7)gJO10lv`tMM?#1eUNqxF(vc>%X{BeH!pk zJ06xkrSsu@T8&^Mr4tQ-RdKNja+tQ`Vn>fUz%ov(&R(1D{CIV6`0G`UmrY-W1_A~L z6xCD$9qK#v{Q$u*9fWyzyJ4O9(wh80`KG(Gx^h3n5qI{o(Ffw{x+y`D>|5dF%MQRl z%dPwOYj|MbBzXA@+MMzFv+Lryf9FOcNlKQIZ`!MPe|24eGH~uOh>pz+)T(t6D+C=a z+zV*|6i+=WSiV06->u6$x7}xpqoWvyZ+fjb5Xi+>trR-iSjcJ|Ac~nkKN-y$u_PbY zx%+bjWHvGwt!;61Vx39g*!_aI9mco8MK#zN>Q=x>3jNgJD&T>2jYN~xygc-(@=bu! z-9z*SwR>7t2A*Mu*Fd|*5$fdlLDCwj%9R_!vcc@3=dmOvV4dNjXbSGg*aoj>d$}Hl zF)qr=PZ|O?K2~6qF*Ebo!L04AwIun?EcA$>nIU42CNmx>EJ?huOCEySgBHO ztQ}qoe4o~SvnVbjEiTc^ykJZGN<(2naM)T%P8;YIa0)jB5k)~Wo1=JC z&ZG5@S8CpwS9u@zSUf@f{+9%_DvyP6<`#fnBPY{^403p|FqAuv-?cBRE=MmKUKIQd za3$y(77B85_`S&fg9ljRh{3Pwehq{c$_ip$ZmQrWVxS##H~M(17=;H=&@+E{eX|?L zGfLjb@-|yc{wpeK{>{uz#PJDUr*181t#T?!TCeJ2LZf}Y^82w4QzLa#fToZ z1_x~bRlD`h?K4~Srqc?1wdZ$&|C3FZ|2?_?ul0lenc9D$$@WiB{|V}UtYiDnV*3AR zG3gQUi@-sFxZmdj{vUMf|H=LTHTSE!z;TVey{W=TEb!sr@5J!)9ctB74ec(x3tZtd NylbjgdfVaE{{VI!vi$%6 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-left.png b/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-left.png new file mode 100644 index 0000000000000000000000000000000000000000..9921734f656e13277238d999286138257cd5a256 GIT binary patch literal 7846 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-no-header.png b/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-no-header.png new file mode 100644 index 0000000000000000000000000000000000000000..b1720ac1fa063eb1bb921e6283014355c5d77f32 GIT binary patch literal 5535 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-right.png b/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-right.png new file mode 100644 index 0000000000000000000000000000000000000000..9921734f656e13277238d999286138257cd5a256 GIT binary patch literal 7846 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-top.png b/libraries/ui-library/src/components/six-drawer/six-drawer.e2e.ts-snapshots/drawer-top.png new file mode 100644 index 0000000000000000000000000000000000000000..c402d0075e6174c3d3383db13520a226aaebef1b GIT binary patch literal 6901 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 { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixDrawer], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
-
- -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts b/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts new file mode 100644 index 000000000..1e16faa9a --- /dev/null +++ b/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts @@ -0,0 +1,375 @@ +import { test } from '../../test-utils/fixtures'; +import { expect, Page } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-dropdown', () => { + test('should open and close via trigger click', async ({ page }) => { + await page.setContent( + ` + + Options + + Option 1 + Option 2 + + + ` + ); + + // Initially closed + await expectDropdownToBeHidden(page); + + // Click to open + await page.getByRole('button').click(); + await expectDropdownToBeVisible(page); + + // Click to close + await page.getByRole('button').click(); + await expectDropdownToBeHidden(page); + }); + + test('should open and close via open prop', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + + + `); + + const dropdown = page.locator('six-dropdown'); + + // Set open via attribute + await dropdown.evaluate((el: HTMLElement) => el.setAttribute('open', '')); + await expectDropdownToBeVisible(page); + + // Close via attribute removal + await dropdown.evaluate((el: HTMLElement) => el.removeAttribute('open')); + await expectDropdownToBeHidden(page); + }); + + test('should open and close via methods', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + + + `); + + const dropdown = page.locator('six-dropdown'); + + // show + await dropdown.evaluate((el: HTMLElement & { show: () => Promise }) => el.show()); + await expectDropdownToBeVisible(page); + + // hide + await dropdown.evaluate((el: HTMLElement & { hide: () => Promise }) => el.hide()); + await expectDropdownToBeHidden(page); + }); + + test('should emit show/hide events', async ({ page }) => { + await page.setContent( + ` + + Options + + Option 1 + + + `, + // after events are not fired when animations are disabled + { disableAnimations: false } + ); + + const showSpy = await page.spyOnEvent('six-dropdown-show'); + const afterShowSpy = await page.spyOnEvent('six-dropdown-after-show'); + const hideSpy = await page.spyOnEvent('six-dropdown-hide'); + const afterHideSpy = await page.spyOnEvent('six-dropdown-after-hide'); + + // open + await page.locator('six-button').click(); + expect(showSpy).toHaveReceivedEvent(); + await expect.poll(() => afterShowSpy.length).toBe(1); + + // close + await page.locator('six-button').click(); + expect(hideSpy).toHaveReceivedEvent(); + await expect.poll(() => afterHideSpy.length).toBe(1); + }); + + test('should support keyboard navigation', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + Option 3 + + + `); + + await page.locator('six-button').click(); + await expectDropdownToBeVisible(page); + + // open with Enter + await page.keyboard.press('Enter'); + await expectDropdownToBeHidden(page); + + // close with Enter + await page.keyboard.press('Enter'); + await expectDropdownToBeVisible(page); + + // close with Space + await page.keyboard.press('Space'); + await expectDropdownToBeHidden(page); + + // open with Space + await page.keyboard.press('Space'); + await expectDropdownToBeVisible(page); + + // navigate with arrow keys + await page.keyboard.press('ArrowDown'); + await expect(page.getByRole('menuitem', { name: 'Option 1' })).toBeFocused(); + + await page.keyboard.press('ArrowDown'); + await expect(page.getByRole('menuitem', { name: 'Option 2' })).toBeFocused(); + + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('ArrowDown'); + await expect(page.getByRole('menuitem', { name: 'Option 3' })).toBeFocused(); + + await page.keyboard.press('ArrowUp'); + await expect(page.getByRole('menuitem', { name: 'Option 2' })).toBeFocused(); + + await page.keyboard.press('ArrowUp'); + await page.keyboard.press('ArrowUp'); + await expect(page.getByRole('menuitem', { name: 'Option 1' })).toBeFocused(); + + // close with Escape + await page.keyboard.press('Escape'); + await expectDropdownToBeHidden(page); + }); + + test('should select item and close when closeOnSelect is true (default)', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + + + `); + + // open + await page.locator('six-button').click(); + await expectDropdownToBeVisible(page); + + // select item + await page.getByRole('menuitem', { name: 'Option 2' }).click(); + + // should close + await expectDropdownToBeHidden(page); + }); + + test('should keep open when closeOnSelect is false', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + + + `); + + // open + await page.locator('six-button').click(); + await expectDropdownToBeVisible(page); + + // select item + await page.getByRole('menuitem', { name: 'Option 2' }).click(); + + // should keep open + await expectDropdownToBeVisible(page); + }); + + test('should close when clicking outside', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + + + Outside + `); + + // Click outside + await page.locator('#outside').click(); + + await expectDropdownToBeHidden(page); + }); +}); + +test.describe('six-dropdown filter', () => { + test('should filter items when typing (client-side filter)', async ({ page }) => { + await page.setContent( + ` + + Options + + Apple + Banana + Cherry + + + `, + // filter clears onAfterHide event, which is not fired when animations are disabled + { disableAnimations: false } + ); + + // Type in filter + await page.keyboard.type('ban'); + + // Only banana should be visible + await expect(page.getByRole('menuitem', { name: 'Apple' })).toBeHidden(); + await expect(page.getByRole('menuitem', { name: 'Banana' })).toBeVisible(); + await expect(page.getByRole('menuitem', { name: 'Cherry' })).toBeHidden(); + + // open and close + await page.keyboard.press('Escape'); + await expectDropdownToBeHidden(page); + await page.locator('six-button').click(); + + // filter should be reset + await expect(page.getByRole('textbox')).toHaveValue(''); + await expect(page.getByRole('menuitem', { name: 'Apple' })).toBeVisible(); + await expect(page.getByRole('menuitem', { name: 'Banana' })).toBeVisible(); + await expect(page.getByRole('menuitem', { name: 'Cherry' })).toBeVisible(); + }); + + test('should show filter input when asyncFilter is enabled', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + + + `); + + await expect(page.getByRole('textbox')).toBeVisible(); + }); +}); + +test.describe('six-dropdown screenshots', () => { + test('should match screenshot for closed dropdown', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('dropdown-closed.png'); + }); + + test('should match screenshot for open dropdown', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + + Option 3 + + + `); + + // Panel is position:fixed (Popover), so screenshot the page + await expect(page).toHaveScreenshot('dropdown-open.png'); + }); + + test('should match screenshot with filter', async ({ page }) => { + await page.setContent(` + + Options + + Apple + Banana + Cherry + + + `); + + // Panel is position:fixed (Popover), so screenshot the page + await expect(page).toHaveScreenshot('dropdown-with-filter.png'); + }); +}); + +test.describe('six-dropdown accessibility', () => { + test('should have menu role on panel', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + + + `); + + const panel = page.locator('six-dropdown [part="panel"]'); + await expect(panel).toHaveAttribute('role', 'menu'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + Disabled + + + `); + + const results = await new AxeBuilder({ page }).include('six-dropdown').analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations when open', async ({ page }) => { + await page.setContent(` + + Options + + Option 1 + Option 2 + + + `); + + const results = await new AxeBuilder({ page }) + .include('six-dropdown') + // Disabled due to known issue with aria-checked on menuitem (from six-menu) + .disableRules(['aria-allowed-attr']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); + +function expectDropdownToBeVisible(page: Page) { + return expect(page.locator('six-dropdown [part="panel"]')).toHaveCSS('opacity', '1'); +} + +function expectDropdownToBeHidden(page: Page) { + return expect(page.locator('six-dropdown [part="panel"]')).toHaveCSS('opacity', '0'); +} diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts-snapshots/dropdown-closed.png b/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts-snapshots/dropdown-closed.png new file mode 100644 index 0000000000000000000000000000000000000000..526a2b4586e0a5534cfc58f7786c5553ae41b729 GIT binary patch literal 1677 zcma)7X*ApE9{$r76IAcTD6OihEu$2TrKmEok9|oomZ>EoQY58n5A7|j*4WZ3R60Wz zA!veHl2W~*b&H`vBbN4ds)Cw0$p~V(|NH%Zm@n^n&vVZ2JM_1qW*9@4BeCbAt}K<_^~4Ly5!Aek$(s z_cx`Hy>D0D z7BA~wzPTcNN8OrOoo+EUGSUG`eu`~wn&af$sxtEJPF>0uPLbJcb~i@gS7(EftW4ss z#=faEB=?ryZ#E64{K(FlRBH`qC29krqeF*v?JN0%so+SX`@=bA!oUBadg@>x=WN=+ z-VXQSDd|^%boham&Lr{9ojdBrem^ug_Ts*bTg1F@1nEwA8V|g3`@raU(Bsq#L~E zV2atcoby?Ti@E^{g^C%-U+BdlSDsFZ*7>Z>&CUJYKUoGx6pz@{+4>I8Tyfu&NGr7LLTdHo%9Uc}&q&MDtN4jragMIMrg}E;DWBJzu;(B}B z*2aQ>5&0ZM*2cXjUKT5&z0n$%K5-w)B*Lmihxpeg$mOPuIApj6BHE@lkVx%A)PM0BJ<7`vAGQs=yu3yp=|(=gez$GfH-?kl)s3g$>cs3F z?8~+{KZUkN^=Dq#3no~^L{t5qe4}pkV=s0%>!*r}3d>s?^Pw$a{A0wi(b1`=5s7)b zlF8+eXBo?HYcs#jfoi0J53kKItS5tzzM6y^ZRiF5q5RrxJEBYn(6q3@hq4lV69~{& zk!emJ;#URm)5|$_`FlN?X%G$d(ji(f)erP06JzTC)7S&;yC$1Wnj1ffpGAZ;C&mKZb{_QD#M?3P0V1mhu zL7a4(59O}}B1iQC5kAspP^%Rym~0=NM}~&dSN`+o+U(rDD_Nqe9zR1rYgmHzz8E-} zqZy=qW(q=!w{$S<94Q(j!j#7}0>hhTLGkY%hc@hCTa%~h$r*0B8!m>G(HLOo@9OG4 z)fph!ozH^9EgG5ZSDX1@PXEzK%OSX%KG}rlmY7J93n;xla}y!qlH`#s-C)ef#_DW+ zo101G22Q09vf{I_8kwz9II78lpatC+r<|?zrGWu+p0U-U(T!b+a1|pw&4A0n;?}vW2o^w8}=FDcl zsjZ@_PJE-UVu`7#DfGzx7k!}TTq2(QsM2q2d4kmbmZ@e*OX>rcvgnvHlg0WT0i|z! z6;KVFW$>azP|alO@zZvqS^w~c-)y0Z(?&l2{!8rJtjvn%sY_x0-k9x@C11WRYU+Gs zk1%JkCp`}Iwn8EL`qqae6O4ptgQ4H&+BCSLjB5x40+C36^2DZibw)sS&r45Fj|d0| z5Y>5nmqDjtC^P?LCh=&2paF4M>=21V%XPGaz<+VgXXr19>yCMo3!FX%(+j;r;y-RI za?qn~gK>b}1JYx;4`rjrTfxX`YHAYYnE>z*eJ3+GTur$|KGOBCM68miJs#*Og8aWs pJ~#pZhlk#;THC-s literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts-snapshots/dropdown-open.png b/libraries/ui-library/src/components/six-dropdown/six-dropdown.e2e.ts-snapshots/dropdown-open.png new file mode 100644 index 0000000000000000000000000000000000000000..3019b3abbf2acd4817c800a0aad9a97331ada03e GIT binary patch literal 7339 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 { - global.ResizeObserver = jest.fn().mockImplementation(() => ({ - observe: jest.fn(), - unobserve: jest.fn(), - disconnect: jest.fn(), - })); - xit('renders open=false', async () => { - const page = await newSpecPage({ - components: [SixDropdown], - html: `Dropdown`, - supportsShadowDom: false, - }); - expect(page.root).toEqualHtml(` - - - - `); - }); - - xit('renders open=true', async () => { - const page = await newSpecPage({ - components: [SixDropdown], - html: `Dropdown`, - supportsShadowDom: false, - }); - expect(page.root).toEqualHtml(` - - - - `); - }); - - xit('renders filter=true', async () => { - const page = await newSpecPage({ - components: [SixDropdown], - html: `Dropdown`, - supportsShadowDom: false, - }); - - expect(page.root).toEqualHtml(` - - - - `); - }); - - xit('renders dynamically added options', async () => { - // given - const page = await newSpecPage({ - components: [SixDropdown, SixMenu], - html: ` Dropdown`, - }); - - // when - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - page.root.options = Array.from(Array(3).keys()).map((idx) => ({ - label: `label ${idx}`, - value: `value ${idx}`, - })); - await page.waitForChanges(); - - // then - expect(page.root).toEqualHtml(` - - - - - - Dropdown - - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts b/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts new file mode 100644 index 000000000..e902bf59c --- /dev/null +++ b/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts @@ -0,0 +1,45 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-error-page is purely presentational - no behavior to test functionally + +test.describe('six-error-page screenshots', () => { + const errorCodes = [403, 404, 500] as const; + + errorCodes.forEach((code) => { + test(`should match screenshot for ${code} error (English)`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`error-page-${code}-en.png`); + }); + + test(`should match screenshot for ${code} error (German)`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`error-page-${code}-de.png`); + }); + }); + + test('should match screenshot for custom content', async ({ page }) => { + await page.setContent(``); + await page.locator('six-error-page').evaluate((el: HTMLElement & { customDescription: string[] }) => { + el.customDescription = ['Custom description line 1', 'Custom description line 2']; + }); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('error-page-custom.png'); + }); +}); + +test.describe('six-error-page accessibility', () => { + test('should have no accessibility violations for 404 error', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-error-page').analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations for custom content', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-error-page').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts-snapshots/error-page-403-de.png b/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts-snapshots/error-page-403-de.png new file mode 100644 index 0000000000000000000000000000000000000000..a025b3c2c2c0b70c8458d1ec941087bcf9edf4db GIT binary patch literal 14243 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 ^!t$?4BPTvBI5O%am?;hhFjk+p=?5_+^0Lf^+E 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts-snapshots/error-page-404-en.png b/libraries/ui-library/src/components/six-error-page/six-error-page.e2e.ts-snapshots/error-page-404-en.png new file mode 100644 index 0000000000000000000000000000000000000000..aaf4cd67a6942ddc6a349e937ae74fd7404f8cc2 GIT binary patch literal 10897 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�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 { - it('should render right page for error code 403 in english', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -

-
- - lock - -
-
- Access Denied -
-
-
- You don’t have permission to access this page. -
-
- Please contact an administrator or click the SIX logo on top left. -
-
-
- - - `); - }); - - it('should render right page for error code 403 in german', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - lock - -
-
- Kein Zugriff -
-
-
- Sie haben keine Zugriffsberechtigung auf diese Seite. -
-
- Bitte wenden Sie sich an einen Administrator oder klicken Sie auf das SIX-Logo oben links. -
-
-
-
-
- `); - }); - - it('should render right page for error code 404 in english', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - find-in-page - -
-
- Not Found -
-
-
- We have not found the page you requested. -
-
- Please click the SIX logo on top left. -
-
-
-
-
- `); - }); - - it('should render right page for error code 404 in german', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - find-in-page - -
-
- Seite nicht gefunden -
-
-
- Wir haben die angeforderte Seite nicht gefunden. -
-
- Bitte klicken Sie auf das SIX-Logo oben links. -
-
-
-
-
- `); - }); - - it('should render right page for error code 500 in english', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - sentiment-dissatisfied - -
-
- Ooops! -
-
-
- Sorry, we messed up! We try to fix this. -
-
- Please click the SIX logo on top left. -
-
-
-
-
- `); - }); - - it('should render right page for error code 500 in german', async () => { - // given - const config = { - components: [SixErrorPage], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - sentiment-dissatisfied - -
-
- Ups! -
-
-
- Sorry, das war unser Fehler! Wir versuchen das zu beheben. -
-
- Bitte klicken Sie auf das SIX-Logo oben links. -
-
-
-
-
- `); - }); - - it('should render right page for custom error', async () => { - // given - const config = { - components: [SixErrorPage], - html: ` - `, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - home - -
-
- my title -
-
-
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-error/six-error.e2e.ts b/libraries/ui-library/src/components/six-error/six-error.e2e.ts new file mode 100644 index 000000000..519099ba1 --- /dev/null +++ b/libraries/ui-library/src/components/six-error/six-error.e2e.ts @@ -0,0 +1,25 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-error is a simple styled container for error messages - no behavior to test functionally + +// TODO: Error text color (#de3919) has insufficient contrast ratio of 4.46:1 against white background. +// Required ratio is 4.5:1 for WCAG 2 AA compliance. + +test.describe('six-error screenshots', () => { + test('should match screenshot for default error', async ({ page }) => { + await page.setContent('This is an error message'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('error-default.png'); + }); +}); + +test.describe('six-error accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent('This is an error message'); + + // Disable color-contrast due to error text color issue (see TODO at top) + const results = await new AxeBuilder({ page }).include('six-error').disableRules(['color-contrast']).analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-error/six-error.e2e.ts-snapshots/error-default.png b/libraries/ui-library/src/components/six-error/six-error.e2e.ts-snapshots/error-default.png new file mode 100644 index 0000000000000000000000000000000000000000..7d762762ee315a7892f804863b90a9395ef36e58 GIT binary patch literal 1576 zcmai!Yd8}M9L9&H89OYaQj>~;_W)&m0o00`FAi2wj7 z6|ONHq`Y?3ske;*0N@zb>40Z^+3e^!63lB8U=H>DdStWkVssqTmkS|4FkOaWY2Jmt zwK;W#2APente4bZbFx#U<~J)dLDFHtXKYNex#0kzO6;2{QtRn@K~grK@!GlAKI9!_qfj=DtB6ZEBtCT!qD9cafYQ%{zh`hN z24w;zA~_oPZD4~9A(dkWLco-1I*iXH$KxrC)yR$nY{!`zgM)`-J)pGG#`OCB_fg_0V&vt%HoXXu_73wHb5Q9t??Ybez1+}%TTon{5+~U|CE9Y} zDe?Va!Hb!V$!TT^G2HHT7%HytRrkKr>Y%HmDblhxl91`$tWz#P=J~w`X|?>K?Pz^r zltUX+JZSz3J?$6knMdrg=tpSj-L2-bqTsT_`}Zq-?qoN;X!&&OuPX6e_qcv$4STeh z?o8Hi5!BAOZD>~fPT6I~EsbHodZt{OzYMP{xezrw+QE}ZD6#mmnTdN(MDCdK`7f{9 z>^Qax6KPBKP(!!vchct@lWCgxR-e8caWP>#Ix;!*fv77`I;?gWh>y@sgvSNuY37Z$ zMqQSr8P5vp*_OF}Um4mkppQkJ>x?aUr$MiWMMQrP)2f|h-{!7s#kN(5^Oq)wHMonS zte06jxp6}c-FPRlYZ_t)TuBfhlj?#i?*7O;MSE+a(xx#NJ;G`5(sX!I89H>$PCv4DFa+(6 zG#gR0bPgRo9PVPR6qwKQQKtu+;D&R=WJ}N~UDKxB$+3l7)u=AF=D@m0t7R2m&XP@H zlB8D_>d#Ji-G*;Pcy!oko=9Jd{wGWZP9=F6qZi4)Fz@)ID5X(O@j>638Yo^`L$ZW8 z1**GMh?iNGcP*cMdlu{u%W$ebDnI7tmR@zl5g*X5MwhA_dc3QMuu{-O+pB%H2K#R! zij|e)VrDr1B%XE!9iI=ngrC$w7HND1VLd!dCeEi{ls?_bUc^B-bq`M@elY9X@@C}h zH2=#AUNI8VePbgpe-^%p#>myI4h+CW^tNjo(kp{moZ>?Q6udpIPN-31)Njg?7Qx^> z>!>KzMr#us^;uCKqahY@oG;m-Du9;LjPKjk23XesPXwlEEq-!odFC&G1oAsqX+&bt zJ`vP9Lr|)vIxAFy9iT zZB@=Qq=wa`@TX8LM4K0U_DABmSSOgDAGZ5RfkSjkwdqKUWLp!-@Ah7!1Cv=#3)O*ZI*aV#OH3Wb;WOX z(HN~FQLgUWUgBAuMeekR!QmTMnhC9SZlQ}1ADQ*UsvHh3TU+e`95*O1a!`1^Y^0u2 z@|iza+M3&y=@?dNIBzxf1)6U%bF(@Oi0m; { - it('should create a component instance', () => { - expect(new SixFileListItem()).toBeInstanceOf(SixFileListItem); - }); - - it('renders minimal six-file-list-item', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - -
- - - - delete - -
-
-
- `); - }); - - it('renders six-file-list-item with name correctly', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - -
- - file_1.pdf - - - - delete - -
-
-
- `); - }); - - it('renders six-file-list-item with date correctly', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - -
- - file_2.pdf - - - 23.09.2021, 09:12 - - - delete - -
-
-
- `); - }); - - it('renders six-file-list-item with size correctly', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ` - `, - }); - - expect(page.root).toEqualHtml(` - - -
- - file_3.pdf - - - 03.12.2021, 10:22 - - - 74 KB - - - delete - -
-
-
- `); - }); - - it('renders six-file-list-item with download disabled', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ` - `, - }); - - expect(page.root).toEqualHtml(` - - -
- - file_4.pdf - - - 02.10.2021, 12:25 - - - 76 KB - - - delete - -
-
-
- `); - }); - - it('renders six-file-list-item with deletion disabled', async () => { - const page = await newSpecPage({ - components: [SixFileListItem], - html: ` - `, - }); - - expect(page.root).toEqualHtml(` - - -
- - file_5.pdf - - - 11.07.2021, 10:32 - - - 70 KB - - - delete - -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-file-list/six-file-list.e2e.ts b/libraries/ui-library/src/components/six-file-list/six-file-list.e2e.ts new file mode 100644 index 000000000..b74cfd38b --- /dev/null +++ b/libraries/ui-library/src/components/six-file-list/six-file-list.e2e.ts @@ -0,0 +1,191 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-file-list accessibility issues: +// - File list item click handlers are on span elements without button role or keyboard support. +// These should be buttons or have role="button" with keyboard handlers for Enter/Space. +// - Delete icon lacks accessible name (no aria-label or title). +// - Date text has color contrast ratio of 4.23:1, doesn't meet WCAG 2 AA (4.5:1). + +test.describe('six-file-list', () => { + test('should render file list items', async ({ page }) => { + await page.setContent(` + + + + + + `); + + await expect(page.locator('six-file-list-item')).toHaveCount(3); + }); +}); + +test.describe('six-file-list-item', () => { + test('should display file name', async ({ page }) => { + await page.setContent(` + + + + `); + + const item = page.locator('six-file-list-item'); + await expect(item).toContainText('document.pdf'); + }); + + test('should display date', async ({ page }) => { + await page.setContent(` + + + + `); + + const item = page.locator('six-file-list-item'); + await expect(item).toContainText('23.09.2021, 09:12'); + }); + + test('should display size in KB', async ({ page }) => { + await page.setContent(` + + + + `); + + const item = page.locator('six-file-list-item'); + // 75680 / 1024 = 73.90625, rounded to 74 + await expect(item).toContainText('74 KB'); + }); + + test('should emit download event when name clicked', async ({ page }) => { + await page.setContent(` + + + + `); + + const downloadSpy = await page.spyOnEvent('six-file-list-item-download'); + + await page.locator('six-file-list-item .six-files-list-item__name').click(); + + expect(downloadSpy).toHaveReceivedEventDetail({ fileId: 'file123', name: 'document.pdf' }); + }); + + test('should not emit download event when nodownload is set', async ({ page }) => { + await page.setContent(` + + + + `); + + const downloadSpy = await page.spyOnEvent('six-file-list-item-download'); + + await page.locator('six-file-list-item .six-files-list-item__name').click(); + + expect(downloadSpy).not.toHaveReceivedEvent(); + }); + + test('should emit remove event when delete icon clicked', async ({ page }) => { + await page.setContent(` + + + + `); + + const removeSpy = await page.spyOnEvent('six-file-list-item-remove'); + + await page.locator('six-file-list-item six-icon').click(); + + expect(removeSpy).toHaveReceivedEventDetail({ fileId: 'file123', name: 'document.pdf' }); + }); + + test('should not emit remove event when nodelete is set', async ({ page }) => { + await page.setContent(` + + + + `); + + const removeSpy = await page.spyOnEvent('six-file-list-item-remove'); + + await page.locator('six-file-list-item six-icon').click(); + + expect(removeSpy).not.toHaveReceivedEvent(); + }); + + test('should show disabled style on name when nodownload', async ({ page }) => { + await page.setContent(` + + + + `); + + const nameSpan = page.locator('six-file-list-item .six-files-list-item__name'); + await expect(nameSpan).toHaveClass(/six-files-list-item__name--disabled/); + }); + + test('should show disabled style on delete icon when nodelete', async ({ page }) => { + await page.setContent(` + + + + `); + + const deleteIcon = page.locator('six-file-list-item six-icon'); + await expect(deleteIcon).toHaveClass(/six-files-list-item__icon--disabled/); + }); +}); + +test.describe('six-file-list screenshots', () => { + test('should match screenshot for file list', async ({ page }) => { + await page.setContent(` + + + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-list-default.png'); + }); + + test('should match screenshot with disabled states', async ({ page }) => { + await page.setContent(` + + + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-list-disabled.png'); + }); +}); + +test.describe('six-file-list accessibility', () => { + test('should have delete icon', async ({ page }) => { + await page.setContent(` + + + + `); + + const deleteIcon = page.locator('six-file-list-item six-icon'); + await expect(deleteIcon).toContainText('delete'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + + + + + `); + + const results = await new AxeBuilder({ page }) + .include('six-file-list') + // Disabled due to known issue documented in TODO above + .disableRules(['color-contrast']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-file-list/six-file-list.e2e.ts-snapshots/file-list-default.png b/libraries/ui-library/src/components/six-file-list/six-file-list.e2e.ts-snapshots/file-list-default.png new file mode 100644 index 0000000000000000000000000000000000000000..e149cf8ba91d3b3def4c1b94d46b6971e8e40b99 GIT binary patch literal 7376 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-file-list/test/six-file-list.spec.tsx b/libraries/ui-library/src/components/six-file-list/test/six-file-list.spec.tsx deleted file mode 100644 index 396eb4f36..000000000 --- a/libraries/ui-library/src/components/six-file-list/test/six-file-list.spec.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { SixFileList } from '../six-file-list'; -import { newSpecPage } from '@stencil/core/testing'; - -describe('six-file-list', () => { - it('should create a component instance', () => { - expect(new SixFileList()).toBeInstanceOf(SixFileList); - }); - - it('renders minimal six-file-list', async () => { - const page = await newSpecPage({ - components: [SixFileList], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - -
- -
-
-
- `); - }); - - it('renders six-file-list with items', async () => { - const page = await newSpecPage({ - components: [SixFileList], - html: ` - - - - - - - `, - }); - - expect(page.root).toEqualHtml(` - - -
- -
-
- - - - - -
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts b/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts new file mode 100644 index 000000000..1bdcea7d5 --- /dev/null +++ b/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts @@ -0,0 +1,345 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-file-upload accessibility issues: +// - "browse" text link has color contrast ratio below WCAG 2 AA minimum. +// - File input is missing an accessible label (aria-label, label element, or title). + +test.describe('six-file-upload', () => { + test('should render default upload area', async ({ page }) => { + await page.setContent(` + + `); + + const upload = page.locator('six-file-upload'); + await expect(upload).toBeVisible(); + await expect(upload).toContainText('Drop files to upload, or browse'); + }); + + test('should render with custom label', async ({ page }) => { + await page.setContent(` + + `); + + const upload = page.locator('six-file-upload'); + await expect(upload).toContainText('Choose a file'); + }); + + test('should show compact button mode', async ({ page }) => { + await page.setContent(` + + `); + + // Should render as a button with "Upload" text + const button = page.locator('six-file-upload six-button'); + await expect(button).toBeVisible(); + await expect(button).toContainText('Upload'); + }); + + test('should be disabled when disabled attribute is set', async ({ page }) => { + await page.setContent(` + + `); + + const input = page.locator('six-file-upload input[type="file"]'); + await expect(input).toBeDisabled(); + }); + + test('should show uploading state with spinner', async ({ page }) => { + await page.setContent(` + + `); + + const spinner = page.locator('six-file-upload six-spinner'); + await expect(spinner).toBeVisible(); + await expect(page.locator('six-file-upload')).toContainText('Uploading...'); + }); + + test('should show error message when invalid', async ({ page }) => { + await page.setContent(` + + `); + + const error = page.locator('six-file-upload six-error'); + await expect(error).toBeVisible(); + await expect(error).toContainText('File type not allowed'); + }); + + test('should emit success event when file is selected via input', async ({ page }) => { + await page.setContent(` + + `); + + const successSpy = await page.spyOnEvent('six-file-upload-success'); + + // Create a test file and upload via input + const input = page.locator('six-file-upload input[type="file"]'); + await input.setInputFiles({ + name: 'test.txt', + mimeType: 'text/plain', + buffer: Buffer.from('Hello World'), + }); + + expect(successSpy).toHaveReceivedEvent(); + }); + + test('should emit failure event for invalid MIME type', async ({ page }) => { + await page.setContent(` + + `); + + const failureSpy = await page.spyOnEvent('six-file-upload-failure'); + + // Upload a text file when only PNG is accepted + const input = page.locator('six-file-upload input[type="file"]'); + await input.setInputFiles({ + name: 'test.txt', + mimeType: 'text/plain', + buffer: Buffer.from('Hello World'), + }); + + expect(failureSpy).toHaveReceivedEventDetail({ + reason: 'File has invalid MIME type.', + code: 'INVALID_MIME_TYPE', + }); + }); + + test('should emit failure event when file exceeds max size', async ({ page }) => { + await page.setContent(` + + `); + + const failureSpy = await page.spyOnEvent('six-file-upload-failure'); + + // Upload a file larger than 10 bytes + const input = page.locator('six-file-upload input[type="file"]'); + await input.setInputFiles({ + name: 'test.txt', + mimeType: 'text/plain', + buffer: Buffer.from('This content is larger than 10 bytes'), + }); + + expect(failureSpy).toHaveReceivedEventDetail({ + reason: 'File is too big.', + code: 'FILE_TOO_BIG', + }); + }); + + test('should support multiple file selection', async ({ page }) => { + await page.setContent(` + + `); + + const successSpy = await page.spyOnEvent('six-file-upload-success'); + + const input = page.locator('six-file-upload input[type="file"]'); + await input.setInputFiles([ + { + name: 'test1.txt', + mimeType: 'text/plain', + buffer: Buffer.from('File 1'), + }, + { + name: 'test2.txt', + mimeType: 'text/plain', + buffer: Buffer.from('File 2'), + }, + ]); + + expect(successSpy).toHaveReceivedEvent(); + }); + + test('should emit failure when multiple files without multiple attribute', async ({ page }) => { + await page.setContent(` + + `); + + const failureSpy = await page.spyOnEvent('six-file-upload-failure'); + + // Note: Browser won't allow multiple selection without multiple attribute on input, + // but we can simulate via drag and drop + const upload = page.locator('six-file-upload'); + + // Create DataTransfer with multiple files + await upload.evaluate((el) => { + const dt = new DataTransfer(); + dt.items.add(new File(['file1'], 'test1.txt', { type: 'text/plain' })); + dt.items.add(new File(['file2'], 'test2.txt', { type: 'text/plain' })); + + const dropEvent = new DragEvent('drop', { + dataTransfer: dt, + bubbles: true, + }); + el.dispatchEvent(dropEvent); + }); + + expect(failureSpy).toHaveReceivedEventDetail({ + reason: 'Only one file is allowed.', + code: 'ONLY_ONE_FILE_ALLOWED', + }); + }); + + test('should handle drag and drop', async ({ page }) => { + await page.setContent(` + + `); + + const successSpy = await page.spyOnEvent('six-file-upload-success'); + const upload = page.locator('six-file-upload'); + + // Simulate drop event with file + await upload.evaluate((el) => { + const dt = new DataTransfer(); + dt.items.add(new File(['test content'], 'test.txt', { type: 'text/plain' })); + + const dropEvent = new DragEvent('drop', { + dataTransfer: dt, + bubbles: true, + }); + el.dispatchEvent(dropEvent); + }); + + expect(successSpy).toHaveReceivedEvent(); + }); + + test('should not accept files when disabled', async ({ page }) => { + await page.setContent(` + + `); + + const successSpy = await page.spyOnEvent('six-file-upload-success'); + const upload = page.locator('six-file-upload'); + + // Try to drop a file + await upload.evaluate((el) => { + const dt = new DataTransfer(); + dt.items.add(new File(['test'], 'test.txt', { type: 'text/plain' })); + + const dropEvent = new DragEvent('drop', { + dataTransfer: dt, + bubbles: true, + }); + el.dispatchEvent(dropEvent); + }); + + expect(successSpy).not.toHaveReceivedEvent(); + }); + + test('should not accept files while uploading', async ({ page }) => { + await page.setContent(` + + `); + + const successSpy = await page.spyOnEvent('six-file-upload-success'); + const upload = page.locator('six-file-upload'); + + // Try to drop a file + await upload.evaluate((el) => { + const dt = new DataTransfer(); + dt.items.add(new File(['test'], 'test.txt', { type: 'text/plain' })); + + const dropEvent = new DragEvent('drop', { + dataTransfer: dt, + bubbles: true, + }); + el.dispatchEvent(dropEvent); + }); + + expect(successSpy).not.toHaveReceivedEvent(); + }); +}); + +test.describe('six-file-upload screenshots', () => { + test('should match screenshot for default state', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-default.png'); + }); + + test('should match screenshot for compact mode', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-compact.png'); + }); + + test('should match screenshot for disabled state', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-disabled.png'); + }); + + test('should match screenshot for uploading state', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-uploading.png'); + }); + + test('should match screenshot for error state', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-error.png'); + }); + + test('should match screenshot with custom label', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('file-upload-custom-label.png'); + }); +}); + +test.describe('six-file-upload accessibility', () => { + test('should have file input accessible', async ({ page }) => { + await page.setContent(` + + `); + + const input = page.locator('six-file-upload input[type="file"]'); + await expect(input).toHaveAttribute('type', 'file'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + `); + + const results = await new AxeBuilder({ page }) + .include('six-file-upload') + // Disabled due to accessibility issues documented in TODO + .disableRules(['color-contrast', 'label']) + .analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations when disabled', async ({ page }) => { + await page.setContent(` + + `); + + const results = await new AxeBuilder({ page }) + .include('six-file-upload') + // Disabled due to accessibility issues documented in TODO + .disableRules(['color-contrast', 'label']) + .analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations with error state', async ({ page }) => { + await page.setContent(` + + `); + + const results = await new AxeBuilder({ page }) + .include('six-file-upload') + // Disabled due to accessibility issues documented in TODO + .disableRules(['color-contrast', 'label']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-compact.png b/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-compact.png new file mode 100644 index 0000000000000000000000000000000000000000..7029595ff4d7a28e2b366ec74fe01a92f5ccbd85 GIT binary patch literal 1851 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 C2{O(A literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-default.png b/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-default.png new file mode 100644 index 0000000000000000000000000000000000000000..9359ca426046ff9a78d7142cef653cfd2b718fb9 GIT binary patch literal 5200 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 LjtWxAI^w?oYAx4e literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-error.png b/libraries/ui-library/src/components/six-file-upload/six-file-upload.e2e.ts-snapshots/file-upload-error.png new file mode 100644 index 0000000000000000000000000000000000000000..6db5b40be1f869676e637bf3ecd48e76c9c06fad GIT binary patch literal 6676 zcmd5>WmHsQv<2w~326q9kdTsQh+#mHl$Hi5=?*CwWEdJnN?N2D>278KC8WCqkx;s0 zkazX1_10VK{dj-gkN0EFnsx6v_kMHc+vo1RZ?ulqV=`h!Vk|5yGPNgAT`Vl@B;dO* z;T<6EbAnj0uqd(Api24ySvy%IX8Lwl{S@9W;N@n$SW3?bRVH;FQL6R6dGws?+1Iel zxhb<+m)3c=1-qr)E2GwZLz53h?AD+UF+?y&Pz<3LEiSH-8>-8U;Y^a5x!?Nr*rd!= zutMm8+-BQm$jWBBoZQIqH_+CvUp9m=P}A$z?1ZrIgtk>cB>kU}n{?WLC8Xa1-P^mm zIgK=(OGfv`-ZM2ec3J5#FBnsdi;t%z#Fh2i(J7yzyeD7`q9OL*TP)S#1%1m^uoR%< z;pT2=Y*da*NN8wiSgvr+M4+7EkqdChl*g@uHG(Fg>gk&<;gm?!W7Ey?Mhcaar(NvtOxC8_R>Ra?sA0igzs4-W>mT(K1 zZypV_1g9`hKp#$Mm+$53y4xK=z)sE}YCB)|lAf3J9+Z>@PJ%*ozd=}|tt7<7cjsye zJ{A=|07rc7rQuH*xVQ*Fq^72d zh=>@|8?&|;a8X(XTFqG7f_VS8} zi2>o`;ay%{G6*8u+S)LfU_^L$I5swRQy&Wg_!JaIzS3cWPDaefP2atGoude48>K#> zym^CQ{g|t&PBO3b7%@sN!-(XHBkd#LP{scd;fdN(LN{5T00n)_oD@_q65jU5Sy_N= zRE33rirQ%DNW>gE3n;0;tsp=c6B$z&^B4=Z)K6Z&ATu`DdBs5pyHHkQXIG-k>W0Zn zJ*C7o0#U?*2)}jx4pGl#;QDu(l@2%^PWmst+rw4zz(4wjmiIn9gfOwBC>2Uv2T;V{ znDpRC3?zlawL}C!YTcR&x0~UM)!)dwt@Stc-whPi{Qo8e8vnhX=)d^1h5BzQ z3Rskw&UiMk3dR3}TL+LH5)_n{KH%i!l$BlJZ8tVHPS4C7^vGcPbO&BuQ}eF*EseP2 zk<%3EVUV)g`Jk=6J*$+*>vjN?Y~WWXz+W2)VfUtf-s-o@U)csDdHY0PN9W+`cV*|< zymLoKM^mlO_PF=vx9y-WDsD-{%5c)>&0aqTg*t~8g$?gZ%+xvEW%aT~tk51+JxoqX zIc@B`5kzMC{+?EWLYrD!J8%D7n;=u0A56~7piID5TLtm)@l#V%O|`%^0i2 z2?dWB|;)&ohV=F6=8~6SD zz_wq#ilC5Jl)<-t5)dG@2h5wD*=igmu4Q5}GGJvtk1t)o0lo9{^D8U26WR*kkgK}f z+?80Nj;-}|+sVaMRMaz^haG>eoaM}`tgy?jE`B7k1s`++$ItgzhqlgF!ft`qEeCF9 z1B0*Qdarfv+GAK}r{VLoEr-9Dk~`=q!Rg%`RL`lKfM56yS^J5 z7-#}>@ABv;_jRDb@ToWwj<}$^XFKo8Ghgehk7B_a(Wv%)e}c=a7U{*LZt*(vAbF?( zL-NZ3;;P&(=y}^#CswWa$2nzS?t|pZk}d55uCn}D9Z5q}!q zLKW@P6!Tn%`r*UIBY)b-Jov_ z`-D=Y5u4^NIhG6E;zJi!Lk$g$#kN4PGwsmOKj>)c?Ck6ew}o)BgUij_pn!lb4Xb8_ zlTqcXb&y4PCLIF1AZs{Rs5)mZUw87=@>`axL zskuR@;{vvwaB3yharKM;!VwreTkARCpt$AsfWx&srHDAUvq~7dM_1UzDgjEiip68@ z^V2zO(>9OQp4?l^=J>d-<1<4;d=xJAkbIBkWJXR7xw7BRtO&iGv7|i+KdWGQ!U?xx z1hpWPD(MU-U)z`Gyqze*&nVkG1^32W=&>Z;j0O}b0nPX__SAvET4%$}W%k{IJUXHH z*N#ahpLxzGxBwtj@s16PlQCm5+h%^WHHn_q2f`b zlx9< z7jGGQ`I9qI?qlb1S|4$a{K4pZZI`Jx3{A@ z-M-Z<&*`+&%*4imA+Ws7Y+4O>d}0BXpKzxZxZlz%4_a;8w&zP_UPbp72#B|yGH`nkWMd=A^x9tx;4r9Sqgd5~?!Dg7>z{WeBqY8Jqjr1b0a_A-IqVO^ z96t8OkRKZevw6R7FQcQnQoDZ_W2?dpMWfMM+U`_yA~@Ds-l`MxOmD&~>hGM{#BR&4 z-Ea}#=-qQ(zKi2rI4PWwGH`vv^-+C{Z&_t1Aa6mXC8(s3D_2dS+_t4%Y(xo@j#VD_ zw9pKB+;w0x>tPNJj1pucLu$Ec$#WVpF=HI-hV~%Mm9+;Rk?(FCIBOgYd<+_WL>pyJ z)XuRLlkmcD4Hd)s2L}gx){cZkaose|zqYKJ@=lD7=G}{jkkY88qs;gb+cGjTlnBjM z+#{%qc2#vX5tSh(|Qp(2l!3SRC4^OIKF-1TCUloZY4XCx&#>}Bpwuwe1l?6~TOq~F$_DRDYc zPHI#unc)CK;DzuZRQqj9@@1jf^O+(+_wmIE*Q%t=EBpM~+**&R&l{e%mea+I0&s(bXt zc1W+`md-Q0f|=vcb)lg<;rq9W=e4tstvOVGCjyU+51?wfqEcno{R)4=Cy(})T7wjNx9Q~` zZ#d}-SIh~wqKi77tc4}5A8+~Mfl3{EP1-Tc~AMREos0U;Qn9U za(Y%I;7FYr`B=7H{VJELGHvw}YFqow(TCf#pZzW^ZR#UF!BIT!8eL$+-QM zcpJs1Dxx{xPwVre~v*ao8!!ekaa zM^{a5uC5_h+r_)PyJRHkr7jAB9NBMjchZurp6lr5H)RQ$G<(@WAU$7`d91yyBS7WHfNeGf?k}f8r6BxJ?CEnH3OTDL zHVs(Y(behi8Kmj?0DmPRE)0-Pp909J`4NtLO+U!rNW196z;I^jW2S(M)hMd5wwtpB zDR_jVvvX_kE<4?5vJ7WMyUlWZrFnx#jM1 zdyr?Xzr;W=-t`@FExjm-S9)NKK!9R-(d?RIW$w|l(6u6j(k+3lHO?2} zW?^X+(Ce71Lodl*arYbLoUEhWIfHa&?wx}&iQcnyf**a)*|}A8E)S`e z9;;HS^u;&A6Z;l_rC&T;-NmS#uRKvxBhvjws7UJG)6|tM?eQH;>oDnAkDIMRy@xrk zpkU05=ygU$U*oAPBT1x4llXQgoN;hB9k%rvF$|`TnU$9bXuEPXc zF|)WR=eJ`l;ckZ;THn=vbbKs^(dT;)BTQ_{El?Jt-66Sn-b==K+YQN|n|lvDppt1R zlsLRKyLKUr7G28n>i4${2v}EL#%6xbE`P2k7+)~v0q9eDqqM!MuUAFlP%(a|k5y3aU1qI~h< z1>T+R1QyvzCvh|$2_0c%PqwT-9}O|$cyr`lY;SaQGyrVMf`S4h66wD?&z1ZY^etO< zrmv4%TDrNuo_1|#t`^A9)7AZunaQrIq9QFNwX@XPSY1uE22A&?tgN&B6-!G?3K0&D zo~bEuaq;@kpUKxwwkMVr7s**<^!4;`MC9ZamzKa_aC=!9u?--yii;goRaNcmxX`1c zIzmE~6%`dnM_!0z9&J|n;ES<>$Abd{AgvFNzV`R?$jY`hHPNrVA)*cr3Gw#!CLtkV zPheA621Euxg7NV1DEs4?B%LNp^p+HvC&*ayv7mAg>^8&<`x5H%lX0CRRbs!GiFygcsWNo9L;+CX57U&hB;9kM93mzrYHDh_r8H|<(%yhO z1Bm;R$Z5)ap}OTpcS~hu9CU`5LkrL@zzDeCN6n#n_eVx*s-d|#ndh&`QdU-0Rds$b zvD%Lx@7O$ff@o}P95d+wEC_a+P?14tX=xP|70L)041>V{euagFMQErzx~r?}^=mA% zALLN89|>dQ5O4_@$1f#URcE3QMQzYWiY=m7h)@WWVobZB5N|h+6Y5C75I#h0;RwYMf6f0CY+JEe{McIiMoc0kG1562G)hFhdD z73(k6de$s0Fu*{c35v)JoiVDKuBUd-d24bcqTDyT(lt@0<&zGv87mPh)h}TnH{KBV z8;RN%T+}@$HV*1~X-{9WSGSl!kWShw<)7vGPfn_H7{4A|Uh$NT!xDyW=s48>fF9@6 zBTwTT!!u>~{OcR*T`tk9Z#PXEL*2xJ@_jbBJK7^o%n{T*!PLyS)aq_%;_sL4Rz_-VyAreqZ^b|_0 z)@-oI*POU{HJija$5DNr+vhxWcPa32B}_c{lT=`xdZ|@qb;d#{Cbiw|)~*qAL8S_E zxmwHa^R0|+Q*|s9oQf@WDjPYoWOuyUu{^Dm|K{(t?NU)0dcZnMv&3Hs=F*(K--e<# z{DG;tZdqr6Ych?u+^E}yCUo^8SCJ0Z*XiW6SMo|lW{Is))yHG;l!_`uE zM#5IlEY6zt;mV}Rq~W~(RFC~S#(by1FrTVPKjj|3mncKLYEJfEO7M7(t_|4RVyUdx z^?@vDro>Lw%^J@v2}yp*ZZYyqJ!cOo`u>-BzU?^JwYB2~YiJRtYohBUuoZB4AB=ph zViwo(?kMxmwVu&eDTZ@rS5ZbI_nY_4PRvP_C}*PO$xH zc^qVmG}H^T*b?ut1qW|-A7!CZJFsK)I>{}rS90KU>Ew99IP0B78G8AJmRLdIin1nixj(R9E^o`E z*zifs^s@(e+>Nr4%Phw%sth6rx^) zrLf%;+SP6+joL=aEhq`gcvMg>#Pn;`kS9VyiRq^8hGmd-%|MT8>vmmVRjU`+6T+Ib z(lb$_5IOsg4?%oi>{MJ$W1nF|Ek3|a&gQvARo`Yt;-(^%9HYUN*Oj%@b8O{bCkQG= zp=^El{uUKR8`~X_!W1<-g5-+59Jk3wu{B%ozXaW93jf$#j?@wLbQv z5rN4k4wu65@WB`j6cc}B4r*!nmd+x@;0r19vKkC^iZ@SD2$IBY1sxqWW{9&j>rFcKY0*XOE4p;;BMT?=;@r+K%yGYPPis>XxfR16QEcb!|T80 zW~I%&OX{~dC%e{icwo@z{FA7$wk|5n~#5ojXGp+N8f-3MJI-hM`M*&SpVFz!|I{TXwyn&Mn;^g}MPs1f|{tCBlV}phV>V8+d8-U0q9? zt58RdxKfK&bBL;Gjbl=;&5v?q=%B4a{ma#-RnyHL%UxSjWt^rJR$(bAQ^`=1VtxL$ z)&7(-0>O2rwxpzla&hc~+Qr31o!h)?g(3CY%F2x!H_rFksi06ODTAOnGc$9ub$8s_ znk|}w0d|{`a<<0Fz}lL#?euUxA|hgab#-EDiZkP(ou-Y=%COv}sewU+`(&|Edj!>d zlh1BvGy_O8TUJI=5_S3KVq#)~v_LcS9xd(L>}(4?y)YpuDJdANw7k4LHFDTaO0Y3+1qUIC(I*T%UupNf(7qg5ann|7q{1cx&BevrdyDO)w6wJMHPXT{>R&JMtb^3o@?sPyv{H*RvT-I zjlrgpR@|)+PESko-oZr*2?#iU3%QBCi3O2XP?U3)hnA;PTah3iBk{=l934CDnjJ%( zFeOZ8v>9%Cy20gM92SZ~w&=KXuNlv?yr zr!i*-!K%b(cW!oMB-nii*8l>6U@l}PG&8j9wOqC9Ujoh?9UZAP)5Tm?dJw zl`kV~xMMIXkBhI$hL;8$CqmA_aZ$dZi3rcxK=$fxV=!KMyp8?329X%A_FO4o9S&qz zSQy#=TJ=MyL7Pg?yi%s1>>Oj1(K`qm#wavB3kwv3`Teg`ZUlGP{!>Iglj5kEIb|9U zQJ|3)h=?*IBO?pJsK`a3lit010NCd-()6(^a{`+Ke1g6t{*Nhep8uLYa>a?m5&5j0 z340r(dH=kF=sP$R0-r?nZ*+*hl2SM@jn9op`up$a78Zg%;?mHPxz*0Oi5FS1DT9NQ zSsE=(Wl{oT;Cs_7kZJn2SidR5CX4rMBI2D#<;T18ZX)k)I1J}~c<|n`VE3Ix%TL(( zPKOz%k`Iqoxy@h|$)Q1F&nG%E{>P6Wi;3wcbR~Qy#s{nix!3hhhK+#lx@ctCYcS8S z(EV6uu*6erWPY5ra;)>M6+27Ll-GGUh5u8l5`CS!K7qn=CBF01Cc^aq4j#?knAZ~qgYGevmHn77MT<+-V{aAKz z?e%N^^~G;#_(1MNx2N`!#@pY{bZjE&(k6OgI4(h$SJMgG;$O!$xFDqReZ#j*IjjBK z7yjY%nGzfRuj6IXr)8=1V-`JK@fx#YaGM)Z=!uaLHkF5qi;FUQ4?2x6edZHw zGU+!}-_>mnubC@2a27(DAe0u^Rs8?@>n}JQ&e*(M)v>mG-}PBFaP%-peAEM8v)Y8)ODswNWs2FvuiJIv{;nB%KC(1aoKRas7L39X|E>|%ILkj;v zN=bRNw`cF>29!I!>qzpWsWj0!n=Nu&lNt4(Ul}Z3dz>D;@SuI^=_z--P@^(_2eLnt$qx3_l`92pIXHQ6<84~qSrWMB^RiqPQ_h=BtE z#>Z*vW@l%uw7p1fEKlau7~#?a&W=wBgs#p`m)S;o`l8g-)Ckr~0Y@JF>B)+=#H@cWrI*@F2I!GGTiba})brvUbQ+X_QI0YrkD~fSBz7 zBkt-a8CI#-~)gV?%iH-b5VsgUY1~wLJ^iaTOtHFIXQy}o0ngN(D`pu zQtq#xuBKSrVU=ap`dcDkeJE4K<*_m2?@rm1h3ltI>4vEQVac00S_q}$K)65xN`VX1 z!h1yMa?0FaBcThx{neXx_Itf7$c|ZI)NlKDM(E|}1l^D7625!y`$f&n%x>Pi$#}ib z`6go_d&%!?8tqa1@v--x?_cLy{Otx(*{kR+d6v3HC_Mj&34w2wEoD%FEq_!y3@vi4 zJ=hA*hbmGzEqBE>FMYZr#Mt3ac2WFo)5cGdpnv?8+N0l;PyZ7+i|jUP?^)ouN}$FV z*#*z~s8W8CM!Hz0v>(j_rdPbrD_0z<86B*Gr}2?JA_o>vc`c796W3ObogEzDg+;pz zqkCmc6F*dF&&}im76ZcOA`U6nTq{xBYP*j^@DJzKVN`ttx|dOhAi8{lX7CUlK^Zpu zCg5(0UX^jlfd>x$$^l!Bbebwv1h;bn*;1Kti#}j<*E#-L+y}{`6WIC1#lGLd%ea~M zdbc-+pWP-xKVM&@Uxw zwn{F}@Yd=PK4;3T0o6cmrE(lv?RCh%>PUn5*1MrE;kj;$^#syhQkjTGS=Ir2QncZ)rJudNUF{xJMR zD4w1;X=I9ieZH}?_=|8fWzmYC^9L#!6h|P;xV6S2CVeVZ-||qhNYYtLN-QY^J~OwW z>^xyG_r3OL95|#K*Xv?pVtnTOl=btpbB(KP2Q63<$UU^FNKOFES*6{77ljBHn8x8^ zejP4F3(nc&9+ziiFt4!q-MXd2wWh19yL>MA*_JesH?h;z%VK06t1Zr5m5P3f<;l2zT=ki2i zB1yegXpEvy3DP;thjXrXN7L}nS3V9x^^qxF_!cEaBZnGFkd!KwPi315WszkS{eIkoNY3p>jlO?g>&F-*o zoXtg77=9F}B*BGOC5)K;l&c@tMWH15@WB7gyuCh{UI&OJ2=~;x-0(1Bv=ppDDd^5m z9Pju-ZBEWN7K4LBK^#lvs&3P8LVwVyR@1J_nJR?CM>}IO0l+8~ChsOQNW8-AN^SPi zf|(!8*J(GN#=Pay!IpoFwQSOo2poO0d)DJN#iQ*RU*6fGS(@X{CLVu$&0RIAvC5l? z#{jJo5z$GoO-oCYl$3Or-tt}*@S4ok)$y-fH|ox>ff;gRV!q}#GZIDb+>;j;=i_^7 zp1T0vGUAQu7re;*WMTGf()t*TPT2zu znURu~Ha#A7KL>d(OrU$7_h<%57F6CpSNMX&iXx;5Wx>*jD`-X?tg}zZI z#KDJ+NdqoS@X z=wylk(77VW;MvF?Az)fvEqXNtY*kf3|JqVePyl-Q$~G#B{C{nWiv|9*jf#)|XI-vh z8UJHafbau4+Qp^hza(3YD=$LN+#Ci-41l#ODJlZ0z@_^GhKT68^HnbZaF~o^k@{y# zWJL`PMu1F+Q1sytxveRMZ0?{^=~RrK)i z0C>jW;2`PxaJHP|_fHBDcY59Dn*H*W{2CnweqaWH1sHm$8 z@bNj?+dmNxAOH$Ehd@A~fs0c0=~Kx7!f)W31p!LWZy;6JZYZO$s7N6-Dd`n{)+Z%7 z*}TzCu+xvXJlHfu>@-LeC%sxW4-6+=d^OKM-zGGfgSV$%q zOU)lm?Gt$R>oLws0r^b;+~452POYS@td%BOSW==9&Z!jBGcbVgpym&A2QEIt!qU=G zAUV*0;01P@J!snwe!>WW#6g39Sb2B|w~y2gL};F}o(bSps&s{Z=urye?$QKSC@lttp@4HG8zWO63fet~pwvIKy@ z9~_WQJ+O%)XOOeQc6+`W0HdKSnP~Tu zy~T@}v7@c27vf$U+RoRSW??fr_V)JP-nDAu2YY)7E)Rr+s7;1HK>hsvmtCUWfldUe z2Y)&kk}cu+QO%@{*#_gsaozF{Hj;Ed>H>&J@6XH*{t{#o6%{4vyT{fBurAT~L{8sf;^DpJXeYSe}|aMYeYnsm($X6JU}b%)>YkIClYGrai*M-+y>qdsVZtB JO64s>{sT|mr78db literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-file-upload/test/six-file-upload.spec.tsx b/libraries/ui-library/src/components/six-file-upload/test/six-file-upload.spec.tsx deleted file mode 100644 index 0f73e7de1..000000000 --- a/libraries/ui-library/src/components/six-file-upload/test/six-file-upload.spec.tsx +++ /dev/null @@ -1,280 +0,0 @@ -import { SixFileUpload } from '../six-file-upload'; -import { newSpecPage } from '@stencil/core/testing'; - -describe('six-file-upload', () => { - it('should create a component instance', () => { - expect(new SixFileUpload()).toBeInstanceOf(SixFileUpload); - }); - - it('renders minimal six-file-upload', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
-
- - - Drop files to upload, or - - browse - - - - -
-
-
- -
-
- `); - }); - - it('renders custom label', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
-
- - some custom label - - -
-
-
- -
-
- `); - }); - - it('renders disabled', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
-
- - - Drop files to upload, or - - browse - - - - -
-
-
- -
-
- `); - }); - - it('renders compact', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- - - arrow_circle_up - -
-
- - Upload - - -
-
-
- -
-
- `); - }); - - it('renders compact and disabled', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- - - arrow_circle_up - -
-
- - Upload - - -
-
-
- -
-
- `); - }); - - it('renders uploading', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
- - - Uploading... - -
-
- -
-
- `); - }); - - it('renders invalid', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
-
- - - Drop files to upload, or - - browse - - - - -
-
-
-
- - -
error message
-
-
-
-
-
- `); - }); - - it('does not render error message if not invalid', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: ``, - }); - - expect(page.root).toEqualHtml(` - -
- -
-
- - - Drop files to upload, or - - browse - - - - -
-
-
- -
-
- `); - }); - - it('render error slot when invalid', async () => { - const page = await newSpecPage({ - components: [SixFileUpload], - html: `bold error`, - }); - - expect(page.root).toEqualHtml(` - - -
- -
-
- - - Drop files to upload, or - - browse - - - - -
-
-
-
-
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-footer/six-footer.e2e.ts b/libraries/ui-library/src/components/six-footer/six-footer.e2e.ts new file mode 100644 index 000000000..149ba0074 --- /dev/null +++ b/libraries/ui-library/src/components/six-footer/six-footer.e2e.ts @@ -0,0 +1,21 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-footer is a simple styled container - no behavior to test functionally + +test.describe('six-footer screenshots', () => { + test('should match screenshot for default footer', async ({ page }) => { + await page.setContent('Copyright © 2021-present SIX Group'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('footer-default.png'); + }); +}); + +test.describe('six-footer accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent('Copyright © 2021-present SIX Group'); + + const results = await new AxeBuilder({ page }).include('six-footer').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-footer/six-footer.e2e.ts-snapshots/footer-default.png b/libraries/ui-library/src/components/six-footer/six-footer.e2e.ts-snapshots/footer-default.png new file mode 100644 index 0000000000000000000000000000000000000000..2c32cf5f3966e796e9ecd20114ba964764876050 GIT binary patch literal 4072 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-footer/test/six-footer.spec.tsx b/libraries/ui-library/src/components/six-footer/test/six-footer.spec.tsx deleted file mode 100644 index 40aa57fa7..000000000 --- a/libraries/ui-library/src/components/six-footer/test/six-footer.spec.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixFooter } from '../six-footer'; - -describe('six-footer', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixFooter], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- -
-
-
- - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts new file mode 100644 index 000000000..dfcf51017 --- /dev/null +++ b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts @@ -0,0 +1,69 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-group-label is a form label wrapper - primarily presentational + +test.describe('six-group-label screenshots', () => { + test('should match screenshot for default', async ({ page }) => { + await page.setContent(` + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('group-label-default.png'); + }); + + test('should match screenshot with help text', async ({ page }) => { + await page.setContent(` + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('group-label-help-text.png'); + }); + + test('should match screenshot for required', async ({ page }) => { + await page.setContent(` + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('group-label-required.png'); + }); + + test('should match screenshot for disabled', async ({ page }) => { + await page.setContent(` + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('group-label-disabled.png'); + }); + + const sizes = ['small', 'medium', 'large'] as const; + sizes.forEach((size) => { + test(`should match screenshot for ${size} size`, async ({ page }) => { + await page.setContent(` + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`group-label-${size}.png`); + }); + }); +}); + +test.describe('six-group-label accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + // Use six-input with its own label to avoid label accessibility issues + await page.setContent(` + + + + `); + + const results = await new AxeBuilder({ page }).include('six-group-label').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-default.png b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-default.png new file mode 100644 index 0000000000000000000000000000000000000000..49c92ffc7044c3e58032a9a5aff292a23bf7d4c0 GIT binary patch literal 1601 zcmd5-Su~po6#i`~I;tIms;xbyMXQ)nG^UJJXlQ~Y6WfVpG>D#B6Kh0mZRw)Mlv*Zf ztAr4trBxziinR8M4nk0h+Gxvx@Q&WdHzF zpqCsG03dT;ntLe9N@I*(h#deZ2%wG*sQ8j)zW1dEI33Qq@Zq(~*rfVZ50pHFopI0- za>et|5agn*JYQb@^Z?8Qf9N~hDjH12i(gK!7}3HURV=;dE>Bs*#x)gH9&^UIM-r z8jHo^@pw2Ke(~b#8!FndpT}QC&$`U-#qI5WeVb>fZ%2$@3sfG^C#mY&;crYIn5YZl zr0-MJ0fH4&(GCu5cKSYTZEZt%iA~DxPJ4TMZEbC?Qhw1BH=Q$H0Lg)!PMGadf4?|V z7esZVkj(=x;BX7eqt6L`h7|i0R!Bd2dV2b0#H3$KB4Mtl(4R$wy14i>Mt+!RNh&b& zuL&d&2n@d#pSoWlj*b~*yMzr#j+!C7F+x>U)y&v9D=TaC8Mgafsq^oF1DxdDopaXK zaTCmhu+hOX*OmfHgYK>_UK3#{*T8w)0)xSbU6hoRsyrDJttqXNUYR?xtkk_!e{b(X zw3`^`X&`R-SVRA_+PgIN6D~S>BXhqd0*TZ#@p4BZxnpAz@%Ga8(y*qwIz+^0CHuZc zsp+2WNtQ&AU@(}juI_w4#h$biKjr*sx+t)tvlB!fqFxCO4y&xNf)$>DFs!Vtmk=|Z zcZqWy$L-wQT$h}3 zTvuM=M>54WE}TeY3V3+q21JPEFt)?1`c&;IMj{i4rGApAi%iLY1I4 zPaHpLxiy*FDmk|sz0jDj8BFP?Y86^BH#Rmve(rfTDr;m@-xrrXkyq&ms>^bKg zz4HjI?I`gXFqg+$#Dp!6)Wyv8teci4DS&rp=kHZkR73)IlpWH_wlXp@LTOJ-LseZl zceSlS2L|w+$&W59j0_G=i{z+;!ap8!!pS@yPbVe3o=}!qER3bkjqlsu-u|o(60Xm1 zq%zV2<3DxW)->~HeN)oDaG+e+woKr8#c3DJO1qVg(I7#a>=sX85;)?hWPV$8M>+-yLnZTCmwqD%8m0DROD( zW(k+-CRE4&eYu4~LL#mywt**)rp&oEAZ+WqxUjZ1SOrPi zAP2ucVuja`I!}lmd)A~xhzLhmk50Lp^!63dCfk5a0qPHTkSgZroUO#>euu#Yso1fah^fE>^@1pQdrcd}Q?08j|rvF1WR+Fv@m{?-5h literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-disabled.png b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..22445cde99f8abb0727748da5129a958584be235 GIT binary patch literal 1597 zcmbtUX;9J$6#r|cX}MY{yIE#tYOSc{dgTG@QD%4xDtORZd4QyOWS+R1?xLe^t)arA zPKuZZb}0o*gk_pHXu3*yl_zN-n&bh?e%voR&FqKYn>TOXd-Kj8!Npzxbq_uZu^mkEa>Apo#*#og5je*KRRZ#%GX>~|d^n^UcIgzy4&ZF^cyx4Bz=(~Fj{dST(@ofKoCq;Crq$G3;%4teB9Sm6n0FbK zp0OqI{aMh8BNtem>)4_4jf8;(V{karcn8NBh6?%%PWbAaHyZJukYEjFX^EyKA(Rm>xBNXAQTP}7-(YSR(yCZ5@Z%KkFK+= zFGf}E^*|dL8$+*us(SFiPuKS$1TRe&O`mDf(*}pOCJ6)d8a4DFkMTKFaU~>!bn0SW zb{)gDnzy~V&LaGoxs5`Q9Mi5Lk>#NJ5qhY2uDiQiC=@1{P)15IL`;%Qx=kYKWTalX zvdoB`Fhf860C=eCbNLR`YG(C2`MetH>sQ0&v*;+&6@MEw{v>WHJCD>=)=RdjJe^Q` z|Gub?V&5Fbwv$)Y=AD=@*T+s>!z3rKHw81aN?s|!^qNqHhK7!5pFO?|7QY{%q3B^x z;;A&6+a{7E(Q2HY4u6f2=caj4_{E8vpK%#4IJa&d7nBOVN`Qo(ZtId4|i*1p&pfe5aT^53x27{lZ-MX`N&#c&z7priyZ z1xs@tk!J&|+YWyCcck#WZ$6)3t%``<_SqzshK^3%U6LpSRI#II367e z;8n|y3zA-EuD#0QhCOUFazR1+E$Ja&SO?n98WawCC>c;BbS#ztIPgBoD3`A%4 zsV*oceSMj7Z2)27Sem{ixf)0PTyL3hH-P#2rh!{XOod(MmSl7Nh)Fex@mo-*PqHz8f5E~ajZ7wMS1U1ey@V=ch6MHnn2%axmB@;>F#rT%lU(f^z=oCCe4-$J)NC# zzY|F$X6oAFKrFTWMdiq)Il#j-W*InXK$zIt^GwYM3`A)D2W}{t*xL&fo;8DHEZsKa z#>Pgl3c&F?wvPaPbxZT>sqAYh@BjKuar0e|egkCw;LeL0Qpnl~R#hl-x(ECVA{#mP k%VZ?n_X~1G`5*S*0rc>l$7utqV{!}Ne#Xm{?tCHpZ=tQ@&j0`b literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-help-text.png b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-help-text.png new file mode 100644 index 0000000000000000000000000000000000000000..69c374bddec299a8099fd6d6e8b5ef0a537b199c GIT binary patch literal 2551 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-required.png b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-required.png new file mode 100644 index 0000000000000000000000000000000000000000..5a031a32e28de8f7b1cb7072dc354aa06577dab0 GIT binary patch literal 1759 zcmd5-c~H^`82xE#W?Ai)nUx);R%=Rm=eb=bk$B-x1J5p7^A7PujaEA>w7kj#wiK)^ zaS;@6MUyE3#XHfkys$*cvlL|6|95uw&;8?l^XAQbGvB;<-@JP+@N?>FyVL*xP=`96 zaRUH_3^{jIRg}-0djstNKqU)$<|HDfV0t*-F*|w>>)Yg$Tx80%s}d*Av~`o99n%FUaBohQqIC;t^cjY;fn5+w{W znLO-&^X!L?d#86N9z_FQVy;$ScZoCX{P|EpgO8`DMeN+zQ@WzkS|MUreS zO%pOBF;*736MbqiCww9xgyWYTKrqL;3+XP}puQ20=T+lBPPFw63WjolxYte1HS#TH z%0|Ds7+#4pF`y;Yr!MBWjg3UA1asmY!f3rtdeLy0VsywvS09{gOw1jegLw$XI*Pg~ zv;kYM5&w`OhASOe8T=v7>_*)3jE{$hhK2?yLVaRlg8S5@gi58Bmxp(goo=hBTVbXL z#@ll*U%E8GEwsMI-suCPP$(CdV{$z!YkU1rMPNGK0DK)TAY^4Nh(EQM1adFrn}D1>(fes>vqRM;XrT)|ctOZpgZ$=znV;aawzlfQau^50KGyN7(4Uwo8@B1QiS`01 zmp_#&xfqT>V_h4#^@fJ)x{aB3_oIP@UqKO6{M_6)jFZeI z+EXyXs}$dQu*^Gl@k{TgmOBPpSC>Tm#-yZ#1j+nlN7Tjp=|=7E-bExdM+(Z?SC&L5 zKR?Q99d;G-V{RPoNv)^|8)7^oeI~(j;RKu5rRj^&lK0sLa$jn)+ZNq8Zf_8@xw%Lz zjT$x5bnEu|Ett9h$7v->|LW=%!4mv?@k>d`$jQ^p&tyv=t`f+fQOm&(R&_=2D?|KN zu3WkD9ny(&0>F$v0#xT0Gb8>cY$`KCOf(EUJb#aUDlS(r(G7g+h{T@aNRJPi?6hV=v z7}~^lNR&FYYWl^lBy25=Vt9`Eum3e&bHCSlXBU?Y@-JU-OXcVS<8es4o>Sn^HjVSF z)KnFgru;|rQ%+BY5_}sIMc*Tf-jv?Gt19EukD;Auk?7gZ>gUg&*T*j#A!&yp5Qx2f zqevI-d`x;MG>|^f6VZ%Qo(V!I&IDBBbabMM!DI~u9Elh!r4cP7PHj=k%*>>B#`ovb zv1On4SfQ_X6+`>We7Y|Ltt?FK+GiR5M`e}ip)MVGds|;$U*&8~qI88uBz`ULwfgXa7p$~A#>1V*bEo9%j5Wd@EQ_n6NxHTwhC=Q7d zp{96OYEd2__zH|`_`pdAI_G0QPRjHos7AtOKqO{$0Bo_CNL27@-n21UOX**rfb&2i zzW_~1hDVOP9Ci%1psY(?J~G0-r*{A_QQh(Xg5vs88m&hmd2ie3Vw^Tmp8QWouF2a; kCfmG!ULYqbfA`Zmpv@X%vFUkfja&hsXW?hcPWj{h0#PR literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-small.png b/libraries/ui-library/src/components/six-group-label/six-group-label.e2e.ts-snapshots/group-label-small.png new file mode 100644 index 0000000000000000000000000000000000000000..c09614fc658d2eff0b1c912d373639d7dc9e529d GIT binary patch literal 1267 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCyKyi9$=tJ{vJ4C?D?D8sLn`LHxf`jmv{vT8 z$Mk!Vv)A6tI(FsCm6$zQX?bb0(sW&RK46lo+k@4kwkRDoWnd*6iFcS^DPF zLz8ObH@S3tzizpA(z)uY*H3Hj$3OqQ(_-$^%6Y}>_Wk|$-{SeTn>S}NGDzJqVsPMW zVs+pp5%=C-vuE4>{q|N?RYgTfFFMZ1Sf&*f87V3z zrllQYNMP1s&rV4>a{Ko0%gg=e&6{Um|4&9j!eHH%M~{*M0s`FK+ovW!d-iP8=FQWm zOzX zs;Ziom-qes{r7L)+yPqg@p1d!y??J<35kuJYvOlq)ru7swzgkCew-M*YW3>7ckjM_ z{d#}R&rfe}o4=M{x^``DM#hV)tHbs5^v=(-HMZZmcW-P&ghsw%_=NUL>%V;~ll--> z{{O#scdeNlbT=9#e*N<0#2KZtlYDGye_c6${{6SNw~gK}S-O;!jcwZW>8G81)Yk9W zvuEEvyPcQs-?z85)xCV-)2B^y^d_!awaVz9%)~>756_-GJ9XZqKau}6Bqb#`?U?-9 z+QMSada>Z3pi`$#F)=YMsgjnKzT~p=@~vB1vQwU}VmvS{f@9iFYoq-hnsw$U&!0En z|K!yxt>&p$Qi_W=FIeDE_2t*s*TA6E&KD3D508%4HlEdTX2U9AC~9fGzOZ=l;*TE- zKTrPn@ng}i)=0&))YRG^9~_t2gF;PU&HDKLr^G^wiay=AG2>{lidfO@OP7r7 z?e$MPbDnKx=YJx3Gj@{c-KCpT8h38ps=E6}(T%0APdIJ5?&4))V^j0_+1VpUTxK5C zlT!}9dgREF2M-qP?X(e=l8OomnKEUHimfTb4I%D>RX;u?R#p9a_bzWnXQI?%JvoKh zk2Y@HXlQ77?%cUeFXd!qbzkq;o`3(@lP49Gm9eipoSmC5}wGy@&~& zZ`@9n?PKviH??*nFsSCsD`z|3e7wK>eH_rH$&)9qU%x)aJ#6JC$upZJ7;YCn{#EyE z_3quk_=_mpVORezhv9&I+1vV;=ibXP?a;a|vBo_Ao{NjijhiXA zV6gEpTxd{LWH99rL&g7qCD#A{J9(=)febcKnZ?W?{(6mJZ~2L9KoJH{S3j3^P6 { - it('renders', async () => { - global.ResizeObserver = jest.fn().mockImplementation(() => ({ - observe: jest.fn(), - unobserve: jest.fn(), - disconnect: jest.fn(), - })); - const page = await newSpecPage({ - components: [SixGroupLabel], - html: ` - - Option 1 - Option 2 - - `, - }); - expect(page.root).toEqualHtml(` - - -
- -
- -
- - -
-
- - Option 1 - Option 2 - -
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-header/six-header.e2e.ts b/libraries/ui-library/src/components/six-header/six-header.e2e.ts new file mode 100644 index 000000000..32a6ee7ae --- /dev/null +++ b/libraries/ui-library/src/components/six-header/six-header.e2e.ts @@ -0,0 +1,222 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-header accessibility issues: +// - six-icon-button doesn't pass aria-label to internal button element +// - Icon buttons need accessible names (button-name rule) + +test.describe('six-header', () => { + test('should render header with items', async ({ page }) => { + await page.setContent(` + + + + + + + + + `); + + await expect(page.locator('six-header-item')).toHaveCount(2); + await expect(page.locator('six-logo')).toBeVisible(); + }); + + test('should set active state on header item', async ({ page }) => { + await page.setContent(` + + + + + + + + + `); + + const activeItem = page.locator('six-header-item[active]'); + await expect(activeItem).toHaveClass(/six-header-item--active/); + }); + + test('should show dropdown on click', async ({ page }) => { + await page.setContent(` + + + + + Profile + Logout + + + + `); + + // Click trigger to open dropdown + await page.locator('six-icon-button[name="person"]').click(); + + // Wait for dropdown to open + await expect(page.locator('six-menu')).toBeVisible(); + }); + + test('should set active state on dropdown when open', async ({ page }) => { + await page.setContent(` + + + + + Profile + + + + `); + + const dropdownItem = page.locator('six-header-dropdown-item'); + + // Initially not active + await expect(dropdownItem).not.toHaveClass(/six-header-dropdown-item--active/); + + // Click to open + await page.locator('six-icon-button[name="person"]').click(); + + // Should be active when open + await expect(dropdownItem).toHaveClass(/six-header-dropdown-item--active/); + }); + + test('should show and hide search field', async ({ page }) => { + await page.setContent(` + + + + + + + `); + + // Search field should be visible when open-search is set + const searchField = page.locator('.six-header__search-field'); + await expect(searchField).toHaveClass(/six-header__search-field--visible/); + }); + + test('should render header-menu-button', async ({ page }) => { + await page.setContent(` + + + App Name + + Option 1 + + + + `); + + const menuButton = page.locator('six-header-menu-button'); + await expect(menuButton).toContainText('App Name'); + }); +}); + +test.describe('six-header screenshots', () => { + test('should match screenshot for simple header', async ({ page }) => { + await page.setContent(` + + + + + + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('header-simple.png'); + }); + + test('should match screenshot for full header', async ({ page }) => { + await page.setContent(` + + + + + + + + + + + + + + + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('header-full.png'); + }); + + test('should match screenshot with active item', async ({ page }) => { + await page.setContent(` + + + + + + + + + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('header-active-item.png'); + }); + + test('should match screenshot with header-menu-button', async ({ page }) => { + await page.setContent(` + + + + + + Custody + + Custody + Other + + + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('header-menu-button.png'); + }); +}); + +test.describe('six-header accessibility', () => { + test('should have header element', async ({ page }) => { + await page.setContent(` + + + + + + `); + + const header = page.locator('six-header header'); + await expect(header).toHaveAttribute('part', 'header'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + + + + + `); + + const results = await new AxeBuilder({ page }) + .include('six-header') + // Disabled due to known issues documented in TODO above + .disableRules(['aria-prohibited-attr', 'button-name']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-header/six-header.e2e.ts-snapshots/header-active-item.png b/libraries/ui-library/src/components/six-header/six-header.e2e.ts-snapshots/header-active-item.png new file mode 100644 index 0000000000000000000000000000000000000000..3f412092b4c92bb25646540b40188264837689ce GIT binary patch literal 2950 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-header/six-header.e2e.ts-snapshots/header-full.png b/libraries/ui-library/src/components/six-header/six-header.e2e.ts-snapshots/header-full.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc94fe322623b5c554b3a4629b4fff8dbbfe44c GIT binary patch literal 2945 zcmV-{3x4#8P)@b*+H6?;Ps39JVE7yy8` zhbbWd$OZxn0AxcgX`?;`09L{@j5jAl0IMQNCwyB209Yy0 zIKs`(0ATIRT!)3s0st#y98Fr|2JR(nN>y2p%D*~ZdG}^jP6pHKMZf*PUpkGO&i6~= zx0jzg#`hgVCOiCm7~g-gei1#e?zyyDn|7USfAYTlpdp$zZuS3MeQD9tuackL{<|g<*{@#11q+7?_QNkHE!HE);vh=C6wO$3{8WQf)eNHe@>b`YSX^6*w;OJ z@a*dpzV9$-sOYD(dUpMi@uQxxf0ri4u(gq`e?8V^`X}nv&Zf^?^R&F+i`69wyI6IV z=~1nBCuZH~{d(%usWWHJ+`fG~Jw4sW$H&*#_ZJ4N88~v}NK{l5?YO$S4jD3pHA@Jr zrdFMkk@?5q>inEnpYj%iT)n>Z%e~KUU2C`Hu*$yGONVro*>fg{_%ruot$J{+*X!ra zo0piFD0;p%IC$`2NJz-?<;$7UUAuOT?_9ooS@D6Do143E;li}EG}`y`^IN)fsheBv z)B#`M*Q98SlQnZ}y=m15D*t;sd-eoYU2WW%yL@JSX=U~1&YeqXWn*I#85w!}`0*Pz zZqRoA{Q1-qA0NMB#R{fehYug7QDkgvEN{{dHIE)W$`p#yYUId~=g*%nGB|toY-ng` zK|ui%BP?-&mZih1TeoiP&E2_khbe$wpR*`Tmwxa2rb^}d@zU168K<&q$=;CHX9?2h zE-fnBy{S0nGv1^LWBy;~xP21Mn}u7~l%G5#PNr#No3O|qtae!sdhgPNNUc^MIB=jx zj~=|Uvq8Up{YH%%wR`vO;NW1IAu`3Gw4$LU?ey;5o4-H`>+9FAM?^$WacB7O;Y@MX ztXY$vpC1$yGzHb+%lJT028e_7%f`Vng+RJ3yW z(?b2zveHAlc~9xlIBomR&J+GzmVB^i$9i$5{lGxC`D>Z1P)^a7-o7HO1nQYQdGgk+ zTWOr7yuhMi1+B06d( zi7$#-8h0b^fzSriZ$B?@rtM_wO^sq4J!& zyZhXQldh}>YZBI|nS+i!brk@fvx1u{=7NmI@Z>pVKC^b|Lt(hfhJlc6i@6DJP zWZdboWRs0gS0+z=`}R#rN;+}kM9-c*O^+rgC)1Xy?@Vz@OG|0%>}=+$Iv(PMg@sIU z=%pnjBv9#!))r``#m~=g@#4k&0}0n*SrRP^E|^lcENIihGdf1=)qz=F*@;8ap5z4k zfL}3rqLK{-){Y%JXix^-1mRl|l2GhILg<-rKcQfik4MX7Fh113fB$30j$OTab>F^y?c29! zAZKZ5X(vyfym|8`jh#zMN~p)t(UCrle0_a`f`U+Vw+P9yphMtD=Sktr^7MsIvgb?? zw=`3Mzhiug?R$O12|1sJRb_m~WQZmOGiJ=7ND2-Prdc7ad{Ym-kE5cZXzjm4hYq>9 zxwLTh`0--~@aqQT!`}gnn^73Nx7abk_ny2v0W`LvkEOi4 zywucG$}CDW70v%^UeN3Hv~Ahag4gLNEU*fk@U!#`mhpQ$e?qO!Waw1_uVEo{9$KV;jz7jNnw{x5UN2(ehH zYH8nU$Y{x}IT}ajM!fRA>1AbQjTtj0Cntx>TlDUiduFX(y_yyoUh`yHaEOeIWOCN0 zPoJ`~GWyiv_lNRM2ysUSPJvNzg;~?)vcY{ZA*HavCOLiD{K01C0{Qi(RTHA z`=1Rp?xFLuKK_vDDqr;wt#_vm@iM+Un$UcZMpz2SEc&f{)7y-w;-l5dwIu!euNOsk zOQG?L=f?f-VCJRKy3b!LNh@Z!yuR(qt+@-sYMxgxg`$dkY-}uL7JcrDg>X5d=xMe$ zvDFWO)%aR;>Cq}M*m3k9Xy(P5kjBl^Vekm&-%ZoB^)`Eg{lLJE38_Ufo6AlmR_A6i zC8Ertu@(KodwO~@WeErfplS{?T%*Kq*-?yF1+-*JSPN6axAE-SMdPN*)~-e8ZYp~R z)<`Pv-qgKV)U)l{L;K>(NU2|6R#NwK=|8+(M+z+V+NulkYQG}cXog7tcw67z46GF` z_ODyFj+RFwA|eJ49?Y5n1Qr0uhG}47N(cb5fxrR)*+5_cfNUVJ06;bnSO6d!2rK}Q z4Fnbd$OZxn0AvG!1pu;vzybi-KwtrYY#^`zKsFFq03aI(EC7&=y1$ykzrBG009Xx4 zE~!N?LuLVhH4%v_)d3f z)0X$pRi!=FCh#dfcdWhyH<3G+~NEDDVR|TQf4tjJRz_EpaIMV7BdWw#88WG z*~>X4_O)i8QN)wTKWd6llLQt+W&ywtF%2Noi6JwYCrX|~%U+%gis<39KV}Fc{>b{r zR>&*>conn5CCS8)?~CLzd$P2KB@T;OA$$h$$7-mDd#c;kBz2 zwCDx-Qc*GS=s`5iLUOm}LZ6xG2+-~2-==GRIZLOz@)~BKxehR{UZSO;kB;{DwX6he z0)hH)4hx!B>2s`ptVp3sCnq~|H7lgrRWl%J75^rC3q1NgyN!u}G?1;0 zP>*ce*g0Aq?ykX)pKpR=K4Y`W2>f8PH=GQGsadi>hq`U_=(Ml$^; z-8N=6!uE37Yg8^Rbs{P^)_&9@JOOnJGN&jz5r9UOy7k+d1_t0rqHL+urdK|28HfY? zLu5-1a_XEz*ivIkF^0O23!-!&ELyNH>=UiXBp|?FV}kJhev4cKs!wxlSOhmb3W1|?Un&z)@M;ZC*cG*E6 zux$p(d{?!u5-ZptV_KjEk+BGJ^9LcZ*NR`Ehcl|1KXxR?D~~Vy*Vm<7X9B((%cJXn zY5_wh<{tpfj?f|$W|?1p{%AduH1E4H-;8Y%4coRM>tT>(H9J-=Q+d&-TY7_Z8Dir1 z&r@zcR(GE}Nt?+!$R4H<#5rUjfCt;#%Gax`KLQ8jT#C)lrV%!ksqwe;882T7t}60K zB~^hdax}<|L^%&A3OY8MTtsgGl6I?y_uGm1RoxJ@98`XjB7t|NZo_qEG z(XPSlA1(~hgofI9%}>_Dj=q5BIU$D}TwE5Wrm~J-ULGGGPgK~r+)+`PnVg(-m3^E8 zqMvgc%pjA==@}V@7zO6JdhbaD0#Q;@BB1z;%89tUyU_U5p-ojv>S;$bP1CQr;DtF{ z*wOcQ+V>2yUhc%-xW^*+;EbZxfk2q}6qrWAWPEyhI-i2i7w78W-T5n5u59dg_w)c{ z3PM+TX5p4v&-&9uqN1XXLpnd#8#t!tsXY(xV8m_;5WtRxxz%(r!k&vKbz&)Iwq!U< zsZLR~Y7=XlYXEF`9pwWA0+sz&uJP7-e9L%3^HAI=Tg5RuRyQgo@Q* zEoQp6V5i9yqbRaf+)SK{P zoXlrgZYIm?567>?#wIUKieuxpRte>(Zu1xjFD?n%bTdvn55fwkW?xMH&S7*0Ls zMT8q@h=x_uoG+d;qm4kZv%*_d&lVK6`{wVYT+#j~HLq;xWYQrr*|wB8P*am5Wi14g z{@i)MuwO`Fp0md@;z-^^pr{_L6-EJ^pLqBe8!^So7VpnJ;qCQL8_xSNqjbMA;$RIQ ze!8M~_z$FOI7@~aYEDjjB0{(Q-pa#rTAWyZ(pZ|m{Kesn6DJjbMoqFHsE@~pT4)1cCAH8B4D21 zq!P^an?XCaxJM85_1`$fwWy%8jNZ9R6@(ox#tE*Jm0MIjJKXAcP&jnkDy>(c zs2a(J#(C06zIJsj#ZmTlj~pBh7Zr^R3;zosf|z_!n}f7W{xgmeB5ZObD; z{hvSYP$^PPQFw5Z!L{f!t7%P9O1sIFmE3SOXeK&8wfLt&g#A>367l2ElqV_Oo#VJm z{kXHjLoiTt!odYNT6vAa_NXV6&!1}z?loI`Ps3oev$LZp|8!oJBgI(Aq0w*dOBA)+ zV}4atRp~}+wRZ?&TEq3q^QnpJGz+j-8>L%Nv8Q4e>1UUB`WhDY_rvpZ;orWN2+GM_o}K>HFRMws8fn=n@OEe@bo$At zfVq+zQ|pZnpiC9zYXFt5fA6WO;b0#Pv2}NZ5yo{|O`es|FTaUImoSsce?&M2VK5k_ zsD9=x(Qn^!B)Ob$3JCax(@CgG*|i`O=VoU?;P#L|&SqwBZMgw+$Yn7xF~a(b` z*jqXp{dheSlYWeR63M+p>hm1#+Mz8_AkhI#v}vrz_}j;CTzBHk(Omg?ezZ`<1L+uC z<(Ez=58LQ`#h5jE-?oW$o6@_L-L0p`x}(xD#tUz15W5o(nQ=zT7K4qZ)!yZ+L^se? zVpY&4=erikMgAC0-=Pq{Po<@mEN1B(Ts~n&`|Lw)+?EHC^y4yQ2`$Rl%JC4JG|Q=4 zLzDIQ{#M+t{wvE(ZJ)5ut!O5Bq_hh`?qjTYKQt%z}}w1vO9Nlr;q(Fg1W5gI>c`Y+exirF!_UqP}RlH z*-0<|oPawRBUlFq2L$8F6GysWpwz#KM4%t%;GA+Wc>YYrGzr7F?>#^135t!qUEM9^ zK7hABztNv@b150q)Z9v1yN@b;HFm!R+$$-}W^#KfJo7cGFM`_=vI6>lz$;?f{sIw0 z*-E){Y=4xSbPNFi&?0ud-)ZwL+K`njSA);7IuOGyUB?d}_X}KviZY0so8>%&Y=gTb z%+A`fDD)W!GrZw>Uc9^UD3ozr2!M^lKCt2%9ye;>W1_7aH$huESZ#vm2&shIRmPW~ zhBiapo3uQZkTFFCYW=Sn@|(;Wn}Ajm=CavT-%v)U^yoebr}%rcoNV&Z!(Z4l)>Cu5 z`io2RU|8R}Q0Pq~;N^GocO~=^lt7CLVBnVj1E&v3zrG zc9unVY54=d{oDd!VvoyZOhx$#&r5Nw&NG5@FDGxLWEk_^;_z26H(Tuzc)pSK|K#M&V3UXrG z*g?OsJ6ntoLdfyWFh|>zFeEn8Bpu=aapM4i%yN0if8z_@QQt~{u|gcx{6z3cVC)3X z#!cN+l!5|VS!r9{xN3GV;-x{#Ac=h91NL&4^AJuj)&ynQ3+{q+RoOybU~evtS})Y| z{7*PLMAn7_yorTpo(tz8Apz)wB87b%L4oVKm}oH?6gXGLkmL2)K*7fuTV5Pl$`=aW z%2_Ekm9hbQ<;#y(saRm!C@|Tod4*^@gu_6r-|fK zWi+Z*>F49!aC*t-?rBEXqDB9}uN9;8qs^*@U*Bf*_OBv2UHAISw?b!wxbj7?{j#9o zTo2dNlDeuzED^UCahK4I`E#$yb$=2WaPz>O_NtY;xG2U>6>HOtmnOVw5xwL6jIy`4 zXK7_MIWciNVr{nb#*G_dVq%DEysd4-fuM#u13~T5;+PF17?a^>qc2T&cN?h<^o6Q7 z4^=C};rijrx&14B&o%FimPtuU%JX_?C|K%MlzH55ZXWaxJ3L-5EtB!qw@W{G;3;d! z!oeS0rRx!s{9H?A-*C) zD$b7#arjxIC|a$LR}|8JU={B#MZLY#j9T_WCjp zb~of{>|s2~rjjdKCl2WfKT!A`jSVk}Zu{PYPQK+bn=VzYishMCZV^jYt{@d#bpn2{ z_iiL|0|YjfdVy<;{i@HAn^0+|^|eNDNe=0}~{F|)!l-pdXZjAECf$JMdYu#ffT zx#xZ8*k9f&QC@FpA;9e%>$cZO-HL{LbCyUX(#c6|i8ePUXr`pzUN{+Npdhi60hu)j zt|IK~u65nl;^ryNot9dPyjO#rac=vll>B&66Al4!e$y>^4&QC|E7BPZhLm2IfLSL# zp|ciBZ(vYHONxfS2?%9aXwg+PtL_lLaH`Dh^E3Mufq*3*-!SqQrX{j|+|L??!c=&g zUAc0_(vtU@y&u*w#AOvNp;!my4;ru8@*HTE-;-RC&LHMi=Ctf$*g>5~h2!tvzmsx0 zLJ}^Ow>}wd?e70$fQ@>1Ds4gH{>suTonKj7>BC)#M<4S+Ojt)iLTIqd>H-X><4;u+ zhT)$f@;AuH(YLkhsw$Y>t5WX`R%e$#?$+~I!Q_C<5QRb+8yoxaBbo)vpFcfxP0u9M z*Vpr%QSBQXEI}5go$W98o{USrz-LFO%tGXcui{y-KFaWMp2M+$Vfq z5dsc!a&mZic~eqS7Cg&IqbrVtmueq!G>aSU zA(+Dl8tzgqD2C9qgwhvlNbQ8^tQyT)hn&=xp8j3QI+!Um35`$muYSK=GwFy<(xf%v z`f$f`l+dWX>9R-A$g1n+>I!p4$`NCjyVi3|u4gBo!kuOVFQ=rYhA&OrQa@|zN)6HN z?d_#M_Hb|zMQI43yu7^PWEMhnJwBZtE%*CCN%-TPm34QSfl!chyob?RF=OlE#iuvCv_zyvDE9a!25{+#t9PZIc{HtlQjZ<#1&-`pTVM@ zlr@>3plenMw_?)vUZeKjJISi4&z0u-``3)X0-M6W509FGVhvq%VU2QOfZfe@@#C4p zm_`XIl@^UsS9qc{%eWnm^7}0|uO^`AdeyS4`SH*071A+N6Fb}{m;VAgGtrNh-$y6a z1$aKxp{bq&1!*(ll+#?Ipv^uRKO_ZY@B%Ed5aWh}uO}d);5H{aAJF3XUrLiH2gaKJ zFHK|j^R?}5PIgcrUU`$eb}g=t9bEdE+!1V{xCFo(;Z&t>|CF0T9METuBssu&H3I{T zwj54h`p7zbq6DdJN@Sq}MpBEKM_0P6asuPCO?&bxIUDHO#Vz~<4XG{Hd~qgkxw^eD z5o2Q1-lZgZBSe6;U^ { + test('should not emit click when disabled', async ({ page }) => { + await page.setContent(''); + + const clickSpy = await page.spyOnEvent('click'); + await page.locator('six-icon-button').click({ force: true }); + + expect(clickSpy).not.toHaveReceivedEvent(); + }); + + test('should emit click when enabled', async ({ page }) => { + await page.setContent(''); + + const clickSpy = await page.spyOnEvent('click'); + await page.locator('six-icon-button').click(); + + expect(clickSpy).toHaveReceivedEvent(); + }); + + test('should render as link when href is set', async ({ page }) => { + await page.setContent(''); + + const link = page.locator('six-icon-button a'); + await expect(link).toHaveAttribute('href', 'https://example.com'); + }); + + test('should skip disabled in tab navigation', async ({ page }) => { + await page.setContent(` + + + + `); + + await page.locator('#before').focus(); + await page.keyboard.press('Tab'); + + await expect(page.locator('#after')).toBeFocused(); + }); +}); + +test.describe('six-icon-button screenshots', () => { + const sizes = ['xSmall', 'small', 'medium', 'large', 'xLarge'] as const; + + sizes.forEach((size) => { + test(`should match screenshot for ${size} size`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`icon-button-${size}.png`); + }); + }); + + test('should match screenshot for disabled', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('icon-button-disabled.png'); + }); + + test('should match screenshot for focused', async ({ page }) => { + await page.setContent(''); + await page.locator('six-icon-button button').focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('icon-button-focused.png'); + }); +}); + +test.describe('six-icon-button accessibility', () => { + test('should have aria-label attribute', async ({ page }) => { + await page.setContent(''); + + const button = page.locator('six-icon-button button'); + await expect(button).toHaveAttribute('aria-label', 'Settings'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-icon-button').analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations for disabled', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-icon-button').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-disabled.png b/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..a4ad6ee2f6033138d362895e5f4087bd12e31e70 GIT binary patch literal 1038 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKa?4|}>ehE&XXbN9A(O{~oE zkEwD`r>M$uU>tcp(;DUG8x^WksbwtWj*mDt)*eB|NjeccUGNsYtbU5 zt+KMRQArF6=6ZYDr%s=~{95J0hyB|b4v5}-vjG^sA@1Ss%k4jJei*d6c_CltuBFKf z+Dc1HS8}$ux9`dWYO6e%VziibmFL>^>+5T4S57juuz2ycDl~Zh?AgJ#+NR65Yzgt_ zES0ONs=9UO&Ypey&YeFW-s&By%gk`|R7LyJrd^l35>4#v)@`Y(tGiZwxWGb&gXPM_ z#Rn1$EG#Wo_LYTt>G=l7dvCeG;J|0JF0r(%Oio@t+rG4*V1b8~z5Vx}HO|h?3j;Jv z)y2Bku3M+IFl6fW;G-@|fk8owT7l6!;p4;$e`?YfH{a72-+H*nC_6XTSM%HHSXsHB zChQJ(r^};{JB~jtytHcPPRqZK(=Ty3yxVj$@o!#Xp`ldo zvbs38;|^0d@-XZ;HTVAEps%rwOILXD@-pnuo&9}7-Sh9iFSnbTnzAw6d3J810K-3~ yf2QnYVzV9Xaz2$Y29yXJ&?jWjSVgvhH_*A`G6celF{r5}E)~@!^30 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-focused.png b/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..7cdf1d12db82d0b4b4780291e32fc18a2257ed77 GIT binary patch literal 1160 zcmaJ>eNfVO9R5nLqp2;FObyEvP2tyc2zl9y=A0Pi(o)Fz(!iHIy>`xy93)97ahW#e zL=WcHBmoZTkC|wE(Q$PYe$|abEPd?x^pDJa@&L@!{lKA?Z5<&ft(J zxEp43s$qA48b-P9wEJ;Z8F%P>6s0w#Fod9fz$TL)KJN|_FDqpwi?@9$#7PS@ij{hUx^E5ryjx zxz)f_9<#12$va?j^uvIsJES1vk_>j;9=7Qse&eTrt00xb{%6QO4`=ecK7ZDI-P#{^!=B)5Cr*w*H;Mz9o^lTE#xx)3Vk%v*}1T&Na;l&(9_dr z;svD%N|nkPm}G{V7Tf6;FB(X2IJ~yDmc|!}{_5?8&XqF?a1+{*5k8+!Lv7uv9UAgP zjC#8LuYn(#2YS6eDj*1tN4mK9uAJ+_`leS_R;tt5Fp<&G3v+V`Nl6Fx?K?suG4t|- z)z!bQYi;T1uzlAVa$7p4z2LyDyK!T3ax&C!caJXV`0<^B0@j_Z>}(=;?#-LyY!Y&y z)nZ|cZb2e%0@()ChPcE;-P^ahG}@HaYL&?@inh7Cm#O)vk+YE5Y}RVE^Qs8S4i&8> ztFgKHB$!xp7Ue#uRPvwjiQ(a#Vg`c|xV*fazu<`oF0)(;EaGxi{#{sxw*N6SO5;6k3C&25=D9>q6q{-U|M>*>WN14V}5=dv zKSP%3>D2gmL3<0E&6X<^ON)!vcMB{F3pTMTH^5cjw?v*I{*#%R88tLJI~z6c24S(& zMq?3&6B+4@L_!$M0I{*jtBWR7r(Us8V!`W5#r|7zx!i2dYZQC&N=i!bc)ZQHh=>R@ z8m-ron@5aBV_#oiLqkJ*JC57;#rEykk5>Bc-Fv65?l784rSjvH!$W=$RL;rSb8VBH z&)-7y7e0HnJUDn%IDi~&usNZ}=~OCJY)ni{Y^=p%@h(*=m1UC7b9A~-f7!nN-z6O# z9p0O0LX45i0nC|cs=dc}?~Z1A)nFRFY7YdBVVPZ@yQ5I$4@)69C{9sZq|XfoZ)uZ6 zGVbUMTm~!Ry~JWMD@3hUe@sTrcTV8Fz?A6#vNw}KduWQ?qxA*0_^m~L0+5SkIrpNs zgZBt$8;!YQQ=1Nc2&oAH!0M{T`W3_0C+j~H$r`Zu^s?7*)Dqr?0OHrj!f%JAu>S+s CbRgLP literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-large.png b/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-large.png new file mode 100644 index 0000000000000000000000000000000000000000..c3665e0b3d8642bf5e090db957d2b797f7704320 GIT binary patch literal 1735 zcmb7F`B&137XOAzF5@!kXf9=qS{f>5A?Z|VN{O0{X@o0UF1cYYnW!WB)Zv-A;RIQt zPh1)Sl`+y>pViKi+MPy@q9(c5|A6PA#w~ADJHMJ7|;%*Ce z(5jASio0Tyrz=*&PVWff=lUg_ee6K|K=;pdSES)lmT5A@Bf0K0}VJE2{-W z{!0L7#MoM$#C_cmqvdbb`?cKWsLB8s6-yj@bMd{QzHE9QoYf`yk_riES2(I>qW~1; zrr|dwANl2WIF}*5dOG9UDej2PSK6x!MG11nrqoYF`5-^m! z@oCWKq0X7hxysrWvU~H{ekLS4tfU*Tm;DMg9&fw9TIbvB;^LxZ;rB9_OQ>+f^ZL5* zYMb<8&&tbrLJE_~tgS_Ku1|O2pFDX&yV>B928F@OZQ^?Yd-V80WOQ_0)uXlhH&oIx z!Y&*Y4ApwRD66N^Jnq$So7%UC>#!d zf}~VdI%fY{a`&kJ#sl=Gf4)RZc(H|BS-o`#1Vp(FbE;2#$POt znd!|dFtAhYT-e+FHr5m!uWE2U=~&B%P)NbYm3y>W{!?crCh&N?Cd>yaUTBZluJUyC z_GYDQ*XPgA&riOLoe{l=q#^5sKiUjgFK`MBgkj=~!pDyfD>hbMDc}iorEA>n^$0WXK%s{Oy}HZZ9>wR##82K;MRfF8qj{VU>Ie9w(an z8a+q#g5I8l>0N1SYg1NMCYyT&G&Hxj`@!1yZk90E_C!a@aY*Uu+n3?+>=AQw^TtDy z@7`77b#!!kdU|9Is-6YZe}8IPv4M2=F*Y{lk{#v;^}T7Qz+gQX#_#hDu~>{(Ge}gO z?=LabUZ6EPIXZT&&2XgGFn@wEH$Yw-O4(XMxVoO%Yoc{_2H4ij&IX$%u1;K#!dY3e zEg2>nT@(t1$8)jy1JXCzfM)69vX(_Jz_S97y(K9ovd}b0`ZSs|oC3SVB~;#|l)jLw z{zTfPMAY9>L0Ej>5EBzank5X^mzI|9?Cd%B#1Fz{O(OAQQxTqDvR?gz24>vLq=d(_s}WMLH| z8Hv%h-Bya3>|9>|!X(N;O3w2dJLo9!yYr@|reGx95_qe<{f*Hc5EC9A9vK-K8d|e{ zC;zNxW0kR|od&~j2pbT#KKCZ_ef@ALK`)m~CQAi?6kujyF(B2KTa>-v{^wx=D=Vvq zta}j{jP+hr^7aaOjg@->3LOU0!GmgMCA-znp6yG_DhjQsb#-rmbl<^!!y5&hnH|HR z{}pBe>MfrR5+B>dhh}}x4^OOs*jj^F11(@jO~DKpImQ4`nQTy?3P?E}`tN`|+yMaC k--nU|L%ti)cOQ}gUIj)IzoaOAwh($ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-medium.png b/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-medium.png new file mode 100644 index 0000000000000000000000000000000000000000..718cd18743d75e3eede6f8dab8677f930194310f GIT binary patch literal 1079 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKa?-*~z>hE&XXbJt&EPqfVO zkLf=;r|zHJ>hjXBT+EACGug1^jml4B=@jiFOpzKoS31saIM_6`-g(EJRu`4X6G=T6 zCg^A^iPkZe{cH?cKbA5!C~@d8 zoKo1ppwWDQX#o!tcY_h}0?J;O4<9*l%-(*x*_q)&_>9KT*w|bHiL9)wHDRkSzqGNln|5-|nlbPM<&-H?BzoOmrlhB@U%&perS=X7t`FJS*=d_2e@RM8o;`c^ z(nQ@&fy@mY5>9`w&bfH;;>L}JmOgLazCC*6h(~R#9Jif~&6jWAcHPa3OxPH~#>O^j z@??E|eP6Z9zklzZvvc0Oc~L+R9c{|M5q?5_&4az~fBxLLa^=gXPhI_j`uqDsLqm&r z|7a&vS4V5b0G%L|vdLkZXVl4QM~=7vy(3VRU}|FGe_t9qeqXHmzN*RUaT`AbyLK)E7z}QGYB*m*jYpc1So7&mEHN>v$~=}Be%Z(e?H@- zi3@Gyr9d&|Tmc@%;I7V9;LL zxqtukYgt>pZePD%URqjOR;G5fTvAL-%uD-dMP_-02}j~+W_HTT@2MM}I3heSVd zo__q%Bg*qDFnYZ%z54boY@W29uI|m8Z9jfgaIU;`DQNm>)yYMxCOw&ydTF}u!Sl12 z9Bw$-CH}10w`r4+rGIHj$((uf@^W%!oPGB2VdCVIU$!25{q@_IFLUP1k?1`JB-gH8 zd*#X%U@Y#~VF9wSC?T`)d(JLkTJSklnqN~BV^x$mMdbI#@b<$8S6ebDiTEXC{;&F3 zSy~#Z#?QyMXz}9DpFc0v57mvUV_UG^fcbU%ty@vsZ`<12>;FHSxBawfL1LmKGehjl z&$SUVXU-Ig0ESb%GcUuJW#_|HqIIUdKfGs;4VXJsfZ-qepDaFxRDlSFDUJz@0c?$| x4w5WlqzD|l56t!d|8t5QdjMpxf$}{w!?&A-?Dpj!_W?y1JYD@<);T3K0RSf+@G$@Y literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-small.png b/libraries/ui-library/src/components/six-icon-button/six-icon-button.e2e.ts-snapshots/icon-button-small.png new file mode 100644 index 0000000000000000000000000000000000000000..62231dbfa82185cfea96f3d58037dc98f58dc950 GIT binary patch literal 826 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 FO#pr6-Q@rP literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon-button/test/six-icon-button.spec.tsx b/libraries/ui-library/src/components/six-icon-button/test/six-icon-button.spec.tsx deleted file mode 100644 index 950b00476..000000000 --- a/libraries/ui-library/src/components/six-icon-button/test/six-icon-button.spec.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixIconButton } from '../six-icon-button'; - -describe('six-icon-button', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixIconButton], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts b/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts new file mode 100644 index 000000000..03c0e58a0 --- /dev/null +++ b/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts @@ -0,0 +1,35 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-icon renders Material Icons - primarily presentational + +test.describe('six-icon screenshots', () => { + const sizes = ['xSmall', 'small', 'medium', 'large', 'xLarge', 'xxLarge', 'xxxLarge'] as const; + + sizes.forEach((size) => { + test(`should match screenshot for ${size} size`, async ({ page }) => { + await page.setContent(`settings`); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`icon-${size}.png`); + }); + }); + + test('should match screenshot for filled icon', async ({ page }) => { + await page.setContent('settings'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('icon-filled.png'); + }); + + test('should match screenshot for outlined icon (default)', async ({ page }) => { + await page.setContent('settings'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('icon-outlined.png'); + }); +}); + +test.describe('six-icon accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent('settings'); + + const results = await new AxeBuilder({ page }).include('six-icon').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-filled.png b/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-filled.png new file mode 100644 index 0000000000000000000000000000000000000000..13aebbaf351c4605635d2d378437d51e06473e4d GIT binary patch literal 1088 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 X?GL*cayg3+oi6jv zuBQGk+gosd|NHN^85-F3voTCjh+w!v3NEPsSG6^2=fB%|+u0aop8k6M(P;5S4YBU6 zw{uT#lIuVI`s=FeuXo>F7osJ}P|);uT7lhsbE)3bPnFKT`ur@YwKXvu1uUg6VpG^zi)?&ohet6S~U2*F-`I|6&DE+3r=4Osqubcn! z;H5#4degVxUK^p~wfWrh&vpCF86LFwZ*R%l{`>iJcfa-X&M&Vyb%UXy_)YWFvuVl` zJv2mKeXZIVbMEoSlHIX4g--dXO^#fD9c1mlbl#seae6Gx2OpGJ&Gk_`{II}A?)1Xn z4+}IzxY!uxB-Fpqo7{X*VX9ZDmF($F@4oLob0ur*(WF4V=}&p?F&wzQ({BGWZ#|aD zCztS;&GxmC13E=U{Jkp60@nXPg6$v^UVO|R7_I;RyUA7*0U2zdh-GG&`*dRRtA^80 Pfg%i^u6{1-oD!M<$XM}w literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-xxLarge.png b/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-xxLarge.png new file mode 100644 index 0000000000000000000000000000000000000000..bb3b765657e1878aabf434e4761fba931710dce6 GIT binary patch literal 2984 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-xxxLarge.png b/libraries/ui-library/src/components/six-icon/six-icon.e2e.ts-snapshots/icon-xxxLarge.png new file mode 100644 index 0000000000000000000000000000000000000000..09f22251e5c37bf2f2a69e71ae6614d3fb9d4b6a GIT binary patch literal 4108 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 { - it('renders with default library (material-icons, outlined, inherit size)', async () => { - const page = await newSpecPage({ - components: [SixIcon], - html: `home`, - }); - expect(page.root).toEqualHtml(` - - - - - - - home - - `); - }); - - it('renders Material Symbols (outlined) when library="material-symbols"', async () => { - const page = await newSpecPage({ - components: [SixIcon], - html: `home`, - }); - expect(page.root).toEqualHtml(` - - - - - - - home - - `); - }); - - it('renders Material Symbols (filled) when library="material-symbols" and filled', async () => { - const page = await newSpecPage({ - components: [SixIcon], - html: `home`, - }); - expect(page.root).toEqualHtml(` - - - - - - - home - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts b/libraries/ui-library/src/components/six-input/six-input.e2e.ts new file mode 100644 index 000000000..b8bc1177e --- /dev/null +++ b/libraries/ui-library/src/components/six-input/six-input.e2e.ts @@ -0,0 +1,381 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-input', () => { + test('should accept and display typed text', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await input.fill('Hello World'); + await expect(input).toHaveValue('Hello World'); + }); + + test('should display placeholder text', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('placeholder', 'Enter your name'); + }); + + test('should skip disabled input in tab navigation', async ({ page }) => { + await page.setContent( + ` + + + + ` + ); + + await page.keyboard.press('Tab'); + await expect(page.getByRole('textbox', { name: 'Before' })).toBeFocused(); + + await page.keyboard.press('Tab'); + await expect(page.getByRole('textbox', { name: 'After' })).toBeFocused(); + }); + + test('should emit events (focus, input, change, blur)', async ({ page }) => { + await page.setContent( + ` + + Other + ` + ); + const focusSpy = await page.spyOnEvent('six-input-focus'); + const inputSpy = await page.spyOnEvent('six-input-input'); + const changeSpy = await page.spyOnEvent('six-input-change'); + const blurSpy = await page.spyOnEvent('six-input-blur'); + const standardFocus = await page.spyOnEvent('focus'); + const standardInput = await page.spyOnEvent('input'); + const standardChange = await page.spyOnEvent('change'); + const standardBlur = await page.spyOnEvent('blur'); + + // Click to focus + await page.getByRole('textbox').click(); + expect(focusSpy).toHaveReceivedEvent(); + expect(standardFocus).toHaveReceivedEvent(); + + // Type to trigger input events + await page.getByRole('textbox').fill('test'); + expect(inputSpy).toHaveReceivedEvent(); + expect(standardInput).toHaveReceivedEvent(); + + // Click elsewhere to blur and trigger change + await page.locator('six-button').click(); + expect(changeSpy).toHaveReceivedEvent(); + expect(standardChange).toHaveReceivedEvent(); + expect(blurSpy).toHaveReceivedEvent(); + expect(standardBlur).toHaveReceivedEvent(); + }); + + test('should not accept input when disabled', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toBeDisabled(); + await expect(input).toHaveValue('initial'); + + // Attempt to type (should not change value) + await input.focus(); + await page.keyboard.type('new text'); + await expect(input).toHaveValue('initial'); + }); + + test('should not allow editing when readonly', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('readonly', ''); + await input.focus(); + await page.keyboard.type('new text'); + await expect(input).toHaveValue('readonly value'); + }); + + test('should clear input when clear button is clicked', async ({ page }) => { + await page.setContent(''); + const clearSpy = await page.spyOnEvent('six-input-clear'); + + await expect(page.getByRole('textbox')).toHaveValue('some text'); + + // Click the clear button + await page.locator('six-input').getByRole('button').click(); + + await expect(page.getByRole('textbox')).toHaveValue(''); + expect(clearSpy).toHaveReceivedEvent(); + }); + + test('should toggle password visibility', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + + // Initially password is hidden + await expect(input).toHaveAttribute('type', 'password'); + + // Click toggle button + await page.locator('six-input').getByRole('button').click(); + await expect(input).toHaveAttribute('type', 'text'); + + // Click again to hide + await page.locator('six-input').getByRole('button').click(); + await expect(input).toHaveAttribute('type', 'password'); + }); + + test('should display label', async ({ page }) => { + await page.setContent(''); + + await expect(page.getByText('Username')).toBeVisible(); + await expect(page.getByRole('textbox', { name: 'Username' })).toBeVisible(); + }); + + test('should display help text', async ({ page }) => { + await page.setContent(''); + + await expect(page.getByText('Enter a valid email')).toBeVisible(); + }); + + test('should display error text when invalid', async ({ page }) => { + await page.setContent(''); + + await expect(page.getByText('Invalid email format')).toBeVisible(); + }); + + test('should respect minlength and maxlength constraints', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('minlength', '3'); + await expect(input).toHaveAttribute('maxlength', '10'); + }); + + test('should work as number input with min, max, step', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('spinbutton'); + await expect(input).toHaveAttribute('min', '0'); + await expect(input).toHaveAttribute('max', '100'); + await expect(input).toHaveAttribute('step', '5'); + await expect(input).toHaveValue('50'); + }); + + test('should support email input type', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('type', 'email'); + }); + + test('should support tel input type', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('type', 'tel'); + }); + + test('should support search input type', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('searchbox'); + await expect(input).toHaveAttribute('type', 'search'); + }); + + test('should support pattern validation', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('pattern', '[A-Za-z]{3}'); + }); + + test('should programmatically focus and blur', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + + // Focus programmatically + await page.locator('six-input').evaluate((el: HTMLElement & { setFocus: () => Promise }) => el.setFocus()); + await expect(input).toBeFocused(); + + // Blur programmatically + await page + .locator('six-input') + .evaluate((el: HTMLElement & { removeFocus: () => Promise }) => el.removeFocus()); + await expect(input).not.toBeFocused(); + }); + + test('should programmatically select text', async ({ page }) => { + await page.setContent(''); + + // Select all text + await page.locator('six-input').evaluate((el: HTMLElement & { select: () => Promise }) => el.select()); + + // Verify selection by typing (should replace selected text) + await page.keyboard.type('New'); + await expect(page.getByRole('textbox')).toHaveValue('New'); + }); + + test('should support selection range methods', async ({ page }) => { + await page.setContent(''); + + // Set selection range + await page + .locator('six-input') + .evaluate((el: HTMLElement & { setSelectionRange: (start: number, end: number) => Promise }) => + el.setSelectionRange(0, 5) + ); + + // Get selection range + const range = await page + .locator('six-input') + .evaluate( + (el: HTMLElement & { getSelectionRange: () => Promise<{ selectionStart: number; selectionEnd: number }> }) => + el.getSelectionRange() + ); + + expect(range.selectionStart).toBe(0); + expect(range.selectionEnd).toBe(5); + }); + + test('should submit form on Enter key', async ({ page }) => { + await page.setContent(` +
+ +
+ `); + + // Prevent form submission to avoid page reload + await page.evaluate(() => { + document.getElementById('test-form')?.addEventListener('submit', (e) => e.preventDefault()); + }); + + const submitSpy = await page.spyOnEvent('submit'); + + await page.getByRole('textbox').click(); + await page.keyboard.press('Enter'); + + await expect.poll(() => submitSpy.length).toBeGreaterThan(0); + }); + + test('should handle null value gracefully', async ({ page }) => { + await page.setContent(''); + + // Set value to null programmatically (evaluate is required for setting web component properties) + await page.locator('six-input').evaluate((el: HTMLElement & { value: string | null }) => { + el.value = null; + }); + + // The input should show empty string, not "null" + await expect(page.getByRole('textbox')).toHaveValue(''); + }); +}); + +test.describe('six-input screenshots', () => { + const sizes = ['small', 'medium', 'large']; + + sizes.forEach((size) => { + test(`should match screenshot for ${size} input`, async ({ page }) => { + await page.setContent(``); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot(`input-${size}.png`); + }); + }); + + test('should match screenshot for disabled input', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-disabled.png'); + }); + + test('should match screenshot for input with prefix and suffix', async ({ page }) => { + await page.setContent( + ` + + search + settings + + ` + ); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-prefix-suffix.png'); + }); + + test('should match screenshot for clearable input with value', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-clearable.png'); + }); + + test('should match screenshot for password input with toggle', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-password-toggle.png'); + }); + + test('should match screenshot for invalid input with error text', async ({ page }) => { + await page.setContent( + '' + ); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-invalid.png'); + }); + + test('should match screenshot for input with label and help text', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-label-help.png'); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-input input').first().hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-hover.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-input input').first().focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-focused.png'); + }); + + test('should match screenshot for focus-visible state', async ({ page }) => { + await page.setContent(''); + await page.keyboard.press('Tab'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('input-focus-visible.png'); + }); +}); + +test.describe('six-input accessibility', () => { + test('should have correct ARIA attributes', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('aria-invalid', 'false'); + await expect(input).toHaveAttribute('aria-labelledby', /input-label/); + await expect(input).toHaveAttribute('aria-describedby', /input-help-text/); + }); + + test('should have aria-invalid="true" when invalid', async ({ page }) => { + await page.setContent(''); + + const input = page.getByRole('textbox'); + await expect(input).toHaveAttribute('aria-invalid', 'true'); + }); + + test('should have no accessibility violations for default input', async ({ page }) => { + await page.setContent(''); + + expect((await new AxeBuilder({ page }).include('six-input').analyze()).violations).toEqual([]); + }); + + test('should have no accessibility violations for disabled input', async ({ page }) => { + await page.setContent(''); + + expect((await new AxeBuilder({ page }).include('six-input').analyze()).violations).toEqual([]); + }); + + test('should have no accessibility violations for invalid input', async ({ page }) => { + await page.setContent(''); + + // TODO: Error text has contrast ratio 4.46, doesn't meet WCAG 2 AA (4.5:1) + const builder = new AxeBuilder({ page }).include('six-input').disableRules(['color-contrast']); + expect((await builder.analyze()).violations).toEqual([]); + }); + + test('should have no accessibility violations for password input', async ({ page }) => { + await page.setContent(''); + + expect((await new AxeBuilder({ page }).include('six-input').analyze()).violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-clearable.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-clearable.png new file mode 100644 index 0000000000000000000000000000000000000000..4d29a5cebdf3ec05bf39f43d08f8ad0a1032ced6 GIT binary patch literal 1685 zcmah~c~sJg7ABog8IVXppSfG4>0`ipVJ? zO>MG~GR+MoC5J&fiH7zRH?+~jEpbfCRLaNvKj*!F?z!hX=bn4-`M!HU#yOlP3}OTU zfj}^CFTfuJ+Eu8|PiSkXBiedX1_FV7yn#~z$=rAHK(ByUWAI-ygPjKF1NIflqQNXVqoP*%IqJkLi+uGDEPk+t-~E?B8WtyyyU2Xb@-!& zg@yL^_VRMm!~%gJ1&6!!R5CF!@hGiiDggxW`sU~7MLF=#DwP5=J2SI3KTyqJ=wL5W z!6^5|CD{}8_;6Dfe(L7?=4e@IX=%OL=8#NQW81j3MU4)NsMNaATG`lmA&~v6^1t+jpWuh{E7*Hd72G^{h9$%H|n`YDC@k<>LsUyWade#gS_HMourB|aXa ztJ~7pC{nn2pgcJojzXch#bnAm)AsS~8uVt5;67AVRuTo*?>Z+bM;b1ZGDxK967s`{b^L4O4+H`sIoWa02N;Q$UdhhRf6j0s?{ai@&a+p^o`faGj!X!Wp48OL zshLGcc8nO8va+(USnP&Uu2*K`U~g|fG|TGt`o(CF=#u_L^}SCt91hg!iETkRLl$VS$|qu|kGvgewh zxfzKpCfREC^z;l=VdCFvJCv1`MMp(ZQ&LvL`%1rEwAIJ|B);2RWNBjAj~ae%{{b?)K29s-@$R0FjOTC(!U7X4o{6>a9_5-hM0@^z!$D zz?f;0O%;Ur_-vVjx(RD6!XSG$?q4x=!L2`kKStR43N;8>j%zB8v$$~CaPb>4;dSNJ z(o>NkijV+${uZ)Z^I{iS}F=)sLWo;QQFop$8t?=$9y_#dY$VJ#zP(R+W~Bo&e|=1lw9*;( zr~Ap1HwfFlXU{T(Z>^L^^jeQrnsDykja}wlEdZkE+mEHHZmg?qhU7u8Gsxb{=|{`* zq4Labl>fWY#w*FMLWo3h$I}N147>w(#&IFEgBpPck@OHW-e&uhW39S5KZ;XW_-1Zy zSAlZc0NB`Z%U)7skgWHa5{3iXk|*6 zv7t2a-^;YV))@z*D6iBfgMPZKoDvpnyispw<3i~gm}axt`p=w-ZqL1{=-K;Dt^bio zhl>_LZPJi#;iif6bx9iJPWEh`^1EAOcMfOj&!lOd**sl)^^Da~E|=>-o{Wiw=KiLB z73+_OWLctzb#)#&FF0qIV^+aIL2+&81iziw07;-w=)LDIiHq!@={{%d0WEHD@zj`-h@C_X$;^(z_xGC0{gDqmndiKKRt rf2#Wg2Z45Wq@#B%)aC;I+f_6{OT@%4M3fR-?GwPL6xFh&ZX0xug;Zihz&`rkGodqv@yvd2?E{obEMq zxz@!{G!%re)L<0L(os}$Nlje3xg`pY1}>Dza$rm}-B9c9=>-pwIZ#9o6Yj$M56wjq)6V`%&W7EqVIz zZ4y}e&q}#PGyOJ+GaEWzBKWO+d!0-ACXq%P*97$X+<~LlS~Q4Sf8Euhuc4Rq_0Ijk ziQNtWc@GZgvg859p2QtTv;TO(cHBbwWn(obN5>Gr98MyRiLQ#6%-0)Et*xy?+z8Q? z`ND>s0X3%3%cIRysb-e3KNy#nmzS8BXb!Ng#UDuq1_oDBQuINfnVA`LkBp~fWtPQ3 zK7$hz5g{SWBp$fQ@JtMU&X!fobmD7 z@275kU~##UyxFO#3&K=*FpI^K%jG6>b8{%Xnd^7&H`hNMIC9~jg$0(Ju5JwD@YI8% zNvz_&wl~z8Wu@|IX{SVjMNfO@-MMoqDkTNYeTY(+KtVvwlYy3H>UMAWIh9Ivz$tt{ z)BDPFHmjqf#!# zmDzK89=aXaNU~E^qmykp`vR*F50@FLfp>K=rKP1RC9>)f@?#$prhW#*rMc6en1^7` zf1 ze{VmenPbl$8NnL@Tc?{BoxoAB-Txz3c)<51|VV}vVMvA7uMI=!(K8ElU; zX!+bgHpUPL(w3Gi(Ah^w3H zxTAAxtv3zTLOO{obA~`{vr`qLCHeWws(EbMlMlY_xx5GwZBB!Ep4U?frG$%U9uSC1 zy|gfGF|PaiA~SwODuq(U*>J`+zECL56RG*Hs|%)7fbcNbZH-<{BF2brB(RH(j676- zA&3S?AQbQFtQ{R4>p`FGJI(A%(SNt?9cAT~PqyC`PPVoAM)$wS)}9=PSrOpyyhB0l zxtyv%dUf_p+p1iO4GZH;QYM;hbv*#G)iEA9CguPr4%?V0t=Bd*w?V3rH72|$;GYjE z{*aK6-~fR@4yI+cy-%G+jQ&Fq{&m%mS|cCP(FHPB<48NUlJW+0tP#5bH_Qt4*LS$` zP$`HO7Y=(SY8hIbVv~a-A|kNZqE1GbFtuAEiTA2{)mw<<9C@8w9h?_h7~k_UCvXQaCr}w`iP)MG{p?WmI&u)#gD@{{j=jh)_QK#4FI)m=x3VAZb?- zUiE}E^}V$#A~5hS0iJoL34=!4EbMPC3aGcN8W>pxil42()8sw-&Tu%KjIgz2Qe5np zwWU@wiBJ0WW%Dp-Si}6I@CC<{Z_9+(ruCOEUp7LFNg2Gy8QrRZXO#rc$v8TT#MMPq z$=-d1%ZiN;C8^G(_fqMR)30*As^)#DMK$%0j8IF)nfy0{if+a zm+o`XZ@7$2`hrDJh%lgoiOWf}v#l7Q;1^ow70CosmxQ%$zOLJS3jQzkMcnN&#oO|> z>zV$*eBt5-?923Ql=$ad(}8*gwBZ%aCGuEq9f#1+W>7r}8bBj%-I19TG#*d-_CMJv;zRPw>M9Pc&dF+>)!^b3Gjm^L?#0~~X?vO;HbEK=7B6cGt@aTF2w}>z|J_ z!w;!P_J`KCheR-3c_9;#yONFJf8_D2a-w1krW`s9Spq+DL=FD2vhkyUpst9R{bx$&CZf@r0<_-=HUK>2qM{T0Vi7Tg0o%-=(hiz$fwY9mq zxus>Myq%q0o72LZH*c0${r&SthJ$6@`t`?;9aE9#WqAM6ul1|-$?2azf1W*i_QQt{ zy_Oag6$NRC%vrg4v+>FqZf>g(fkqg^O8Iy%}Y!)!J?J9~L~d3JWT{GF`ALc^Ipr_P6m zhx0P5FIs&_=-es46PNs>o}F8`+2+gdzYhx{!ur@4{vA2WwR-*f_r}4SHfmTm$m(y_ zIn8ij_dT0-Ra?z;9o{tw1{wXecJYfZ7A#xxGnL`N+-~nf{6`*ttg+K)&fIl6Zs8iP zx1TTF_F5WrP5P!%4)2A1gqMCk7%2JX?c3UC2QU8o`Lny5d*$*aSGwF5 zdwY9-t9-dKJ}&N*Z;F-(m#dQCbM=i8Z@zpfsjrWB%B`-x&G11kK6?I%e-#T?%Lm!o z*i88n85gG~!Zpe6@87?<;vW2Qv%Xxqon@`hI-TXtnKM0%AMTc(Su}62w}xrRYqKQn zm20i$@$WNa*wZzAKI4ju%?G059D*cMcv`DtWMKIJ-{EkF0WiO?fiem+!-A-f7X-s@s{%zBJYD@<);T3K F0RY3jdyfDB literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-focused.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..bda171076bd92cfd5ad52e8c646dfe4660ee1538 GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKa?Wj$RSLn`LHx$En#6)1E3 z<6_TL|8E{DdPiPlUSDM#0~~X?vO;HbEK=7B6cGt@aTF2w}>z|J_ z!w;!P_J`KCheR-3c_9;#yONFJf8_D2a-w1krW`s9Spq+DL=FD2vhkyUpst9R{bx$&CZf@r0<_-=HUK>2qM{T0Vi7Tg0o%-=(hiz$fwY9mq zxus>Myq%q0o72LZH*c0${r&SthJ$6@`t`?;9aE9#WqAM6ul1|-$?2azf1W*i_QQt{ zy_Oag6$NRC%vrg4v+>FqZf>g(fkqg^O8Iy%}Y!)!J?J9~L~d3JWT{GF`ALc^Ipr_P6m zhx0P5FIs&_=-es46PNs>o}F8`+2+gdzYhx{!ur@4{vA2WwR-*f_r}4SHfmTm$m(y_ zIn8ij_dT0-Ra?z;9o{tw1{wXecJYfZ7A#xxGnL`N+-~nf{6`*ttg+K)&fIl6Zs8iP zx1TTF_F5WrP5P!%4)2A1gqMCk7%2JX?c3UC2QU8o`Lny5d*$*aSGwF5 zdwY9-t9-dKJ}&N*Z;F-(m#dQCbM=i8Z@zpfsjrWB%B`-x&G11kK6?I%e-#T?%Lm!o z*i88n85gG~!Zpe6@87?<;vW2Qv%Xxqon@`hI-TXtnKM0%AMTc(Su}62w}xrRYqKQn zm20i$@$WNa*wZzAKI4ju%?G059D*cMcv`DtWMKIJ-{EkF0WiO?fiem+!-A-f7X-s@s{%zBJYD@<);T3K F0RY3jdyfDB literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-hover.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..f0df21cb522af2465b45b8b456c9751ee2eb9114 GIT binary patch literal 878 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKa?l|5Y?Ln`LHxwG3_IZ)*I z$Jr8BesuXaO>%Mzd9!AVprE6)Aou^dQ~p_tHF4b1$XMFT@rYYqgR5~ZMpog%(!v8l-OHay7mZT+f!a{A@VmshV|eed2q zpt_QhDQDB}E}cACc;$>=zkXeM`Q_omM7#Or)84&%cjxwz&!3C6rcQEP7_cHli_Kxf z&l@GvS473dl^tVeXAe^4<>j@UE)=S*t!=d8YS!=Hzs=3fxw*OT@5xF_d-nFNuiX6k z^UWEWPOazi-eGO67;T?9bNBRj-wb5<{C#{*oV&-HXdA>a2(&VD!mkxBfEk0)g*In!0*= zdivbTmn(seJMEpKDb}qj#Q9zD^rpW4{_o$usa&~s?HUg#tP&zi@6GJ(<$eG3)vHzC zgHA0yd-iOOnfA-eH*dZ?*WcTFviVZ;bhW)-w(aRZ^7!N0wYr=ZJC8GPEZO#VT0oY@ zd&5Q3uY~bFUtG%O5b*JFIz!eL#SLQO;+j(!{vI{fALcJGD%&HPT0!0`+UHx3v IIVCg!0IxTT&;S4c literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-invalid.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-invalid.png new file mode 100644 index 0000000000000000000000000000000000000000..73cc61b43365b6d49890ca60e99c2807e1bdb4ad GIT binary patch literal 3288 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-label-help.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-label-help.png new file mode 100644 index 0000000000000000000000000000000000000000..e10fcd1546ea349e9d06d9b947b37e6eeb5df23c GIT binary patch literal 2722 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 BGR6P^ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-large.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-large.png new file mode 100644 index 0000000000000000000000000000000000000000..0642d6c9873b9028efcb849ab947c80c19cb2af9 GIT binary patch literal 1536 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 Z%&_59bl#ENe~W-344$rjF6*2UngCFqYn=c9 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-password-toggle.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-password-toggle.png new file mode 100644 index 0000000000000000000000000000000000000000..ef9f81065a20daef0cab9237a6d84f9edf97e4d9 GIT binary patch literal 939 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCn{Y4zNp1C?*BKa?6FglULn`LHx$CX*CQ#*s&6k3IbSlZPSWfdRt;mV-p z+qQ1qx}{51jg2qg=uKecn7AY>CFRM32MUIU8<#9O^0MUAle1^f9y@mI(W9iy%$GlY zR8&>%+IT*knc<+dl~q=D_U>J~K2_LQTU&>QhTi|1m6et9qHK46fB)^{XGX3(6NmQo>(_ zR#so1|0W@N!?S14zJ33$x@A-6)^ZMoHA|K)JEi&i-Me?MU$5qwJbCij^*Mj{d3t(I zT)ihTKVM%{Q`64w-i=0M9fpGwQ?FdO5Rjk$en)&@U|?Ct*uwDSRo-TJvn^$?%mtBZ~y)Kck1?xCUFCo_$ML%?@mdL z{FBAkU_WdA{PNv*i-KcgV`F08lvt(mS5#M5S5)lSx>ZzC($c`-!mV3bPC^DQIh>3w zD>iQqp7rQs#h$wT&!2wTyKURH<;&G|b*xPDFBpbsap9cL8%ncu~rdxYpPW%7A jV2#`fAcGB**O(cO9H`Si{7BOsD8k_B>gTe~DWM4fOnji0 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-prefix-suffix.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-prefix-suffix.png new file mode 100644 index 0000000000000000000000000000000000000000..7421cd9385a3bdb04da88086d6ca00eb04ff3428 GIT binary patch literal 2092 zcma)-XHXMb7RN)6)PNWXNEHwWMY^HLBZLS`F9D)-Q9ye0@eJyFl7vvC7*SAS070aL zD$M|DfJBM`8@);>D$-j}VDn~nW_M@y!+yDQ@0tJHGv}QDnO~~2;{_2xX+Z!0AYyBS za0LLkvN?AHAUEfPo?#CI00OhN2ut_Gf@P9ti2Ef;{O<ZoxH_b-tpO#*%{8LNVg=09c!oE4UM0HQ(u*KdCd zyRsb~8@2zjiMJ$~Bp@?Sg&tCrPF9}6vcIC%p!ecSdH z2gt%2sEVycT7^Hii?j1!bJR3@bI~GcZ|%o;vy5?MKa+VrmPHVUcbPXwPVOHbm?lF# ztNknaguwlejaSE;qlRnz&b*yrl1x=WmU>k*8ZBmyuA-t6F36Ls425GVK^a{#Yx?X7wHtcxxZxzM3}@c zt!;nz$5UG{7C(MHSqO?EIGEgulbEFH6FPdAL`ZQr1{n9SG!q%9PDp1vgB`Ls@EV`P~GL8 zdn%eAc7BYnPP8^)c2`WVFBe|R25Tl`no=WleQ%vlh^pW43pZ9m%TA4I08GV@$Hul#J_saAurw(K`ttocC zm;RIAKX^YrsRdQx9{TawT{7bqdjnVX<8!5_y1II3XlPp>P<*-;%gB_a-a5EZVR4-W z*1CwWG)mfwE~!gm$G-F=sycidu92^d`n9)Cx!9=ZBB9(_9MJXcN)b4n42x5(fIdez zsN$+ATx4?$5}ls6jw9ut>;3IcMvi2f?$l68!~)JLWtCHV*C^LWbCkSwU{4%d|MguN z;}QAScyEBfI2{~V93FJ5iox|Oy7rPx+j>{(@rOEo)gF|wGAA-&oDGw`?43%>oBjH+ z3`uB7X*|m@6BiHv$R$W@T-?vy)q#~$H+KsP3ON352(pn}3VOdGI_M^PFF-`vAY^ml zoqNR+QHjZ)TD#y`$r=@)$%Mi74wn!;Z=H;x_<>I+*=!!(*IZL*ikt<%9f>L-*=(pAs_0RwC7a$bnD&&Ku_ zor)OIIho5?0>%dTK^Mok zI++QXN0m8}TDrtfBQ?ESqE{wbz1^^zGtxsA+X}sfC`1Xm;i@uG$FD&gBS(u1>W}@#MUZ(shwA(|NlN%$kul;vQ-1s&`M%VWC?dWSY)P zkz(lxSF^Xni6x|TrId|ZA|wS~ao>Y=ZHd166$#E75A^jtxPbd}z$w><04%g(%>+wQ@f?l1fMhZZQQ?HVQ_)ns}ya+KgJ5LGdd54$FdB*o_ zpDXElvKT_*QMJ(dqYeF56e~&-h0q-x58S3RJ?PNyG#S<#n+-K^$whC`|BI#n s#w7j~7XWZ{)bFb0&tX3Q->~Naw6K~=KZQfjb0Pp+Yez&i-2cu$0qHmGZU6uP literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-small.png b/libraries/ui-library/src/components/six-input/six-input.e2e.ts-snapshots/input-small.png new file mode 100644 index 0000000000000000000000000000000000000000..1e3dc6285a018d68f48cc4508763e8755d2a4ebc GIT binary patch literal 1130 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCYjH3ENul4fY#10=HUbQHLhI=Dqy4)$9Ao$yX1ylX)d+r_z}N84^xzt{bIX3oPR&v!hHJ;w7M z{*U%3Dtb5DdUpGF+szY=H=dHI5048`v6I4@j|yVG%fDZ5R<5Idk^x=!l3L zH*Z$f)R=Vt{rlJ7-`_81k^ZCI#WgiG#l@EyKh$?>Zn$>+y0EbD=FOYGfBV+f*4EeG zFU#=5WMf~;&Ye4t9zB|xn##$^`D!y4H}~D?c6N5(zJFi8e*NdqpYMJR(Actj_i9($ z6)RVI`ubiqTYKluos_h+Remusb8i0p^=sF*ZOa^Vw6sp0JZZ>!)-N_RDr(lGNssml z2mk!^DJcK>-u4rZPM<#g_3PJN(R*D>OSdu~5Hc){NSwlVZ~5xgtJBldxu(yYIdkb! z)y)>Rwzl^6|Ns11WBKmy-&pO*lP62vH!?EXwtf57%X@1I3k_{;W3AoY-9-zcX3m-w z4Os|PTamd`}^Bt$BvnqnO%AJa=FkconKdYm5o~5!P$EySe{{ zG-YVLdGqGWz9o9cY&!b;@87zWm65Sy@7}BD_U*GX*Ic)5orp}-#pKeU=H_NyUERh5 z-*>NCwdzuroW|O|zP>9CnNLivhlPb{&70yB{q*TmW@hI7n(GqQ zu3Z}{$lef|#H&-PcS@lY=pWle<68$09(?$4VUTn4jF)X9+L4iw_x8CZE}4Gi{fy;a zOMm~aetR+bbMT}|leV~9n_k;_Jxe4sb^E!ycjw;H_#RsPHot4O21~;92}a;^nUO-yTFtT??! zqpdD9z`FEJX;D$qwoE2nP0hmi(8FIpd{}TYuz%}Wo>dpc*%MmN|9X_+>e_1eSXxdl z%*NEr?3J?RbNADW`*M){>!bZvYLW)Bc>c>j8N43q;JpOe9-<=yvpju7aezOQvP&!$BDx_ zZ$lQe%x!WF`o3hY)R!y!T=%W2?=HGf!+uEn)FXy{eD@W89f?0182|Wh)U@epJ2p%` zG3DdZ3mxA|0-LCKhbvgOV}IMcTU8ndLJVL n!~g%xEZjoC5`zs?R4_9{Dzj9*yU=$ND8k_B>gTe~DWM4fuNfU` literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-input/test/six-input.spec.tsx b/libraries/ui-library/src/components/six-input/test/six-input.spec.tsx deleted file mode 100644 index 5b9d46b24..000000000 --- a/libraries/ui-library/src/components/six-input/test/six-input.spec.tsx +++ /dev/null @@ -1,39 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixInput } from '../six-input'; - -describe('six-input', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixInput], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
- -
-
- - - - - - - -
-
- - -
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts new file mode 100644 index 000000000..3ea73e566 --- /dev/null +++ b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts @@ -0,0 +1,270 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +test.describe('six-item-picker', () => { + test('should display initial value', async ({ page }) => { + await page.setContent(` + + `); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('5'); + }); + + test('should increment value when clicking up button', async ({ page }) => { + await page.setContent(` + + `); + + const changeSpy = await page.spyOnEvent('six-item-picker-change'); + + // Click up button + await page.locator('six-item-picker [part="up"]').click(); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('6'); + expect(changeSpy).toHaveReceivedEvent(); + }); + + test('should decrement value when clicking down button', async ({ page }) => { + await page.setContent(` + + `); + + const changeSpy = await page.spyOnEvent('six-item-picker-change'); + + // Click down button + await page.locator('six-item-picker [part="down"]').click(); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('4'); + expect(changeSpy).toHaveReceivedEvent(); + }); + + test('should increment value with ArrowUp key', async ({ page }) => { + await page.setContent(` + + `); + + const picker = page.locator('six-item-picker [part="container"]'); + await picker.focus(); + await page.keyboard.press('ArrowUp'); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('6'); + }); + + test('should decrement value with ArrowDown key', async ({ page }) => { + await page.setContent(` + + `); + + const picker = page.locator('six-item-picker [part="container"]'); + await picker.focus(); + await page.keyboard.press('ArrowDown'); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('4'); + }); + + test('should respect min value when roundtrip disabled', async ({ page }) => { + await page.setContent(` + + `); + + // Click down button at min value + await page.locator('six-item-picker [part="down"]').click(); + + // Value should stay at min without roundtrip + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('0'); + }); + + test('should respect max value when roundtrip disabled', async ({ page }) => { + await page.setContent(` + + `); + + // Click up button at max value + await page.locator('six-item-picker [part="up"]').click(); + + // Value should stay at max without roundtrip + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('10'); + }); + + test('should wrap around with roundtrip enabled', async ({ page }) => { + await page.setContent(` + + `); + + // Click up button at max value with roundtrip + await page.locator('six-item-picker [part="up"]').click(); + + // Value should wrap to min + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('0'); + }); + + test('should work with custom step value', async ({ page }) => { + await page.setContent(` + + `); + + // Click up button + await page.locator('six-item-picker [part="up"]').click(); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('10'); + }); + + test('should pad values when padded is set', async ({ page }) => { + await page.setContent(` + + `); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('05'); + }); + + test('should work with capital-letter type', async ({ page }) => { + await page.setContent(` + + `); + + // Click up button + await page.locator('six-item-picker [part="up"]').click(); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('B'); + }); + + test('should work with custom items', async ({ page }) => { + await page.setContent(` + + `); + + // Set custom items programmatically + await page.locator('#custom-picker').evaluate((el: HTMLElement & { items: string[]; value: string }) => { + el.items = ['Jan', 'Feb', 'Mar', 'Apr', 'May']; + el.value = 'Jan'; + }); + + // Wait for component to update with custom items + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('Jan'); + + // Click up button + await page.locator('six-item-picker [part="up"]').click(); + + await expect(content).toHaveText('Feb'); + }); + + test('should set value programmatically', async ({ page }) => { + await page.setContent(` + + `); + + await page.locator('six-item-picker').evaluate((el: HTMLElement & { value: number }) => { + el.value = 7; + }); + + const content = page.locator('six-item-picker [part="content"]'); + await expect(content).toHaveText('7'); + }); +}); + +test.describe('six-item-picker screenshots', () => { + test('should match screenshot for default number picker', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-number.png'); + }); + + test('should match screenshot for padded number picker', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-padded.png'); + }); + + test('should match screenshot for capital-letter picker', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-capital-letter.png'); + }); + + test('should match screenshot at min value (down disabled)', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-at-min.png'); + }); + + test('should match screenshot at max value (up disabled)', async ({ page }) => { + await page.setContent(` + + `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-at-max.png'); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-item-picker [part="container"]').first().hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-hover.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-item-picker [part="container"]').first().focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-focused.png'); + }); + + test('should match screenshot for focus-visible state', async ({ page }) => { + await page.setContent(''); + await page.keyboard.press('Tab'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('item-picker-focus-visible.png'); + }); +}); + +test.describe('six-item-picker accessibility', () => { + test('should be keyboard navigable', async ({ page }) => { + await page.setContent(` + + `); + + // Tab to picker + await page.keyboard.press('Tab'); + + // Picker container should have focus + const container = page.locator('six-item-picker [part="container"]'); + await expect(container).toBeFocused(); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + + `); + + // Wait for component to render + await expect(page.locator('six-item-picker [part="content"]')).toHaveText('5'); + + const results = await new AxeBuilder({ page }).include('six-item-picker').analyze(); + expect(results.violations).toEqual([]); + }); + + test('should have no accessibility violations with capital-letter type', async ({ page }) => { + await page.setContent(` + + `); + + // Wait for component to render + await expect(page.locator('six-item-picker [part="content"]')).toHaveText('M'); + + const results = await new AxeBuilder({ page }).include('six-item-picker').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-at-max.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-at-max.png new file mode 100644 index 0000000000000000000000000000000000000000..308bce4b11735683d3951648c775abda5c533fcd GIT binary patch literal 1637 zcmb_di#ODH6#q`s(0ZR%IK((!+osZ*7)8qFHDn~^F=32B(|E;{ylo^KvKWs_*z^!) z#xBd43`Ql5%ve+2M`LA-HdBlgV>0`5_FwQl=kq=He9yV}p6~tK&%HNJVcpbK^i=== z>KJ$D(*VGVAUl1>Ht2?5tfc^;q>piSI+JvFVan6}OpG39$-k=jfb)%APQ_D2W~zvM zzo81z-YjF%P}}jxkI(*XK|0%*m9>ZTea^22{*?-{rh`aUBNKw<&>A;{fnxE3k+PkVquWJTCVqPz1UV zjnJv96Mx04ZEtRAQ3tEMnotb=h`qgJOoOBYglk%~F8OG?Lf_nNt(?Owi`t0LP|6xYO3wmOn6{t*yO1yT|U8NwIrG#6x*%(l^;< zIC$HxR-Wb&R(j`-tlQGx&(DmE!C;gCdnpB}1LQVx930r}(Aio9DMdv`)0j-Osp-3g z@s`Y#slT0%085d$=(m&7p z;PLoNb4%~~YK~>TWyaOOfd6jg575`G@LfSTTwaUCZVe%eay}(RCV1$HKp?18sz@Xf zc4t;l7`3$~Aq^^=s@YDf;NakN+2;!c!aqaz-Jn=T=O1c&kymE9)WX6-O{Ak-zUGT< zwML=x^YcADJk&t@jB&tV_0e^y=+)Y?7;1>u0zu+Ai#q?Zva(!FZG@K zredR0%`sgT4mi7%6+63GE=RPpFGa@BBPzAQg%#cwOkb@;(dJd>&0R|#7~-`psBM1d9Jc`m>pMRz z78@D)$k4Nd92GS>I!e@i$vEj6Wu7lGh4dJ&Fc~f{FW=b6uy>4~dCsduQ>mF^Z}M4R zUzDwFq$Y+gl}aJe%)RFgPF9-3$p~X7c2|R=wo1-3f_-@;7jJ+>GCKkT16eGV5=fh| z378vPrtRU=!74x3z%AxhSfvXcm}MQi@}$o;9|v>S5*qPtxaMtINCpAM5%xSA+?vU{ pIh|KE0Z=H`ZwsuUWudgWCEy@AZv&OA$5e%00LBID%=kGp>pxCs$jbl# literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-at-min.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-at-min.png new file mode 100644 index 0000000000000000000000000000000000000000..01846ff9c21bb3c874dbaba7aba4e9b9d2f42a9e GIT binary patch literal 1489 zcmbtUYgE!_9R913h9f=O%%jAxb<$N^!zw@5=d7k$b+RGgCV-9(1i48Ev z+M`p=#m!CcgqlRb3=66w~BLo97F!V;W{;8P|gsdaI za#z2vS5Agt$JVVsqA~d^ks-UT#Y%4!q6b7+&I;7<iOOCD=A1|*vNCnE(<9OSueytHAZ`lr&9vpl(SVO;@&D|1eo?h0 zuH{H8kIQDWALOs2)9H<@>CFJ6%e87@c3K?FoE%amstfw$QE^S|pZ~f0D+CpS6-NXG z1>NM^tiK~eQ$|{vRjQfxY!_VZQ3L|9`;>vgVm0XG_8wT6_K&q;861wLcxT!~uN30E zN>UJ`;4YY9Fc|R`L#j|HfKCZU**iW^Pk(x86Tu8V(>R5tH_PQZP~G)}rKP105~U2^ zF1UB>{&`SQhVgaJc-Q5TTWLN-x*KpM2C8jqLwWW!;v?;V>OZUpBF1g6OW zg?~+4E6-fP(0AmxzXwxjbH<5iPxnoD|AqdS9XT{O@aOd}t7_v~Wpx!5RC9&FyGpOu z+k0I&a0h=oo$Bf1?VTXrK+ryZp$J6Wqm3u&6bfZNgTAJinFfh;^uuz<0CuVdSp-?zFI!YU? z8NNY{w#y^blkEQ9!Mf@|c3S0{MY8*pvcJRy!<{!$`FtCH=t{k`8-j{A9U(7SBSb$$ zMk0bzUm#DKO{Uy)=bBDi7~r~p9sxl?z#{{t2gE;J%r`c;KqGSEs}q`*m8F=LDb#A_ z%&YG4UF#-5SA_Bw3tQHJp9^2z`^uPaUnZJIN;0OOHlClR`(AM`Bx|6;lmT zsW-oUYKW=Cf+E-*JS_DI)uhCVuDkh#RfbgZNF-8fs|$BkL}S~N>fI5+bpAHs48j8dK>>twcg8fK@zzJzu?Mlva5CKtYh@F>2Ijct z_|~JB1&0HCAi-Bt4G^PU&CUi>vTW^hi|T}+=TmEKtONdRb-tV{+}(cL`qHfLexg)i zs(!pZj9AkCVTf?1Or)P4QQKoyFzhi_S+I*+NSJkB3PiZBNBkqbzq6AA@d}8Q%Th+# z8#3mM^H&&*)|>9FKt;r%hj?*<_E|~(^o5fUu4psqs#Hn0ePQYDqz%2*cO#3NPgC)@ z)sn~tWor1tn;ubjA%s$Ix54&{Omxa{+rDk3@;Mqr>9(ozFE@F6d%Jghk74%~L`Onq z{i!7w4lk#$!bQ^fULj$qj(+{Dx5b0w1r+a|3W30Js9dZU70=OqHhzEq16gI_dUz`d zxi7QL)FlK8g=)K8i&hE4IVzsP3=<7&bgJx*69@#lUI`x+tMm|d>t-I))WTN9z`%gz zy*pWQEFZf&E-`Vr_coPEb%}F#celsvjpZv$J~0f(pjMYCkZ3d8uZ8alC>l_~8C@@Z zSL*niYzsT%iQ%gbJ_Ge>9QYMmcb+FL42}yd=w%`hh!S)f3bC-b7%%Np3qe+uNTk#E z*U*`hZ{<+aRWX2*bsBN0RCGjgEicb7Ha0n#6zRssTCeW8gmCDXZ7FcvSDf_mpO;TG zPft?NISIjQ(oIgtk!)RN&C0nRM3TtR9T} zVI@jF`PS+2H?__A$i#vAT7iJdWTK%D0;ectu>=}zjfOM2o>-vU#i0_Mr@HI+ttRz{RPD5*LZLwVGhfxE zCWeNF!f_>!&kURU6YmabCQ@t)~G*ku%BjWZSw88`_$yOfNW>JCj})iJHd8$Bjm#<-L`;1~&4K z<)%a#^nb9Z!B39Y)h{OG8pfjN)Tl4Ykyb8XyE?A#lOh}jw6_(G`- zuGW0h29=`g)efl%?^oV7jYDx+1cpPHmF(pd;N9+pxIWE+O=f%=p>4L5n>1PN_+rRw ogaE+uay07a@Of&{z zi?js*0D=83EDiu5rQn@y0|n1DnOCy`09J$z3rWboG&34VPZ&YnAG;h`;z67De&m@D z#%iS%JI59K93tDg1aS$)9yh9Ay5Wb5<(0f;NQNZCkN3RT%3;%2z7fUSshd5Jz1m!9 zYiLR9M9~nvZ=o<>c!W?eyA!*VGTSSx;xpyRK$tofu=<7&?977|Erd2{$SAb=*d~Pq z4?KQo2e(P#Q$CUkE|Cuxu3c5lG;w{c;5MQEtz=o#Gc$eVMx)UY@GkWxJP`&Km{(1O zmLr&M(O@$2YTra7TC3UbEs(4Jd{ZeQDVL@b_Dzq2cOm!!aJ6N7;J+Y_l zTm?9B95_Js(%NBH(tEAwf7~QZYZ|7frXsLOO%$btSQ%XdOCLIgaOo%7a%lpVgVT?E~DRX&#EQn<7yD`dI+|bYfeL96`G^ z)+?D7Gn*;Tne2ah4Fl)mRno2`84U+fA7Sto4U2BUd5mpez~Ia91cc_ngD?!HyMcH| z*UpF+KhxYKwJ{8Da_l){oj<~Y@fEy9lVRfLjX|}_GwZjc_W2|>zgAVC)1C;u0ljF0 zB>b!+NzPmx>pE=_fU4g)*qBUGaM)DpTWxE0`b6%B_miNkElj!2pHRr~lJi&1#Mls( z23(8dy7t!8UO`z|nThO@YI=7+h)_^Q943(3@*3oFHjA~o@TwaY>~8u27x|)VxaBAj z+0I^R0Ulk)z0j1-bvvOvV9hja6DpADw|8$lh*qc5fsaM}Qgr9|3zW0-g`ENZ{`oV{ zZ~6IWzj@sJ{qG=OTW6bu``AoyQ9C+1KCUdC$jv>+=hw<{jBD(7I=Pcive)0ZHevW$ zdBN_Z&2e?e@&e;b0B3bs6kkV^B|%CL)KF@O2`A>XrVoqsd+S!;PY(R#fZlaX`B-xE%jSo;GkJD2Df@gANK_6)AcAknM}Txn39qLZa&=)jR419_5;ng?*ca@ zJrswaU33}1c5^?4_ZNxZvOE9) literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-focused.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-focused.png new file mode 100644 index 0000000000000000000000000000000000000000..98ef0ccb58f037c6b918c63b1979869a2f6bd460 GIT binary patch literal 1487 zcmbtU?N`!g82&+GPC|E9z8sw7PRlejtz)H~OieuukD6}~N(kkdB3OBROAwHlD_h3& zm@cWXRcZ*PNm!;xXw774q{dQ_a%JXg3W<^i`?c*4*iK)b`#Jah;d!p>y07a@Of&{z zi?js*0D=83EDiu5rQn@y0|n1DnOCy`09J$z3rWboG&34VPZ&YnAG;h`;z67De&m@D z#%iS%JI59K93tDg1aS$)9yh9Ay5Wb5<(0f;NQNZCkN3RT%3;%2z7fUSshd5Jz1m!9 zYiLR9M9~nvZ=o<>c!W?eyA!*VGTSSx;xpyRK$tofu=<7&?977|Erd2{$SAb=*d~Pq z4?KQo2e(P#Q$CUkE|Cuxu3c5lG;w{c;5MQEtz=o#Gc$eVMx)UY@GkWxJP`&Km{(1O zmLr&M(O@$2YTra7TC3UbEs(4Jd{ZeQDVL@b_Dzq2cOm!!aJ6N7;J+Y_l zTm?9B95_Js(%NBH(tEAwf7~QZYZ|7frXsLOO%$btSQ%XdOCLIgaOo%7a%lpVgVT?E~DRX&#EQn<7yD`dI+|bYfeL96`G^ z)+?D7Gn*;Tne2ah4Fl)mRno2`84U+fA7Sto4U2BUd5mpez~Ia91cc_ngD?!HyMcH| z*UpF+KhxYKwJ{8Da_l){oj<~Y@fEy9lVRfLjX|}_GwZjc_W2|>zgAVC)1C;u0ljF0 zB>b!+NzPmx>pE=_fU4g)*qBUGaM)DpTWxE0`b6%B_miNkElj!2pHRr~lJi&1#Mls( z23(8dy7t!8UO`z|nThO@YI=7+h)_^Q943(3@*3oFHjA~o@TwaY>~8u27x|)VxaBAj z+0I^R0Ulk)z0j1-bvvOvV9hja6DpADw|8$lh*qc5fsaM}Qgr9|3zW0-g`ENZ{`oV{ zZ~6IWzj@sJ{qG=OTW6bu``AoyQ9C+1KCUdC$jv>+=hw<{jBD(7I=Pcive)0ZHevW$ zdBN_Z&2e?e@&e;b0B3bs6kkV^B|%CL)KF@O2`A>XrVoqsd+S!;PY(R#fZlaX`B-xE%jSo;GkJD2Df@gANK_6)AcAknM}Txn39qLZa&=)jR419_5;ng?*ca@ zJrswaU33}1c5^?4_ZNxZvOE9) literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-hover.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..3c011bbdd7104e236797d7ae800a2ea1de67e388 GIT binary patch literal 1386 zcmb`H`&*I+6vtmlWs;^-vK~}&tL6%JbwJ({%QT-hC0E3QWpq;$(;CtgLcFA_ye?}_ z5TrIu@YYPk8xrcC?eT)61ZL)~zpci)H(kC@0|1*HVZlMiQp)B>+Nkg-_s5GakM`bhyq0~8_~NDL zOtvSiqwZD(JDqehb7Pb1*$N&zJv-ZT!wO3zhTOmgW!*wK>*bjUI6C+XrIydla4H^` z&X;XX)33sNOMMKflxcJQ0}_7we|5XFFuuN=)7<_T$aLme zIpfXzka23jvfdqXZc4$k6EuD)?-4T$+AvI=Eyo6a!jnX!9#^6TZjAW-C7(<7K&uhU zCX-IHxVRYa4W&{jo>uUNT`GM-2xheT%F8it17!k@XYruah0<}eX|B-S=ZW7=M?;L5 zyT^@c{6QXPPf(6bc^?VfItDcZt@9OF*4`lC8d%NQR>Q?5MYkqjR0@gJ;!DF#)`Y_&6qb2uk8F#*{gTPl&uwUj^oZPQ z3U>rfYEUQY%JyCP&?@=c(yi(o2RCPY$z3~jr!gq~MNgSC%vBE^bWpFXr2L|6X05#$ zmLxHmOx&esjr2M7HHWlSgU(J+#h;m(85Aasb$ntzKHhT|RUa*7Y`k5yCWO~gE@B2fa`=&xP?t=k63YPG@x* z6e6N=6!O<^;hCxgtR!J5GM{!kCnpEwJBcj985KihU6wJ*86Ut4JWM}-UJK5zY6cb2 zPjnsm=`B}wvYNTPAZ1%RI6Y#7yZhIGSj8|HJ7aViWUEt=%STP%MkR{Ls(m;V``HhU zJ4F4jh9$2@rG8fMNE~TKLsz4zC_ys>S3o?&8AgjCt@rwP3p8#85nlpdyQoO`br3dv z8=`p#Y}f~;*}m&}tUv+4V!{2Hp#(ps?Z2;b6Cm&sqH|rtz5z2p*rD*?x&xHVe*n#F Bg_HmQ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-letter.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-letter.png new file mode 100644 index 0000000000000000000000000000000000000000..eeec095cfcfc7aa32890b6a3dd3af98075b543ed GIT binary patch literal 2144 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 Bg_HmQ literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-padded.png b/libraries/ui-library/src/components/six-item-picker/six-item-picker.e2e.ts-snapshots/item-picker-padded.png new file mode 100644 index 0000000000000000000000000000000000000000..402b73b6b871851438a4df6e7dbfd1c9f2c4b8ba GIT binary patch literal 1850 zcmb_d`&ZK07C(`YS(=mg(oB=uEnF#snJ|+%Xolq-5tWvYM6|RLP4h9MrC=H@NgHq7 zyh_?IX^xcdL_$&-6<;+zK(tgGc_>aLHK6$zxtfsoJG0jP5BlMA)>&uo^TXbs&;IQE zlY!q@TI{v}09X=zPXqz5=|9jt+Z+a+o4@6z0f2Z%JV6Mdm+I9d-;gVNx)xs^Isfia z70MC4FH`0JPkzmt%T19!Li6kY`u>n(7%yj^Lg=V4^C|E#`@|RTMsQ7fA)r$H!hW>q zw%g2cAm&xFGnqs7R@I+1mfbylb-{$O(i(@Ev1_lHGLOJZF)>eJz>l zmakAKV($5(FyPZI74Z6w4%6DQ)@#~zx3jbJ6R6#j z{}CST@i()qgB3zz4$VOF^NUfc)k#(k6dH|&1lLjL;3M~G2CbB{oKd2GRSv(VF>aAC z96l}RYe`m9e{jI3UihU<=K{?8A-#=?S2icPKf%VF44fPiM8SY~&3K0|5{X(`TI%Z1$eaIm zb!HEs*hG;>WLtUz9CWX4FKPEX7ZMWkhmyl$v35Sm$$@PHIa}X*V!-P8)fNOuu*Q5` z(5>VXjZyEWI+T->?zF)>OG`^%U6j8XCRUHy+S)!4N6wP(drZQ>yLPy4fPLV~f9JE; zmMT4if`ij$dUEq^4t!mGy7Q{(X}-+^@o{u9Rh%V)gDHl2i76}jgS1h`9a|fjV8^VJ zS>p-?Izn`%7-x6$nIDNn(=NX3GyEh%p(vo|wZTrVY)PTDeLK@*492c%x>-=yl>60c z_45nDiVDIRhlzr1NDQSpk)vXjA3B=@2UkUw^1CikG5Giw4~@aIEH4}(Yu(V$*ho&d z+H*uxdie71V@+|xcJ8Urutcd4BrHnF<#M4^62)XP&7S0@FaGxIn*uvi@yg4-0+~#9 zae_CHw60K4!x;nGTS!3H9;S>|1+eG3x{iHt8pS#ldIsHlT^bw~ma(Ae{@g9O)Ps?_ z@xc`NIc%YOE+E4OGg`GLcEo?xrKpK?_n^Qf$5#2X z2av#QHZFICT%zA@X_=%D#^2%u1O&Xj^nU1`8^=F(ye<^V(8T4^yz0)JLlJkc5YA#R zBor_21PeoC{?7cTFDgkxVpQ$p$KTQEzq%8wXd}F0|B|~DV0~+2OKr1I*q*sEs2?uF zXGlt%3;TzS#D;lw+r;=dEs)rNMx!yn95cc$U%uynAG7E>vh{tv4zya9U@O30)LK_hA=jz)G=2Ih>f! { - it('should render default', async () => { - // given - const page = await newSpecPage({ - components: [SixItemPicker], - html: ``, - }); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - expand_less - -
-
- 0 -
-
- - expand_more - -
-
-
-
`); - }); - - it('should render number picker with correct attributes', async () => { - // given - const page = await newSpecPage({ - components: [SixItemPicker], - html: ``, - }); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - expand_less - -
-
- 5 -
-
- - expand_more - -
-
-
-
- `); - }); - - it('should render letter picker with correct attributes', async () => { - // given - const page = await newSpecPage({ - components: [SixItemPicker], - html: ``, - }); - - // then - expect(page.root).toEqualHtml(` - - -
-
- - expand_less - -
-
- d -
-
- - expand_more - -
-
-
-
`); - }); -}); diff --git a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts new file mode 100644 index 000000000..cfb455d45 --- /dev/null +++ b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts @@ -0,0 +1,160 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// TODO: six-language-switcher has color contrast issue: +// - Selected label contrast ratio 4.23:1 doesn't meet WCAG 2 AA (4.5:1) + +test.describe('six-language-switcher', () => { + test('should emit change event when language clicked', async ({ page }) => { + await page.setContent(''); + + const changeSpy = await page.spyOnEvent('six-language-switcher-change'); + + // Click second language (DE) + await page.locator('six-language-switcher [part="label"]').nth(1).click(); + + expect(changeSpy).toHaveReceivedEventDetail('DE'); + }); + + test('should emit change event when language selected via keyboard', async ({ page }) => { + await page.setContent(''); + + const changeSpy = await page.spyOnEvent('six-language-switcher-change'); + + // Tab to second language and press Enter + await page.locator('six-language-switcher [part="label"]').first().focus(); + await page.keyboard.press('Tab'); + await page.keyboard.press('Enter'); + + expect(changeSpy).toHaveReceivedEventDetail('DE'); + + // Tab to third language and press Space + await page.keyboard.press('Tab'); + await page.keyboard.press('Space'); + + expect(changeSpy).toHaveReceivedEventDetail('ES'); + }); + + test('should default to first language when none selected', async ({ page }) => { + await page.setContent(''); + + const switcher = page.locator('six-language-switcher'); + await expect(switcher).toHaveAttribute('selected', 'EN'); + }); + + test('should respect selected prop', async ({ page }) => { + await page.setContent(''); + + const switcher = page.locator('six-language-switcher'); + await expect(switcher).toHaveAttribute('selected', 'DE'); + }); + + test('should update selected when language clicked', async ({ page }) => { + await page.setContent(''); + + const switcher = page.locator('six-language-switcher'); + + // Click third language (ES) + await page.locator('six-language-switcher [part="label"]').nth(2).click(); + + await expect(switcher).toHaveAttribute('selected', 'ES'); + }); + + test('should handle custom languages array', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-language-switcher').evaluate((el: HTMLElement & { languages: string[] }) => { + el.languages = ['FR', 'IT', 'DE']; + }); + + const labels = page.locator('six-language-switcher [part="label"]'); + await expect(labels).toHaveCount(3); + await expect(labels.nth(0)).toHaveText('FR'); + await expect(labels.nth(1)).toHaveText('IT'); + await expect(labels.nth(2)).toHaveText('DE'); + }); + + test('should emit value from key/value language objects', async ({ page }) => { + await page.setContent(''); + + await page + .locator('six-language-switcher') + .evaluate((el: HTMLElement & { languages: Array<{ key: string; value: string }> }) => { + el.languages = [ + { key: 'FR', value: 'French' }, + { key: 'IT', value: 'Italian' }, + { key: 'DE', value: 'German' }, + ]; + }); + + const changeSpy = await page.spyOnEvent('six-language-switcher-change'); + + // Click second language (IT) + await page.locator('six-language-switcher [part="label"]').nth(1).click(); + + expect(changeSpy).toHaveReceivedEventDetail('Italian'); + }); +}); + +test.describe('six-language-switcher screenshots', () => { + test('should match screenshot for default state', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-default.png'); + }); + + test('should match screenshot for DE selected', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-de-selected.png'); + }); + + test('should match screenshot for custom languages', async ({ page }) => { + await page.setContent(''); + + await page.locator('six-language-switcher').evaluate((el: HTMLElement & { languages: string[] }) => { + el.languages = ['FR', 'IT']; + }); + + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-custom.png'); + }); + + test('should match screenshot for hover state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-language-switcher [part="label"]').first().hover(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-hover.png'); + }); + + test('should match screenshot for focused state', async ({ page }) => { + await page.setContent(''); + await page.locator('six-language-switcher [part="label"]').first().focus(); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-focused.png'); + }); + + test('should match screenshot for focus-visible state', async ({ page }) => { + await page.setContent(''); + await page.keyboard.press('Tab'); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('language-switcher-focus-visible.png'); + }); +}); + +test.describe('six-language-switcher accessibility', () => { + test('should have focusable labels', async ({ page }) => { + await page.setContent(''); + + const labels = page.locator('six-language-switcher [part="label"]'); + await expect(labels.nth(0)).toHaveAttribute('tabindex', '0'); + await expect(labels.nth(1)).toHaveAttribute('tabindex', '0'); + await expect(labels.nth(2)).toHaveAttribute('tabindex', '0'); + }); + + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }) + .include('six-language-switcher') + // Disabled due to known issue documented in TODO above + .disableRules(['color-contrast']) + .analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts-snapshots/language-switcher-custom.png b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts-snapshots/language-switcher-custom.png new file mode 100644 index 0000000000000000000000000000000000000000..7b5e35b090b096f2507352d324bd1f32e4fef001 GIT binary patch literal 698 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCD{(LZ$$u*(0vQ;X@;zM~Ln`LHxx3LjD^cS3 z$8h7Otd)vVixwif1W{%7eNA}VHmeL}j zIW8>XqJm%c73@@s{TjEmc&C1?{o#jmp39v3@wj$=@x5Z6!w&-(8n}3v7(^Ts7z5ZE zSsf%<#28WqA{eG%2rLwj%G!SWWJ(ajf$$5yF|#K7Ef?-QQjwaQdp5_c|5erAe=lCV zc=al)zP|q0-P2D$J$;(G{`%~SZ4o+di!aXqU0q#$H*fpRoPTvUA3l8e`t@pt4{v?v z38ih0Tz$2wzTSRSPF`N$_0%&zYxZSr{q^V1oA1B3Z{L3O4_mY2$`G#h!_S{TfB*hH zP&RD!$*R>?PdzQVe*OCE*RMZqxcriXVaCP7QL(YT#~*Kg-Rku4*|TFw8+Y8zGqj%> zyfDCnZQ8{QlbJq?cgY+%>GP$+X8H2vObm6At6tU>7JmHkL&M#TiDAq3H^ELf=SSt( zaWH(2(%Qh(=%6Dux!8)4;nr-ah`)95%P;rx-M@D)W%}RX+VpgFp-vlHTTX@x_pTf; zlHhsl`~B|SyZ&Dj3}&26k&}~SVfZ5)%b*n9MT z$^BcmHr>qeTfRAHB?r)qAn#&3J3Bu=zaF>65h05&PPkpQSC8R=|1_>OQ>ThfKRwlJ z>7KatGv?PEswgN>D1Wj97`Uzs2Yjr2>pz=T>nbvwNp-qh`zN<;|MCC4j2XF334*o^ z|NL*&9mr2ke*Es8A1KNU=P@ndvYW_*BZ~h36W;&-fqJSEKn5Eq=`k~`I&eVFUkx5o2nWWewtVE*_VnIaYwy>CmORgJ|g_IGpltk2g zp~-@cDKN$dk94Hw8fJ`8;06;bn zSO6d!2rK}Q4Fnbd$OZxn0AvG!1pu;vzybi-KwtrYZ1^xyJUl#@OeQ8G@hbv=rzsqM zG-q#bZ*y~#`%FMUfWcs}y`2TJAFx6jVbCMG8G1=f$a761Gb6&2Oo+}zO6;N#=-eU06&1Xi@W z+RDmGMMVYG&C1I1_xC?JIWe2fLqkIh03^jb!=mnHV`IbNOY!mXr>CdAy}fO1ZOnbR z6|b+amzS5Dnwrkf&qqc^9IkP1MXvh#`uzO-rKP3d;9z?A_V#vrd&>YoYOc(%D6kqE z8@sx?sP$l;5gi>}TU*=G(lRFKgy1L3lL>1H1(~U;s)zuXP0B^#3Bz%8=@9yrlJxohWD=jUx ze*OIX9268ZK0Z!u$i&1%U0ogXjL68ygoFf|XF0Pg7w}z;##QCzTU**rHlr_FMdA-Yq;l+~JxZclE1^+^f+IP@~akdrxd^Y;0v^<>25T z0|2Qh#5w8w_{lzRt4P0=bJZ*U*b7@P|renkNAGzGdF0FVoO+ynq*1AzqqvVp(?0NFrb0f1~EumC_d5Lf^p s8-D=+0RR7$51AGK000I_L_t&o0G`&&?b{8q`~Uy|07*qoM6N<$f+X%Dy8r+H literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts-snapshots/language-switcher-default.png b/libraries/ui-library/src/components/six-language-switcher/six-language-switcher.e2e.ts-snapshots/language-switcher-default.png new file mode 100644 index 0000000000000000000000000000000000000000..69ab69365d3783eb4b63a2cba5eb1db5af771960 GIT binary patch literal 1128 zcmeAS@N?(olHy`uVBq!ia0y~yV4MJCD{(LZ$$u*(0vQ-sWIbIRLn`LHx#O)-k|@Fc zpk>lDFFQ(UgpEIirN z`()Pb?_X9HewzDPvN-MB%+Fu{uRU|-b!}YMym`+p)7}35`*)6kVT!|91_lu(PHqMf zX2QhbZqG;W-knR@Xu#mXVQ3NlUY{wKZhC(;?OCw*2zbCr^I-_`$LEXOY%K!Tjrus^yF-@VJr&d#o@+xK_og9i!kyf<&&TwPtA_4WCBe}Dhu z$B%QXuE{S{{`X5+Nomo>jT_gkJ9ql@>-VPdeyT=~rr(`5ZQ7|*r!?~1+}hT!e}D1f z#H(4d5)ugv3fc!H#X`-2ChyTddhD2-ynK0i`SvYa46Z+P+p}j+OiWBpMuvs0t*n&P zqu9r{I%2kN-MVwU1kAD%va`s>#$#)dm{W+nz6S_L%v#ft@(ns>UVq@?z&Gub?y*@?TsdY)%>Qn{=^K_wWZ{OxdM@I(*1*N7gjov@E ztw>DN@$~7_K29QrrlwbO%;IBW3>ZGBH0eHk{W?26efi%+FE6jc!jH$#_xJZRGBPe+ zyf~z-r?>a&l`96{Ir#beySo=xPE%f9)N~=wWSy3-uCKTEVos^6lm7kt$HQRLkZ`D~ zy88B=JAY!1&s<+05?WbV8IovfZZ0k=y7N7klxlZ-JG;BzQb9wpr`g(eL z`uoE}LN5G>PtjozI6rgY?pS~S^RHfMndX&5`YsJJ3}4Lk;>nXG3l=kqxb`#%aGcCS#aB^~5&0V*8b$8bG3l{?JnckoG%3W~h?u)Den{VdqS2we= z+67EA`}fZWCWw$rC06(AHl4q$bZP(74<9B>3QtN>VrDphAULt}P3^z_NdCXVD^4Xd zJn*a#5?gkf;lWImU6Mu`8XoJf8$+{HYZVv66ef9dMuwvfhnTPvKX@4!{{QF8k!l5& e7i^${f|+9>b@A&)s>vTHnA&o|pnVD%jU~+OY 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx b/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx deleted file mode 100644 index b86e734ba..000000000 --- a/libraries/ui-library/src/components/six-language-switcher/test/six-language-switcher.spec.tsx +++ /dev/null @@ -1,204 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixLanguageSwitcher } from '../six-language-switcher'; - -describe('SIX Language Switcher', () => { - it('should properly render with default settings', async () => { - // given - const config = { - components: [SixLanguageSwitcher], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page?.root?.selected).toEqual('EN'); - expect(page.root).toEqualHtml(` - - -
-
- - EN - - - | - -
-
- - DE - - - | - -
-
- - ES - -
-
-
-
- `); - }); - - it('should allow to set custom languages', async () => { - // given - const config = { - components: [SixLanguageSwitcher], - html: ``, - }; - - // when - const page = await newSpecPage(config); - if (page?.root != null) { - page.root.languages = ['IT', 'AR', 'BG']; - } - await page.waitForChanges(); - - // then - expect(page?.root?.selected).toEqual('IT'); - expect(page.root).toEqualHtml(` - - -
-
- - IT - - - | - -
-
- - AR - - - | - -
-
- - BG - -
-
-
-
- `); - }); - - it('should properly set selected language', async () => { - // given - const config = { - components: [SixLanguageSwitcher], - html: ``, - }; - - // when - const page = await newSpecPage(config); - - // then - expect(page?.root?.selected).toEqual('DE'); - expect(page.root).toEqualHtml(` - - -
-
- - EN - - - | - -
-
- - DE - - - | - -
-
- - ES - -
-
-
-
- `); - }); - - it('should properly set language after having been rendered', async () => { - // given - const config = { - components: [SixLanguageSwitcher], - html: ``, - }; - - // when - const page = await newSpecPage(config); - if (page.root != null) { - page.root.selected = 'DE'; - } - await page.waitForChanges(); - - // then - expect(page?.root?.selected).toEqual('DE'); - expect(page.root).toEqualHtml(` - - -
-
- - EN - - - | - -
-
- - DE - - - | - -
-
- - ES - -
-
-
-
- `); - }); - - it('should properly update selected language after languages have been changed', async () => { - // given - const config = { - components: [SixLanguageSwitcher], - html: ``, - }; - // when - const page = await newSpecPage(config); - if (page.root != null) { - page.root.languages = ['IT', 'AR', 'BG']; - } - await page.waitForChanges(); - if (page.root != null) { - page.root.selected = 'BG'; - } - - // then - expect(page?.root?.selected).toEqual('BG'); - }); -}); diff --git a/libraries/ui-library/src/components/six-layout-grid/test/six-layout-grid.spec.tsx b/libraries/ui-library/src/components/six-layout-grid/test/six-layout-grid.spec.tsx deleted file mode 100644 index 0c66a87af..000000000 --- a/libraries/ui-library/src/components/six-layout-grid/test/six-layout-grid.spec.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixLayoutGrid } from '../six-layout-grid'; - -describe('six-layout-grid', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixLayoutGrid], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - - - - - `); - }); -}); diff --git a/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts b/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts new file mode 100644 index 000000000..f896d150a --- /dev/null +++ b/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts @@ -0,0 +1,26 @@ +import { test } from '../../test-utils/fixtures'; +import { expect } from '@playwright/test'; +import AxeBuilder from '@axe-core/playwright'; + +// six-logo displays the SIX or BME logo - purely presentational + +test.describe('six-logo screenshots', () => { + test('should match screenshot for SIX logo (default)', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('logo-six.png'); + }); + + test('should match screenshot for BME logo', async ({ page }) => { + await page.setContent(''); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('logo-bme.png'); + }); +}); + +test.describe('six-logo accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(''); + + const results = await new AxeBuilder({ page }).include('six-logo').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts-snapshots/logo-bme.png b/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts-snapshots/logo-bme.png new file mode 100644 index 0000000000000000000000000000000000000000..d1ebf18d7aebeff73fd3c85915d777d082cb088c GIT binary patch literal 3206 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 s8UF07*qoM6N<$g2HYeng9R* literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts-snapshots/logo-six.png b/libraries/ui-library/src/components/six-logo/six-logo.e2e.ts-snapshots/logo-six.png new file mode 100644 index 0000000000000000000000000000000000000000..e5010cdd82f6e7e70a5e3a225ff0b8ede2951638 GIT binary patch literal 1326 zcmV+}1=0G6P)WTLV-F_FzUGZ6^S2|DMD z+Z=)r=7uALP8KnYMp=eZQZ+F+dcZY^~}57jk`M6ttH;u@8_?3e!Y+W z_075GoO>_p^?C^afE2I<06-!TSO6dy2rK}Q347mo<+)&2M*?Z>0y0`)jN+IZbu{eD%Ubir9q7 zuglpi{TG@BZ(eh^-1a($gt{WpsNY^m06-Q37FaYXXyWvLcgE+h%30~cwyXJ%!E2ZJ zZOy{PLY=17;E$KbA2mq6wKdj}(qip1YvML+3e(0+JhQjo(X($)pXo61xF`O~rlb)7 zkc+?smZ!a?_0?sbuJ(W5Wd^IgIL>yWcIfA;$<<#n>Zm(@ayiXKxkCK;x-3?i0mw%f znK9bOX)9baX<7w<^S7JkH*<-{Grridt8lWk0swiLaSw~*+PCJr{`_^M$uRL7w`-qW z%S1#HKN+h`;&a<9mYND{T@~M?H;i3-ixM`K@y*`-?>Wvi2s_i;#@PJg{~YZC0O^`( z538qg=fK5tLNosLZMv1~r;%1Z(Lt-Y*EVaH=L!|uSM`>fkLiZJ>A2-kxlmVU=Onyc zinIcdw;A=Y?5B=fzt|@Tmhi@Ick5pR-=F83z18n>HmkLM?7HC@nfjg8 z1OVi2`aP_n>sLB=7YfaYtObe1r6d>>ilmYQ%CrojFnp6ZI+&$MG#WlU5~w~M0Q{d# zGqC8iptj?mafawGlKP^b_%SKKS z9Y<4x(P&99DfG#PvRYA5zpX+!XD$JN(BOYy(P_bV^2VkGmEnf6I@UOw1fTtMgSgUU zA^;FF{0^+1iXFoEHyQ5ZRI299C&A}9d%}7|JhJXM*J%B`f&f5h@Gr22rv>Xj6`HYm zZ)qN1LW0lv%k|D(1wwQDdiS1BN(L@}LjWKI_z_s5X+cfS@|YJ3NbqsJ-R7cP;gM!K zz@K{TlIp>Sg&o?r`n9%6{^w ztF3u_h3m7>VRg=C;hRjjicS>r1N=0(3?J0C<}KwXE9pOMS@%@bq7|aW?h0LuZsmFc z0J7jCuq+45COIHX8%{3!Gx0;J zgI6!!v4<)mJpDdKtsw#8ymiAhI;p3co5_y8jFi?nd*9e~S(Z&srGZ7J%+u33{EFm% z?hr>#qKZ&G@DKq2Szz$xX8@22d^HCEBm;p30Fr^g0szTCU;%(+Ag};HGX4et0RR7d kZ$twC000I_L_t&o0F!d3afqh!o&W#<07*qoM6N<$f { + test('should match screenshot for default (padded)', async ({ page }) => { + await page.setContent(` + + +
Main content area
+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('main-container-padded.png'); + }); + + test('should match screenshot for not padded', async ({ page }) => { + await page.setContent(` + + +
Main content area without padding
+
+ `); + await expect(page.locator('.playwright-test-container')).toHaveScreenshot('main-container-not-padded.png'); + }); +}); + +test.describe('six-main-container accessibility', () => { + test('should have no accessibility violations', async ({ page }) => { + await page.setContent(` + +
Main content
+
+ `); + + const results = await new AxeBuilder({ page }).include('six-main-container').analyze(); + expect(results.violations).toEqual([]); + }); +}); diff --git a/libraries/ui-library/src/components/six-main-container/six-main-container.e2e.ts-snapshots/main-container-not-padded.png b/libraries/ui-library/src/components/six-main-container/six-main-container.e2e.ts-snapshots/main-container-not-padded.png new file mode 100644 index 0000000000000000000000000000000000000000..b7dd45d0c9863ae0ed31f9bba5c1f35391821467 GIT binary patch literal 1560 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 literal 0 HcmV?d00001 diff --git a/libraries/ui-library/src/components/six-main-container/test/six-main-container.spec.tsx b/libraries/ui-library/src/components/six-main-container/test/six-main-container.spec.tsx deleted file mode 100644 index d43348175..000000000 --- a/libraries/ui-library/src/components/six-main-container/test/six-main-container.spec.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixMainContainer } from '../six-main-container'; - -describe('six-main-container', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixMainContainer], - html: ``, - }); - - expect(page.root).toEqualHtml(` - - -
-
- -
-
-
-
- `); - }); -}); diff --git a/libraries/ui-library/src/components/six-menu-divider/test/six-menu-divider.spec.tsx b/libraries/ui-library/src/components/six-menu-divider/test/six-menu-divider.spec.tsx deleted file mode 100644 index 73228539d..000000000 --- a/libraries/ui-library/src/components/six-menu-divider/test/six-menu-divider.spec.tsx +++ /dev/null @@ -1,18 +0,0 @@ -import { newSpecPage } from '@stencil/core/testing'; -import { SixMenuDivider } from '../six-menu-divider'; - -describe('six-menu-divider', () => { - it('renders', async () => { - const page = await newSpecPage({ - components: [SixMenuDivider], - html: ``, - }); - expect(page.root).toEqualHtml(` - - -
diff --git a/examples/angular/src/app/form/form.html b/examples/angular/src/app/form/form.html index 02180c3eb..84b57321a 100644 --- a/examples/angular/src/app/form/form.html +++ b/examples/angular/src/app/form/form.html @@ -1,14 +1,20 @@

Form Example

- + @for (country of countryOptions(); track country) { @@ -19,15 +25,22 @@

Form Example

class="column-span-2" label="Username" [formControl]="form.controls.username" - required - errorTextCount="2" + [required]="true" + [errorTextCount]="2" /> - + - - + + - + Enabled Disabled Temporary @@ -36,9 +49,9 @@

Form Example

Sport @@ -57,13 +70,13 @@

Form Example

[allowedDates]="weekendsOnly" label="Date" [formControl]="form.controls.date" - required + [required]="true" /> - + - + User Developer Administrator @@ -71,7 +84,7 @@

Form Example

- + read write delete @@ -83,9 +96,9 @@

Form Example

>Accept to Terms and Condition - Submit - Reset - Set Example Values + Submit + Reset + Set Example Values
diff --git a/examples/angular/src/app/header/header.html b/examples/angular/src/app/header/header.html
index 516dba608..d5b268dab 100644
--- a/examples/angular/src/app/header/header.html
+++ b/examples/angular/src/app/header/header.html
@@ -20,12 +20,12 @@
   
 
   
-  
+  
 
   
   
     
-      {{ taskCount() }}
+      {{ taskCount() }}
     
   
 
@@ -55,7 +55,7 @@
       Logout
       
         
diff --git a/examples/angular/tsconfig.json b/examples/angular/tsconfig.json
index 984a13baf..378724aeb 100644
--- a/examples/angular/tsconfig.json
+++ b/examples/angular/tsconfig.json
@@ -20,7 +20,6 @@
     "enableI18nLegacyMessageIdFormat": false,
     "strictInjectionParameters": true,
     "strictInputAccessModifiers": true,
-    "typeCheckHostBindings": true,
     "strictTemplates": true
   },
   "files": [],
diff --git a/examples/js/package.json b/examples/js/package.json
index 980fdde00..a3766aa2d 100644
--- a/examples/js/package.json
+++ b/examples/js/package.json
@@ -10,7 +10,7 @@
   "author": "",
   "license": "ISC",
   "devDependencies": {
-    "express": "^4.18.2"
+    "express": "^5.2.1"
   },
   "dependencies": {
     "@six-group/ui-library": "*"
diff --git a/examples/nuxt/package.json b/examples/nuxt/package.json
index 0a60f3841..b8e846671 100644
--- a/examples/nuxt/package.json
+++ b/examples/nuxt/package.json
@@ -7,27 +7,20 @@
     "start": "nuxt dev",
     "generate": "nuxt generate",
     "preview": "nuxt preview",
-    "postinstall": "nuxt prepare",
-    "test": "wdio run ./test/wdio.conf.ts"
+    "postinstall": "nuxt prepare"
   },
   "dependencies": {
     "@six-group/ui-library": "*",
     "@six-group/ui-library-vue": "*",
-    "nuxt": "^3.16.2"
+    "nuxt": "^4.2.2"
   },
   "optionalDependencies": {
-    "@oxc-parser/binding-linux-x64-gnu": "^0.72.3",
-    "@rollup/rollup-linux-x64-gnu": "^4.43.0"
+    "@oxc-parser/binding-linux-x64-gnu": "^0.108.0",
+    "@rollup/rollup-linux-x64-gnu": "^4.55.1"
   },
   "devDependencies": {
-    "@wdio/cli": "^9.4.5",
-    "@wdio/globals": "^9.1.3",
-    "@wdio/local-runner": "^9.1.3",
-    "@wdio/mocha-framework": "^9.1.3",
-    "@wdio/spec-reporter": "^9.1.3",
-    "sass": "^1.89.2",
-    "tsx": "^4.19.1",
-    "typescript": "^5.4.5",
-    "wdio-nuxt-service": "^0.2.0"
+    "sass": "^1.97.2",
+    "tsx": "^4.21.0",
+    "typescript": "^5.9.3"
   }
 }
diff --git a/examples/nuxt/test/tsconfig.json b/examples/nuxt/test/tsconfig.json
deleted file mode 100644
index 87f0b2744..000000000
--- a/examples/nuxt/test/tsconfig.json
+++ /dev/null
@@ -1,70 +0,0 @@
-{
-  "compilerOptions": {
-    /* Visit https://aka.ms/tsconfig.json to read more about this file */
-
-    /* Basic Options */
-    // "incremental": true,                   /* Enable incremental compilation */
-    "target": "ES2022" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */,
-    "module": "NodeNext" /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */,
-    // "lib": [],                             /* Specify library files to be included in the compilation. */
-    // "allowJs": true,                       /* Allow javascript files to be compiled. */
-    // "checkJs": true,                       /* Report errors in .js files. */
-    // "jsx": "preserve",                     /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */
-    // "declaration": true,                   /* Generates corresponding '.d.ts' file. */
-    // "declarationMap": true,                /* Generates a sourcemap for each corresponding '.d.ts' file. */
-    // "sourceMap": true,                     /* Generates corresponding '.map' file. */
-    // "outFile": "./",                       /* Concatenate and emit output to single file. */
-    // "outDir": "./",                        /* Redirect output structure to the directory. */
-    // "rootDir": "./",                       /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */
-    // "composite": true,                     /* Enable project compilation */
-    // "tsBuildInfoFile": "./",               /* Specify file to store incremental compilation information */
-    // "removeComments": true,                /* Do not emit comments to output. */
-    // "noEmit": true,                        /* Do not emit outputs. */
-    // "importHelpers": true,                 /* Import emit helpers from 'tslib'. */
-    // "downlevelIteration": true,            /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */
-    // "isolatedModules": true,               /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */
-
-    /* Strict Type-Checking Options */
-    "strict": true /* Enable all strict type-checking options. */,
-    // "noImplicitAny": true,                 /* Raise error on expressions and declarations with an implied 'any' type. */
-    // "strictNullChecks": true,              /* Enable strict null checks. */
-    // "strictFunctionTypes": true,           /* Enable strict checking of function types. */
-    // "strictBindCallApply": true,           /* Enable strict 'bind', 'call', and 'apply' methods on functions. */
-    // "strictPropertyInitialization": true,  /* Enable strict checking of property initialization in classes. */
-    // "noImplicitThis": true,                /* Raise error on 'this' expressions with an implied 'any' type. */
-    // "alwaysStrict": true,                  /* Parse in strict mode and emit "use strict" for each source file. */
-
-    /* Additional Checks */
-    // "noUnusedLocals": true,                /* Report errors on unused locals. */
-    // "noUnusedParameters": true,            /* Report errors on unused parameters. */
-    // "noImplicitReturns": true,             /* Report error when not all code paths in function return a value. */
-    // "noFallthroughCasesInSwitch": true,    /* Report errors for fallthrough cases in switch statement. */
-    // "noUncheckedIndexedAccess": true,      /* Include 'undefined' in index signature results */
-
-    /* Module Resolution Options */
-    "moduleResolution": "node16" /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */,
-    // "baseUrl": "./",                       /* Base directory to resolve non-absolute module names. */
-    // "paths": {},                           /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */
-    // "rootDirs": [],                        /* List of root folders whose combined content represents the structure of the project at runtime. */
-    // "typeRoots": [],                       /* List of folders to include type definitions from. */
-    "types": ["@wdio/globals/types", "@wdio/mocha-framework"],
-    "allowSyntheticDefaultImports": true /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */,
-    // "esModuleInterop": true,               /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */
-    // "preserveSymlinks": true,              /* Do not resolve the real path of symlinks. */
-    // "allowUmdGlobalAccess": true,          /* Allow accessing UMD globals from modules. */
-
-    /* Source Map Options */
-    // "sourceRoot": "",                      /* Specify the location where debugger should locate TypeScript files instead of source locations. */
-    // "mapRoot": "",                         /* Specify the location where debugger should locate map files instead of generated locations. */
-    // "inlineSourceMap": true,               /* Emit a single file with source maps instead of having a separate file. */
-    // "inlineSources": true,                 /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */
-
-    /* Experimental Options */
-    // "experimentalDecorators": true,        /* Enables experimental support for ES7 decorators. */
-    // "emitDecoratorMetadata": true,         /* Enables experimental support for emitting type metadata for decorators. */
-
-    /* Advanced Options */
-    "skipLibCheck": true /* Skip type checking of declaration files. */,
-    "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */
-  }
-}
diff --git a/examples/nuxt/test/wdio.conf.ts b/examples/nuxt/test/wdio.conf.ts
deleted file mode 100644
index 10c5f099e..000000000
--- a/examples/nuxt/test/wdio.conf.ts
+++ /dev/null
@@ -1,308 +0,0 @@
-import url from 'node:url';
-import path from 'node:path';
-
-const __dirname = path.dirname(url.fileURLToPath(import.meta.url));
-
-export const config: WebdriverIO.Config = {
-  //
-  // ====================
-  // Runner Configuration
-  // ====================
-  // WebdriverIO supports running e2e tests as well as unit and component tests.
-  runner: 'local',
-  //
-  // ==================
-  // Specify Test Files
-  // ==================
-  // Define which test specs should run. The pattern is relative to the directory
-  // of the configuration file being run.
-  //
-  // The specs are defined as an array of spec files (optionally using wildcards
-  // that will be expanded). The test for each spec file will be run in a separate
-  // worker process. In order to have a group of spec files run in the same worker
-  // process simply enclose them in an array within the specs array.
-  //
-  // The path of the spec files will be resolved relative from the directory of
-  // of the config file unless it's absolute.
-  //
-  specs: ['./specs/**/*.ts'],
-  // Patterns to exclude.
-  exclude: [
-    // 'path/to/excluded/files'
-  ],
-  //
-  // ============
-  // Capabilities
-  // ============
-  // Define your capabilities here. WebdriverIO can run multiple capabilities at the same
-  // time. Depending on the number of capabilities, WebdriverIO launches several test
-  // sessions. Within your capabilities you can overwrite the spec and exclude options in
-  // order to group specific specs to a specific capability.
-  //
-  // First, you can define how many instances should be started at the same time. Let's
-  // say you have 3 different capabilities (Chrome, Firefox, and Safari) and you have
-  // set maxInstances to 1; wdio will spawn 3 processes. Therefore, if you have 10 spec
-  // files and you set maxInstances to 10, all spec files will get tested at the same time
-  // and 30 processes will get spawned. The property handles how many capabilities
-  // from the same test should run tests.
-  //
-  maxInstances: 10,
-  //
-  // If you have trouble getting all important capabilities together, check out the
-  // Sauce Labs platform configurator - a great tool to configure your capabilities:
-  // https://saucelabs.com/platform/platform-configurator
-  //
-  capabilities: [
-    {
-      browserName: 'chrome',
-      'goog:chromeOptions': {
-        args: ['--headless'],
-      },
-    },
-  ],
-
-  //
-  // ===================
-  // Test Configurations
-  // ===================
-  // Define all options that are relevant for the WebdriverIO instance here
-  //
-  // Level of logging verbosity: trace | debug | info | warn | error | silent
-  logLevel: 'info',
-  //
-  // Set specific log levels per logger
-  // loggers:
-  // - webdriver, webdriverio
-  // - @wdio/browserstack-service, @wdio/devtools-service, @wdio/sauce-service
-  // - @wdio/mocha-framework, @wdio/jasmine-framework
-  // - @wdio/local-runner
-  // - @wdio/sumologic-reporter
-  // - @wdio/cli, @wdio/config, @wdio/utils
-  // Level of logging verbosity: trace | debug | info | warn | error | silent
-  // logLevels: {
-  //     webdriver: 'info',
-  //     '@wdio/appium-service': 'info'
-  // },
-  //
-  // If you only want to run your tests until a specific amount of tests have failed use
-  // bail (default is 0 - don't bail, run all tests).
-  bail: 0,
-  //
-  // Set a base URL in order to shorten url command calls. If your `url` parameter starts
-  // with `/`, the base url gets prepended, not including the path portion of your baseUrl.
-  // If your `url` parameter starts without a scheme or `/` (like `some/path`), the base url
-  // gets prepended directly.
-  // baseUrl: 'http://localhost:8080',
-  //
-  // Default timeout for all waitFor* commands.
-  waitforTimeout: 10000,
-  //
-  // Default timeout in milliseconds for request
-  // if browser driver or grid doesn't send response
-  connectionRetryTimeout: 120000,
-  //
-  // Default request retries count
-  connectionRetryCount: 3,
-  //
-  // Test runner services
-  // Services take over a specific job you don't want to take care of. They enhance
-  // your test setup with almost no effort. Unlike plugins, they don't add new
-  // commands. Instead, they hook themselves up into the test process.
-  services: [
-    [
-      'nuxt',
-      {
-        rootDir: path.resolve(__dirname, '../'),
-      },
-    ],
-  ],
-  //
-  // Framework you want to run your specs with.
-  // The following are supported: Mocha, Jasmine, and Cucumber
-  // see also: https://webdriver.io/docs/frameworks
-  //
-  // Make sure you have the wdio adapter package for the specific framework installed
-  // before running any tests.
-  framework: 'mocha',
-
-  //
-  // The number of times to retry the entire specfile when it fails as a whole
-  // specFileRetries: 1,
-  //
-  // Delay in seconds between the spec file retry attempts
-  // specFileRetriesDelay: 0,
-  //
-  // Whether or not retried spec files should be retried immediately or deferred to the end of the queue
-  // specFileRetriesDeferred: false,
-  //
-  // Test reporter for stdout.
-  // The only one supported by default is 'dot'
-  // see also: https://webdriver.io/docs/dot-reporter
-  reporters: ['spec'],
-
-  // Options to be passed to Mocha.
-  // See the full list at http://mochajs.org/
-  mochaOpts: {
-    ui: 'bdd',
-    timeout: 60000,
-  },
-
-  //
-  // =====
-  // Hooks
-  // =====
-  // WebdriverIO provides several hooks you can use to interfere with the test process in order to enhance
-  // it and to build services around it. You can either apply a single function or an array of
-  // methods to it. If one of them returns with a promise, WebdriverIO will wait until that promise got
-  // resolved to continue.
-  /**
-   * Gets executed once before all workers get launched.
-   * @param {object} config wdio configuration object
-   * @param {Array.} capabilities list of capabilities details
-   */
-  // onPrepare: function (config, capabilities) {
-  // },
-  /**
-   * Gets executed before a worker process is spawned and can be used to initialize specific service
-   * for that worker as well as modify runtime environments in an async fashion.
-   * @param  {string} cid      capability id (e.g 0-0)
-   * @param  {object} caps     object containing capabilities for session that will be spawn in the worker
-   * @param  {object} specs    specs to be run in the worker process
-   * @param  {object} args     object that will be merged with the main configuration once worker is initialized
-   * @param  {object} execArgv list of string arguments passed to the worker process
-   */
-  // onWorkerStart: function (cid, caps, specs, args, execArgv) {
-  // },
-  /**
-   * Gets executed just after a worker process has exited.
-   * @param  {string} cid      capability id (e.g 0-0)
-   * @param  {number} exitCode 0 - success, 1 - fail
-   * @param  {object} specs    specs to be run in the worker process
-   * @param  {number} retries  number of retries used
-   */
-  // onWorkerEnd: function (cid, exitCode, specs, retries) {
-  // },
-  /**
-   * Gets executed just before initialising the webdriver session and test framework. It allows you
-   * to manipulate configurations depending on the capability or spec.
-   * @param {object} config wdio configuration object
-   * @param {Array.} capabilities list of capabilities details
-   * @param {Array.} specs List of spec file paths that are to be run
-   * @param {string} cid worker id (e.g. 0-0)
-   */
-  // beforeSession: function (config, capabilities, specs, cid) {
-  // },
-  /**
-   * Gets executed before test execution begins. At this point you can access to all global
-   * variables like `browser`. It is the perfect place to define custom commands.
-   * @param {Array.} capabilities list of capabilities details
-   * @param {Array.} specs        List of spec file paths that are to be run
-   * @param {object}         browser      instance of created browser/device session
-   */
-  // before: function (capabilities, specs) {
-  // },
-  /**
-   * Runs before a WebdriverIO command gets executed.
-   * @param {string} commandName hook command name
-   * @param {Array} args arguments that command would receive
-   */
-  // beforeCommand: function (commandName, args) {
-  // },
-  /**
-   * Hook that gets executed before the suite starts
-   * @param {object} suite suite details
-   */
-  // beforeSuite: function (suite) {
-  // },
-  /**
-   * Function to be executed before a test (in Mocha/Jasmine) starts.
-   */
-  // beforeTest: function (test, context) {
-  // },
-  /**
-   * Hook that gets executed _before_ a hook within the suite starts (e.g. runs before calling
-   * beforeEach in Mocha)
-   */
-  // beforeHook: function (test, context, hookName) {
-  // },
-  /**
-   * Hook that gets executed _after_ a hook within the suite starts (e.g. runs after calling
-   * afterEach in Mocha)
-   */
-  // afterHook: function (test, context, { error, result, duration, passed, retries }, hookName) {
-  // },
-  /**
-   * Function to be executed after a test (in Mocha/Jasmine only)
-   * @param {object}  test             test object
-   * @param {object}  context          scope object the test was executed with
-   * @param {Error}   result.error     error object in case the test fails, otherwise `undefined`
-   * @param {*}       result.result    return object of test function
-   * @param {number}  result.duration  duration of test
-   * @param {boolean} result.passed    true if test has passed, otherwise false
-   * @param {object}  result.retries   information about spec related retries, e.g. `{ attempts: 0, limit: 0 }`
-   */
-  // afterTest: function(test, context, { error, result, duration, passed, retries }) {
-  // },
-
-  /**
-   * Hook that gets executed after the suite has ended
-   * @param {object} suite suite details
-   */
-  // afterSuite: function (suite) {
-  // },
-  /**
-   * Runs after a WebdriverIO command gets executed
-   * @param {string} commandName hook command name
-   * @param {Array} args arguments that command would receive
-   * @param {number} result 0 - command success, 1 - command error
-   * @param {object} error error object if any
-   */
-  // afterCommand: function (commandName, args, result, error) {
-  // },
-  /**
-   * Gets executed after all tests are done. You still have access to all global variables from
-   * the test.
-   * @param {number} result 0 - test pass, 1 - test fail
-   * @param {Array.} capabilities list of capabilities details
-   * @param {Array.} specs List of spec file paths that ran
-   */
-  // after: function (result, capabilities, specs) {
-  // },
-  /**
-   * Gets executed right after terminating the webdriver session.
-   * @param {object} config wdio configuration object
-   * @param {Array.} capabilities list of capabilities details
-   * @param {Array.} specs List of spec file paths that ran
-   */
-  // afterSession: function (config, capabilities, specs) {
-  // },
-  /**
-   * Gets executed after all workers got shut down and the process is about to exit. An error
-   * thrown in the onComplete hook will result in the test run failing.
-   * @param {object} exitCode 0 - success, 1 - fail
-   * @param {object} config wdio configuration object
-   * @param {Array.} capabilities list of capabilities details
-   * @param {} results object containing test results
-   */
-  // onComplete: function(exitCode, config, capabilities, results) {
-  // },
-  /**
-   * Gets executed when a refresh happens.
-   * @param {string} oldSessionId session ID of the old session
-   * @param {string} newSessionId session ID of the new session
-   */
-  // onReload: function(oldSessionId, newSessionId) {
-  // }
-  /**
-   * Hook that gets executed before a WebdriverIO assertion happens.
-   * @param {object} params information about the assertion to be executed
-   */
-  // beforeAssertion: function(params) {
-  // }
-  /**
-   * Hook that gets executed after a WebdriverIO assertion happened.
-   * @param {object} params information about the assertion that was executed, including its results
-   */
-  // afterAssertion: function(params) {
-  // }
-};
diff --git a/examples/react/package.json b/examples/react/package.json
index 398212b60..3cbf76ded 100644
--- a/examples/react/package.json
+++ b/examples/react/package.json
@@ -11,17 +11,17 @@
   "dependencies": {
     "@six-group/ui-library": "*",
     "@six-group/ui-library-react": "*",
-    "react": "^19.2.1",
-    "react-dom": "^19.2.1",
-    "react-router": "^7.10.1"
+    "react": "^19.2.3",
+    "react-dom": "^19.2.3",
+    "react-router": "^7.12.0"
   },
   "devDependencies": {
-    "@types/node": "^22.15.32",
-    "@types/react": "^19.2.1",
+    "@types/node": "^24.0.0",
+    "@types/react": "^19.2.8",
     "@types/react-dom": "^19",
-    "@vitejs/plugin-react": "^4.3.4",
-    "typescript": "5.8.3",
-    "vite-tsconfig-paths": "^5.1.4",
-    "vite": "^6.3.5"
+    "@vitejs/plugin-react": "^5.1.2",
+    "typescript": "5.9.3",
+    "vite-tsconfig-paths": "^6.0.4",
+    "vite": "^7.3.1"
   }
 }
diff --git a/examples/vue/package.json b/examples/vue/package.json
index caf08c392..29b7cedd6 100644
--- a/examples/vue/package.json
+++ b/examples/vue/package.json
@@ -13,21 +13,21 @@
   },
   "dependencies": {
     "@six-group/ui-library-vue": "*",
-    "vue": "^3.3.4",
-    "vue-router": "^4.2.5"
+    "vue": "^3.5.26",
+    "vue-router": "^4.6.4"
   },
   "devDependencies": {
-    "@rushstack/eslint-patch": "^1.3.3",
-    "@tsconfig/node22": "^22.0.2",
-    "@types/node": "^22.15.32",
-    "@vitejs/plugin-vue": "^5.2.4",
-    "@vue/eslint-config-prettier": "^9.0.0",
-    "@vue/eslint-config-typescript": "^12.0.0",
-    "@vue/tsconfig": "^0.7.0",
-    "cross-env": "^7.0.3",
-    "eslint-plugin-vue": "^9.17.0",
+    "@rushstack/eslint-patch": "^1.15.0",
+    "@tsconfig/node24": "^24.0.0",
+    "@types/node": "^24.0.0",
+    "@vitejs/plugin-vue": "^6.0.3",
+    "@vue/eslint-config-prettier": "^10.2.0",
+    "@vue/eslint-config-typescript": "^14.6.0",
+    "@vue/tsconfig": "^0.8.1",
+    "cross-env": "^10.1.0",
+    "eslint-plugin-vue": "^10.6.2",
     "npm-run-all2": "^8.0.4",
-    "vue-tsc": "^2.2.10",
-    "typescript": "^5.8.3"
+    "vue-tsc": "^3.2.2",
+    "typescript": "^5.9.3"
   }
 }
diff --git a/examples/vue/src/views/FormView.vue b/examples/vue/src/views/FormView.vue
index d3ca1b0cf..0769d57a1 100644
--- a/examples/vue/src/views/FormView.vue
+++ b/examples/vue/src/views/FormView.vue
@@ -35,6 +35,7 @@ const disabled = ref(false);
 
 const onFileSelected = async (event: CustomEvent) => {
   const selectedfile = (event.detail as SixFileUploadSuccessPayload).files[0];
+  if (!selectedfile) return;
   file.value = selectedfile.name;
   uploading.value = true;
   // simulate the uploading operation
diff --git a/examples/vue/tsconfig.node.json b/examples/vue/tsconfig.node.json
index 912286e81..68a1dc0de 100644
--- a/examples/vue/tsconfig.node.json
+++ b/examples/vue/tsconfig.node.json
@@ -1,5 +1,5 @@
 {
-  "extends": "@tsconfig/node22/tsconfig.json",
+  "extends": "@tsconfig/node24/tsconfig.json",
   "include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "nightwatch.conf.*", "playwright.config.*"],
   "compilerOptions": {
     "composite": true,
diff --git a/libraries/ui-library-angular/angular.json b/libraries/ui-library-angular/angular.json
index ca2580fd9..7c711cd66 100644
--- a/libraries/ui-library-angular/angular.json
+++ b/libraries/ui-library-angular/angular.json
@@ -1,6 +1,13 @@
 {
   "$schema": "../../node_modules/@angular/cli/lib/config/schema.json",
   "version": 1,
+  "cli": {
+    "packageManager": "npm",
+    "analytics": false,
+    "cache": {
+      "enabled": false
+    }
+  },
   "projects": {
     "ui-library-angular": {
       "projectType": "library",
@@ -9,27 +16,15 @@
       "prefix": "lib",
       "architect": {
         "build": {
-          "builder": "@angular-devkit/build-angular:ng-packagr",
-          "options": {
-            "project": "ng-package.json"
-          },
+          "builder": "@angular/build:ng-packagr",
+          "options": { "project": "ng-package.json" },
           "configurations": {
-            "production": {
-              "tsConfig": "tsconfig.lib.prod.json"
-            },
-            "development": {
-              "tsConfig": "tsconfig.lib.json"
-            }
+            "production": { "tsConfig": "./tsconfig.lib.prod.json" },
+            "development": { "tsConfig": "./tsconfig.lib.json" }
           },
           "defaultConfiguration": "production"
         }
       }
     }
-  },
-  "cli": {
-    "analytics": false,
-    "cache": {
-      "enabled": false
-    }
   }
 }
diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index 3b33f42bb..b229fa230 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -5,14 +5,16 @@
   "private": false,
   "scripts": {
     "ng": "ng",
-    "build": "ng build",
-    "watch": "ng build --watch --configuration development"
+    "fix:outputs": "node scripts/fix-angular-outputs.mjs",
+    "build": "npm run fix:outputs && ng build",
+    "watch": "npm run fix:outputs && ng build --watch --configuration development"
   },
+  "packageManager": "npm@11.7.0",
   "peerDependencies": {
     "@angular/common": ">=19.0.0",
     "@angular/core": ">=19.0.0",
-    "@angular/router": ">=19.0.0",
     "@angular/forms": ">=19.0.0",
+    "@angular/router": ">=19.0.0",
     "@six-group/ui-library": "*"
   },
   "publishConfig": {
@@ -20,21 +22,21 @@
     "provenance": true
   },
   "dependencies": {
-    "tslib": "^2.3.0"
+    "tslib": "^2.8.1"
   },
   "repository": {
     "type": "git",
     "url": "https://github.com/six-group/six-webcomponents.git"
   },
   "devDependencies": {
-    "@angular-devkit/build-angular": "^19.2.15",
-    "@angular/cli": "^19.2.14",
-    "@angular/compiler-cli": "^19.2.0",
-    "ng-packagr": "^19.2.0",
-    "typescript": "~5.7.2"
+    "@angular/build": "^21.1.0",
+    "@angular/cli": "^21.1.0",
+    "@angular/compiler-cli": "^21.1.0",
+    "ng-packagr": "^21.1.0",
+    "typescript": "~5.9.3"
   },
   "sideEffects": false,
   "engines": {
-    "node": ">=22"
+    "node": ">=24"
   }
 }
diff --git a/libraries/ui-library-angular/scripts/fix-angular-outputs.mjs b/libraries/ui-library-angular/scripts/fix-angular-outputs.mjs
new file mode 100644
index 000000000..c182ec32e
--- /dev/null
+++ b/libraries/ui-library-angular/scripts/fix-angular-outputs.mjs
@@ -0,0 +1,100 @@
+#!/usr/bin/env node
+
+/**
+ * Fix for @stencil/angular-output-target@1.2.0 bug
+ *
+ * The generated components.ts has mismatched output names:
+ * - outputs: ['six-alert-show', ...] (kebab-case only)
+ * - @Output() sixAlertShow = new EventEmitter<...>() (camelCase)
+ *
+ * Angular requires the format 'propertyName:publicName' when they differ.
+ * This script transforms the outputs arrays to use the correct format:
+ * outputs: ['sixAlertShow:six-alert-show', ...]
+ */
+
+import { readFileSync, writeFileSync } from 'node:fs';
+import { fileURLToPath } from 'node:url';
+import { dirname, join } from 'node:path';
+
+const __filename = fileURLToPath(import.meta.url);
+const __dirname = dirname(__filename);
+
+const COMPONENTS_FILE = join(__dirname, '../src/lib/stencil-generated/components.ts');
+
+/**
+ * Convert kebab-case to camelCase
+ * @param {string} str - kebab-case string
+ * @returns {string} camelCase string
+ */
+function kebabToCamel(str) {
+  return str.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
+}
+
+/**
+ * Transform a single output entry from 'kebab-case' to 'camelCase:kebab-case'
+ * @param {string} output - The output name in kebab-case
+ * @returns {string} The transformed output in 'camelCase:kebab-case' format
+ */
+function transformOutput(output) {
+  const camelCase = kebabToCamel(output);
+  return `${camelCase}:${output}`;
+}
+
+/**
+ * Transform all outputs arrays in the file content
+ * @param {string} content - The file content
+ * @returns {string} The transformed content
+ */
+function transformOutputsArrays(content) {
+  // Match outputs: ['...', '...', ...] patterns
+  // This regex captures the entire outputs array declaration
+  return content.replace(/outputs:\s*\[([^\]]+)\]/g, (match, arrayContent) => {
+    // Parse the individual output strings
+    const outputs = arrayContent.match(/'[^']+'/g);
+    if (!outputs) {
+      return match; // No outputs found, return unchanged
+    }
+
+    const transformedOutputs = outputs.map((output) => {
+      // Remove quotes and transform
+      const outputName = output.slice(1, -1);
+      // Only transform if it's kebab-case (contains hyphens) and not already in correct format
+      if (outputName.includes('-') && !outputName.includes(':')) {
+        return `'${transformOutput(outputName)}'`;
+      }
+      return output;
+    });
+
+    return `outputs: [${transformedOutputs.join(', ')}]`;
+  });
+}
+
+function main() {
+  console.log('Fixing Angular outputs in components.ts...');
+
+  let content;
+  try {
+    content = readFileSync(COMPONENTS_FILE, 'utf-8');
+  } catch (error) {
+    console.error(`Error reading file: ${error.message}`);
+    process.exit(1);
+  }
+
+  const transformedContent = transformOutputsArrays(content);
+
+  // Check if any changes were made
+  if (content === transformedContent) {
+    console.log('No changes needed - outputs are already in correct format.');
+    return;
+  }
+
+  try {
+    writeFileSync(COMPONENTS_FILE, transformedContent, 'utf-8');
+    console.log('Successfully fixed Angular outputs.');
+  } catch (error) {
+    console.error(`Error writing file: ${error.message}`);
+    process.exit(1);
+  }
+}
+
+main();
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-multi-select-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-multi-select-value-accessor.ts
index a0ada6661..7c732fedb 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-multi-select-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-multi-select-value-accessor.ts
@@ -28,15 +28,17 @@ export class CheckboxMultiSelectValueAccessor extends
   }
 
   @HostListener('change', ['$event.target'])
-  onHostChange(el: HTMLSixCheckboxElement) {
-    const checked = el.checked;
+  onHostChange(el: EventTarget | null) {
+    if (!el) return;
+    const checkbox = el as HTMLSixCheckboxElement;
+    const checked = checkbox.checked;
     const current = this.ngControl?.value;
     if (!current) return;
 
     const set = new Set(current);
     checked ? set.add(this.value) : set.delete(this.value);
 
-    this.handleValueChange(el, Array.from(set));
+    this.handleValueChange(el as HTMLElement, Array.from(set));
   }
 
   override writeValue(values: T[]): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts
index 0e368a42e..5103ccf57 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/checkbox-value-accessor.ts
@@ -19,8 +19,10 @@ export class CheckboxValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixCheckboxElement): void {
-    this.handleValueChange(el, el.checked);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixCheckboxElement).checked);
+    }
   }
 
   override writeValue(value: any): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/date-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/date-value-accessor.ts
index e8df255eb..079420d24 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/date-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/date-value-accessor.ts
@@ -20,8 +20,10 @@ export class DateValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleInputEvent(el: HTMLSixInputElement): void {
-    this.handleValueChange(el, el.value);
+  handleInputEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixInputElement).value);
+    }
   }
 
   override writeValue(value: any): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/datepicker-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/datepicker-value-accessor.ts
index d4c8b6319..e87f5c0bc 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/datepicker-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/datepicker-value-accessor.ts
@@ -19,7 +19,9 @@ export class DatepickerValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixDatepickerElement): void {
-    this.handleValueChange(el, el.value);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixDatepickerElement).value);
+    }
   }
 }
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/numeric-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/numeric-value-accessor.ts
index 3591d6839..4bd23cdf2 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/numeric-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/numeric-value-accessor.ts
@@ -20,8 +20,10 @@ export class NumericValueAccessor extends ValueAccessor {
   }
 
   @HostListener('input', ['$event.target'])
-  handleInputEvent(el: HTMLSixInputElement): void {
-    this.handleValueChange(el, el.value);
+  handleInputEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixInputElement).value);
+    }
   }
 
   override registerOnChange(fn: (_: number | null) => void): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/radio-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/radio-value-accessor.ts
index 5cc420720..eb023148b 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/radio-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/radio-value-accessor.ts
@@ -23,8 +23,10 @@ export class RadioValueAccessor extends ValueAccessor implements OnInit {
   @Input() name?: string;
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixRadioElement): void {
-    this.handleValueChange(el, this.value);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, this.value);
+    }
   }
 
   ngOnInit(): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/range-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/range-value-accessor.ts
index 5626fbb7d..757898a17 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/range-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/range-value-accessor.ts
@@ -20,8 +20,10 @@ export class RangeValueAccessor extends ValueAccessor {
   }
 
   @HostListener('input', ['$event.target'])
-  handleInputEvent(el: HTMLSixRangeElement): void {
-    this.handleValueChange(el, el.value);
+  handleInputEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixRangeElement).value);
+    }
   }
 
   override registerOnChange(fn: (_: number | null) => void): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/select-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/select-value-accessor.ts
index 7e278ea76..7b8f9db8a 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/select-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/select-value-accessor.ts
@@ -19,7 +19,9 @@ export class SelectValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixSelectElement): void {
-    this.handleValueChange(el, el.value);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixSelectElement).value);
+    }
   }
 }
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/switch-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/switch-value-accessor.ts
index c05ed94b4..52fa87929 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/switch-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/switch-value-accessor.ts
@@ -19,8 +19,10 @@ export class SwitchValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixSwitchElement): void {
-    this.handleValueChange(el, el.checked);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixSwitchElement).checked);
+    }
   }
 
   override writeValue(value: any): void {
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/text-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/text-value-accessor.ts
index 74a54131b..5f2c67686 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/text-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/text-value-accessor.ts
@@ -20,7 +20,9 @@ export class TextValueAccessor extends ValueAccessor {
   }
 
   @HostListener('input', ['$event.target'])
-  handleInputEvent(el: HTMLSixInputElement): void {
-    this.handleValueChange(el, el.value);
+  handleInputEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixInputElement).value);
+    }
   }
 }
diff --git a/libraries/ui-library-angular/src/lib/control-value-accessors/timepicker-value-accessor.ts b/libraries/ui-library-angular/src/lib/control-value-accessors/timepicker-value-accessor.ts
index 9ef4edcc2..c51514236 100644
--- a/libraries/ui-library-angular/src/lib/control-value-accessors/timepicker-value-accessor.ts
+++ b/libraries/ui-library-angular/src/lib/control-value-accessors/timepicker-value-accessor.ts
@@ -19,7 +19,9 @@ export class TimepickerValueAccessor extends ValueAccessor {
   }
 
   @HostListener('change', ['$event.target'])
-  handleChangeEvent(el: HTMLSixTimepickerElement): void {
-    this.handleValueChange(el, el.value);
+  handleChangeEvent(el: EventTarget | null): void {
+    if (el) {
+      this.handleValueChange(el as HTMLElement, (el as HTMLSixTimepickerElement).value);
+    }
   }
 }
diff --git a/libraries/ui-library-angular/src/lib/form/six-form.directive.ts b/libraries/ui-library-angular/src/lib/form/six-form.directive.ts
index df9be24ba..d6593f8b5 100644
--- a/libraries/ui-library-angular/src/lib/form/six-form.directive.ts
+++ b/libraries/ui-library-angular/src/lib/form/six-form.directive.ts
@@ -28,10 +28,10 @@ export class SixFormDirective {
   /**
    * Emits an event when the form is valid and the form submission has been triggered.
    */
-  @Output() sixSubmit = new EventEmitter();
+  @Output() sixSubmit = new EventEmitter();
 
   @HostListener('ngSubmit', ['$event'])
-  onNgSubmit(event: SubmitEvent): void {
+  onNgSubmit(event: Event): void {
     if (this.formGroupDirective.invalid) {
       focusInvalidField(this.formGroupDirective, this.elementRef);
     } else {
diff --git a/libraries/ui-library-angular/src/lib/stencil-generated/components.ts b/libraries/ui-library-angular/src/lib/stencil-generated/components.ts
index 6a3057e47..d159d6b61 100644
--- a/libraries/ui-library-angular/src/lib/stencil-generated/components.ts
+++ b/libraries/ui-library-angular/src/lib/stencil-generated/components.ts
@@ -1,8 +1,8 @@
 /* tslint:disable */
 /* auto-generated angular directive proxies */
-import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, NgZone } from '@angular/core';
+import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Output, NgZone } from '@angular/core';
 
-import { ProxyCmp, proxyOutputs } from './angular-component-lib/utils';
+import { ProxyCmp } from './angular-component-lib/utils';
 
 import { Components } from '@six-group/ui-library';
 
@@ -17,14 +17,18 @@ import { Components } from '@six-group/ui-library';
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['closable', 'duration', 'open', 'type'],
+  outputs: ['sixAlertShow:six-alert-show', 'sixAlertAfterShow:six-alert-after-show', 'sixAlertHide:six-alert-hide', 'sixAlertAfterHide:six-alert-after-hide'],
   standalone: false
 })
 export class SixAlert {
   protected el: HTMLSixAlertElement;
+  @Output() sixAlertShow = new EventEmitter>();
+  @Output() sixAlertAfterShow = new EventEmitter>();
+  @Output() sixAlertHide = new EventEmitter>();
+  @Output() sixAlertAfterHide = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-alert-show', 'six-alert-after-show', 'six-alert-hide', 'six-alert-after-hide']);
   }
 }
 
@@ -153,14 +157,16 @@ export declare interface SixBreadcrumbsItem extends Components.SixBreadcrumbsIte
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['caret', 'circle', 'disabled', 'download', 'href', 'loading', 'name', 'pill', 'reset', 'size', 'submit', 'target', 'type', 'value'],
+  outputs: ['sixButtonBlur:six-button-blur', 'sixButtonFocus:six-button-focus'],
   standalone: false
 })
 export class SixButton {
   protected el: HTMLSixButtonElement;
+  @Output() sixButtonBlur = new EventEmitter>();
+  @Output() sixButtonFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-button-blur', 'six-button-focus']);
   }
 }
 
@@ -211,14 +217,17 @@ export declare interface SixCard extends Components.SixCard {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'indeterminate', 'invalid', 'label', 'name', 'required', 'value'],
+  outputs: ['sixCheckboxBlur:six-checkbox-blur', 'sixCheckboxChange:six-checkbox-change', 'sixCheckboxFocus:six-checkbox-focus'],
   standalone: false
 })
 export class SixCheckbox {
   protected el: HTMLSixCheckboxElement;
+  @Output() sixCheckboxBlur = new EventEmitter>();
+  @Output() sixCheckboxChange = new EventEmitter>();
+  @Output() sixCheckboxFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-checkbox-blur', 'six-checkbox-change', 'six-checkbox-focus']);
   }
 }
 
@@ -251,14 +260,16 @@ export declare interface SixCheckbox extends Components.SixCheckbox {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['allowedDates', 'clearable', 'dateFormat', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'invalid', 'label', 'language', 'max', 'min', 'name', 'placeholder', 'readonly', 'required', 'size', 'value'],
+  outputs: ['sixChange:six-change', 'sixBlur:six-blur'],
   standalone: false
 })
 export class SixDate {
   protected el: HTMLSixDateElement;
+  @Output() sixChange = new EventEmitter>();
+  @Output() sixBlur = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-change', 'six-blur']);
   }
 }
 
@@ -287,14 +298,17 @@ Does not contain event details.
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['allowedDates', 'clearable', 'closeOnSelect', 'containingElement', 'dateFormat', 'debounce', 'defaultDate', 'disabled', 'errorText', 'errorTextCount', 'hoist', 'iconPosition', 'inline', 'invalid', 'label', 'locale', 'max', 'min', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'size', 'type', 'value'],
+  outputs: ['sixDatepickerSelect:six-datepicker-select', 'sixDatepickerClear:six-datepicker-clear', 'sixDatepickerBlur:six-datepicker-blur'],
   standalone: false
 })
 export class SixDatepicker {
   protected el: HTMLSixDatepickerElement;
+  @Output() sixDatepickerSelect = new EventEmitter>();
+  @Output() sixDatepickerClear = new EventEmitter>();
+  @Output() sixDatepickerBlur = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-datepicker-select', 'six-datepicker-clear', 'six-datepicker-blur']);
   }
 }
 
@@ -328,14 +342,18 @@ export declare interface SixDatepicker extends Components.SixDatepicker {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['disabled', 'hasContent', 'inline', 'open', 'selectableEmpty', 'summary', 'summaryIcon', 'summaryIconSize'],
+  outputs: ['sixDetailsShow:six-details-show', 'sixDetailsAfterShow:six-details-after-show', 'sixDetailsHide:six-details-hide', 'sixDetailsAfterHide:six-details-after-hide'],
   standalone: false
 })
 export class SixDetails {
   protected el: HTMLSixDetailsElement;
+  @Output() sixDetailsShow = new EventEmitter>();
+  @Output() sixDetailsAfterShow = new EventEmitter>();
+  @Output() sixDetailsHide = new EventEmitter>();
+  @Output() sixDetailsAfterHide = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-details-show', 'six-details-after-show', 'six-details-hide', 'six-details-after-hide']);
   }
 }
 
@@ -372,14 +390,20 @@ export declare interface SixDetails extends Components.SixDetails {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['label', 'noHeader', 'open'],
+  outputs: ['sixDialogShow:six-dialog-show', 'sixDialogAfterShow:six-dialog-after-show', 'sixDialogHide:six-dialog-hide', 'sixDialogAfterHide:six-dialog-after-hide', 'sixDialogInitialFocus:six-dialog-initial-focus', 'sixDialogRequestClose:six-dialog-request-close'],
   standalone: false
 })
 export class SixDialog {
   protected el: HTMLSixDialogElement;
+  @Output() sixDialogShow = new EventEmitter>();
+  @Output() sixDialogAfterShow = new EventEmitter>();
+  @Output() sixDialogHide = new EventEmitter>();
+  @Output() sixDialogAfterHide = new EventEmitter>();
+  @Output() sixDialogInitialFocus = new EventEmitter>();
+  @Output() sixDialogRequestClose = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-dialog-show', 'six-dialog-after-show', 'six-dialog-hide', 'six-dialog-after-hide', 'six-dialog-initial-focus', 'six-dialog-request-close']);
   }
 }
 
@@ -428,14 +452,20 @@ the drawer will result in destructive behavior such as data loss.
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['contained', 'label', 'noHeader', 'open', 'placement'],
+  outputs: ['sixDrawerShow:six-drawer-show', 'sixDrawerAfterShow:six-drawer-after-show', 'sixDrawerHide:six-drawer-hide', 'sixDrawerAfterHide:six-drawer-after-hide', 'sixDrawerInitialFocus:six-drawer-initial-focus', 'sixDrawerRequestClose:six-drawer-request-close'],
   standalone: false
 })
 export class SixDrawer {
   protected el: HTMLSixDrawerElement;
+  @Output() sixDrawerShow = new EventEmitter>();
+  @Output() sixDrawerAfterShow = new EventEmitter>();
+  @Output() sixDrawerHide = new EventEmitter>();
+  @Output() sixDrawerAfterHide = new EventEmitter>();
+  @Output() sixDrawerInitialFocus = new EventEmitter>();
+  @Output() sixDrawerRequestClose = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-drawer-show', 'six-drawer-after-show', 'six-drawer-hide', 'six-drawer-after-hide', 'six-drawer-initial-focus', 'six-drawer-request-close']);
   }
 }
 
@@ -484,14 +514,21 @@ the drawer will result in destructive behavior such as data loss.
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['asyncFilter', 'autofocusFilter', 'closeOnSelect', 'containingElement', 'disableHideOnEnterAndSpace', 'disableTypeToSelect', 'distance', 'filter', 'filterDebounce', 'filterPlaceholder', 'hoist', 'matchTriggerWidth', 'noScroll', 'open', 'options', 'placement', 'skidding', 'virtualScroll'],
+  outputs: ['sixDropdownShow:six-dropdown-show', 'sixDropdownAfterShow:six-dropdown-after-show', 'sixDropdownHide:six-dropdown-hide', 'sixDropdownAfterHide:six-dropdown-after-hide', 'sixDropdownAutoFilterFired:six-dropdown-auto-filter-fired', 'sixAsyncFilterFired:six-async-filter-fired', 'sixDropdownScroll:six-dropdown-scroll'],
   standalone: false
 })
 export class SixDropdown {
   protected el: HTMLSixDropdownElement;
+  @Output() sixDropdownShow = new EventEmitter>();
+  @Output() sixDropdownAfterShow = new EventEmitter>();
+  @Output() sixDropdownHide = new EventEmitter>();
+  @Output() sixDropdownAfterHide = new EventEmitter>();
+  @Output() sixDropdownAutoFilterFired = new EventEmitter>();
+  @Output() sixAsyncFilterFired = new EventEmitter>();
+  @Output() sixDropdownScroll = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-dropdown-show', 'six-dropdown-after-show', 'six-dropdown-hide', 'six-dropdown-after-hide', 'six-dropdown-auto-filter-fired', 'six-async-filter-fired', 'six-dropdown-scroll']);
   }
 }
 
@@ -609,14 +646,16 @@ export declare interface SixFileList extends Components.SixFileList {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['date', 'identifier', 'name', 'nodelete', 'nodownload', 'size'],
+  outputs: ['sixFileListItemDownload:six-file-list-item-download', 'sixFileListItemRemove:six-file-list-item-remove'],
   standalone: false
 })
 export class SixFileListItem {
   protected el: HTMLSixFileListItemElement;
+  @Output() sixFileListItemDownload = new EventEmitter>();
+  @Output() sixFileListItemRemove = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-file-list-item-download', 'six-file-list-item-remove']);
   }
 }
 
@@ -645,14 +684,16 @@ export declare interface SixFileListItem extends Components.SixFileListItem {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['accept', 'compact', 'disabled', 'errorText', 'invalid', 'label', 'maxFileSize', 'multiple', 'uploading'],
+  outputs: ['sixFileUploadSuccess:six-file-upload-success', 'sixFileUploadFailure:six-file-upload-failure'],
   standalone: false
 })
 export class SixFileUpload {
   protected el: HTMLSixFileUploadElement;
+  @Output() sixFileUploadSuccess = new EventEmitter>();
+  @Output() sixFileUploadFailure = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-file-upload-success', 'six-file-upload-failure']);
   }
 }
 
@@ -865,14 +906,19 @@ export declare interface SixIconButton extends Components.SixIconButton {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'clearable', 'disabled', 'dropdownSearch', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'line', 'max', 'maxlength', 'min', 'minlength', 'name', 'pattern', 'pill', 'placeholder', 'readonly', 'required', 'size', 'spellcheck', 'step', 'togglePassword', 'type', 'value'],
+  outputs: ['sixInputChange:six-input-change', 'sixInputClear:six-input-clear', 'sixInputInput:six-input-input', 'sixInputFocus:six-input-focus', 'sixInputBlur:six-input-blur'],
   standalone: false
 })
 export class SixInput {
   protected el: HTMLSixInputElement;
+  @Output() sixInputChange = new EventEmitter>();
+  @Output() sixInputClear = new EventEmitter>();
+  @Output() sixInputInput = new EventEmitter>();
+  @Output() sixInputFocus = new EventEmitter>();
+  @Output() sixInputBlur = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-input-change', 'six-input-clear', 'six-input-input', 'six-input-focus', 'six-input-blur']);
   }
 }
 
@@ -912,14 +958,16 @@ export declare interface SixInput extends Components.SixInput {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['debounce', 'interval', 'items', 'max', 'min', 'padded', 'paddingChar', 'paddingDirection', 'paddingLength', 'roundtrip', 'step', 'timeout', 'type', 'value'],
+  outputs: ['sixItemPickerChange:six-item-picker-change', 'sixItemPickerChangeDebounced:six-item-picker-change-debounced'],
   standalone: false
 })
 export class SixItemPicker {
   protected el: HTMLSixItemPickerElement;
+  @Output() sixItemPickerChange = new EventEmitter>();
+  @Output() sixItemPickerChangeDebounced = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-item-picker-change', 'six-item-picker-change-debounced']);
   }
 }
 
@@ -947,14 +995,15 @@ export declare interface SixItemPicker extends Components.SixItemPicker {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['languages', 'selected'],
+  outputs: ['sixLanguageSwitcherChange:six-language-switcher-change'],
   standalone: false
 })
 export class SixLanguageSwitcher {
   protected el: HTMLSixLanguageSwitcherElement;
+  @Output() sixLanguageSwitcherChange = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-language-switcher-change']);
   }
 }
 
@@ -1048,14 +1097,15 @@ export declare interface SixMainContainer extends Components.SixMainContainer {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['disableKeyboardHandling', 'itemSize', 'items', 'itemsShown', 'removeBoxShadow', 'scrollingDebounce', 'virtualScroll'],
+  outputs: ['sixMenuItemSelected:six-menu-item-selected'],
   standalone: false
 })
 export class SixMenu {
   protected el: HTMLSixMenuElement;
+  @Output() sixMenuItemSelected = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-menu-item-selected']);
   }
 }
 
@@ -1217,14 +1267,17 @@ export declare interface SixProgressRing extends Components.SixProgressRing {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['checked', 'disabled', 'invalid', 'name', 'value'],
+  outputs: ['sixRadioBlur:six-radio-blur', 'sixRadioChange:six-radio-change', 'sixRadioFocus:six-radio-focus'],
   standalone: false
 })
 export class SixRadio {
   protected el: HTMLSixRadioElement;
+  @Output() sixRadioBlur = new EventEmitter>();
+  @Output() sixRadioChange = new EventEmitter>();
+  @Output() sixRadioFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-radio-blur', 'six-radio-change', 'six-radio-focus']);
   }
 }
 
@@ -1257,14 +1310,17 @@ export declare interface SixRadio extends Components.SixRadio {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['disabled', 'errorText', 'errorTextCount', 'helpText', 'invalid', 'label', 'max', 'min', 'name', 'required', 'step', 'tooltip', 'tooltipFormatter', 'value'],
+  outputs: ['sixRangeChange:six-range-change', 'sixRangeBlur:six-range-blur', 'sixRangeFocus:six-range-focus'],
   standalone: false
 })
 export class SixRange {
   protected el: HTMLSixRangeElement;
+  @Output() sixRangeChange = new EventEmitter>();
+  @Output() sixRangeBlur = new EventEmitter>();
+  @Output() sixRangeFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-range-change', 'six-range-blur', 'six-range-focus']);
   }
 }
 
@@ -1296,14 +1352,17 @@ export declare interface SixRange extends Components.SixRange {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['disabled', 'errorText', 'errorTextCount', 'helpText', 'invalid', 'label', 'max', 'name', 'readonly', 'required', 'size', 'value'],
+  outputs: ['sixRatingBlur:six-rating-blur', 'sixRatingChange:six-rating-change', 'sixRatingFocus:six-rating-focus'],
   standalone: false
 })
 export class SixRating {
   protected el: HTMLSixRatingElement;
+  @Output() sixRatingBlur = new EventEmitter>();
+  @Output() sixRatingChange = new EventEmitter>();
+  @Output() sixRatingFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-rating-blur', 'six-rating-change', 'six-rating-focus']);
   }
 }
 
@@ -1358,14 +1417,15 @@ export declare interface SixRoot extends Components.SixRoot {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['clearable', 'debounce', 'disabled', 'placeholder', 'value'],
+  outputs: ['sixSearchFieldChange:six-search-field-change'],
   standalone: false
 })
 export class SixSearchField {
   protected el: HTMLSixSearchFieldElement;
+  @Output() sixSearchFieldChange = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-search-field-change']);
   }
 }
 
@@ -1390,14 +1450,17 @@ export declare interface SixSearchField extends Components.SixSearchField {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['asyncFilter', 'autocomplete', 'clearable', 'disabled', 'errorText', 'errorTextCount', 'filter', 'filterDebounce', 'filterPlaceholder', 'helpText', 'hoist', 'inputDebounce', 'invalid', 'label', 'line', 'multiple', 'name', 'options', 'pill', 'placeholder', 'required', 'selectAllButton', 'selectAllText', 'size', 'value', 'virtualScroll'],
+  outputs: ['sixSelectChange:six-select-change', 'sixSelectFocus:six-select-focus', 'sixSelectBlur:six-select-blur'],
   standalone: false
 })
 export class SixSelect {
   protected el: HTMLSixSelectElement;
+  @Output() sixSelectChange = new EventEmitter>();
+  @Output() sixSelectFocus = new EventEmitter>();
+  @Output() sixSelectBlur = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-select-change', 'six-select-focus', 'six-select-blur']);
   }
 }
 
@@ -1431,14 +1494,19 @@ export declare interface SixSelect extends Components.SixSelect {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['open', 'position', 'toggled', 'width'],
+  outputs: ['sixSidebarShow:six-sidebar-show', 'sixSidebarAfterShow:six-sidebar-after-show', 'sixSidebarHide:six-sidebar-hide', 'sixSidebarAfterHide:six-sidebar-after-hide', 'sixSidebarInitialFocus:six-sidebar-initial-focus'],
   standalone: false
 })
 export class SixSidebar {
   protected el: HTMLSixSidebarElement;
+  @Output() sixSidebarShow = new EventEmitter>();
+  @Output() sixSidebarAfterShow = new EventEmitter>();
+  @Output() sixSidebarHide = new EventEmitter>();
+  @Output() sixSidebarAfterHide = new EventEmitter>();
+  @Output() sixSidebarInitialFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-sidebar-show', 'six-sidebar-after-show', 'six-sidebar-hide', 'six-sidebar-after-hide', 'six-sidebar-initial-focus']);
   }
 }
 
@@ -1572,14 +1640,17 @@ export declare interface SixStageIndicator extends Components.SixStageIndicator
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['checked', 'disabled', 'errorText', 'errorTextCount', 'invalid', 'label', 'name', 'required', 'value'],
+  outputs: ['sixSwitchBlur:six-switch-blur', 'sixSwitchChange:six-switch-change', 'sixSwitchFocus:six-switch-focus'],
   standalone: false
 })
 export class SixSwitch {
   protected el: HTMLSixSwitchElement;
+  @Output() sixSwitchBlur = new EventEmitter>();
+  @Output() sixSwitchChange = new EventEmitter>();
+  @Output() sixSwitchFocus = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-switch-blur', 'six-switch-change', 'six-switch-focus']);
   }
 }
 
@@ -1612,14 +1683,15 @@ export declare interface SixSwitch extends Components.SixSwitch {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['active', 'closable', 'disabled', 'hoverContent', 'panel'],
+  outputs: ['sixTabClose:six-tab-close'],
   standalone: false
 })
 export class SixTab {
   protected el: HTMLSixTabElement;
+  @Output() sixTabClose = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-tab-close']);
   }
 }
 
@@ -1644,14 +1716,16 @@ export declare interface SixTab extends Components.SixTab {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['noScrollControls', 'placement'],
+  outputs: ['sixTabShow:six-tab-show', 'sixTabHide:six-tab-hide'],
   standalone: false
 })
 export class SixTabGroup {
   protected el: HTMLSixTabGroupElement;
+  @Output() sixTabShow = new EventEmitter>();
+  @Output() sixTabHide = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-tab-show', 'six-tab-hide']);
   }
 }
 
@@ -1703,14 +1777,15 @@ export declare interface SixTabPanel extends Components.SixTabPanel {}
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['clearable', 'pill', 'size', 'type'],
+  outputs: ['sixTagClear:six-tag-clear'],
   standalone: false
 })
 export class SixTag {
   protected el: HTMLSixTagElement;
+  @Output() sixTagClear = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-tag-clear']);
   }
 }
 
@@ -1735,14 +1810,18 @@ export declare interface SixTag extends Components.SixTag {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['autocapitalize', 'autocomplete', 'autocorrect', 'autofocus', 'disabled', 'errorText', 'errorTextCount', 'helpText', 'inputmode', 'invalid', 'label', 'maxlength', 'minlength', 'name', 'placeholder', 'readonly', 'required', 'resize', 'rows', 'size', 'spellcheck', 'value'],
+  outputs: ['sixTextareaChange:six-textarea-change', 'sixTextareaInput:six-textarea-input', 'sixTextareaFocus:six-textarea-focus', 'sixTextareaBlur:six-textarea-blur'],
   standalone: false
 })
 export class SixTextarea {
   protected el: HTMLSixTextareaElement;
+  @Output() sixTextareaChange = new EventEmitter>();
+  @Output() sixTextareaInput = new EventEmitter>();
+  @Output() sixTextareaFocus = new EventEmitter>();
+  @Output() sixTextareaBlur = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-textarea-change', 'six-textarea-input', 'six-textarea-focus', 'six-textarea-blur']);
   }
 }
 
@@ -1779,14 +1858,16 @@ export declare interface SixTextarea extends Components.SixTextarea {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['closeable', 'disableTooltip', 'disabled', 'elevated', 'iconName', 'label', 'size'],
+  outputs: ['sixTileClosed:six-tile-closed', 'sixTileSelected:six-tile-selected'],
   standalone: false
 })
 export class SixTile {
   protected el: HTMLSixTileElement;
+  @Output() sixTileClosed = new EventEmitter>();
+  @Output() sixTileSelected = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-tile-closed', 'six-tile-selected']);
   }
 }
 
@@ -1815,14 +1896,17 @@ export declare interface SixTile extends Components.SixTile {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['clearable', 'debounce', 'defaultTime', 'disabled', 'errorText', 'errorTextCount', 'format', 'hoist', 'iconPosition', 'inline', 'interval', 'invalid', 'label', 'name', 'open', 'placeholder', 'placement', 'readonly', 'required', 'separator', 'size', 'timeout', 'value'],
+  outputs: ['sixTimepickerChange:six-timepicker-change', 'sixTimepickerChangeDebounced:six-timepicker-change-debounced', 'sixTimepickerClear:six-timepicker-clear'],
   standalone: false
 })
 export class SixTimepicker {
   protected el: HTMLSixTimepickerElement;
+  @Output() sixTimepickerChange = new EventEmitter>();
+  @Output() sixTimepickerChangeDebounced = new EventEmitter>();
+  @Output() sixTimepickerClear = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-timepicker-change', 'six-timepicker-change-debounced', 'six-timepicker-clear']);
   }
 }
 
@@ -1856,14 +1940,18 @@ export declare interface SixTimepicker extends Components.SixTimepicker {
   template: '',
   // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property
   inputs: ['content', 'disabled', 'distance', 'open', 'placement', 'skidding', 'trigger'],
+  outputs: ['sixTooltipShow:six-tooltip-show', 'sixTooltipAfterShow:six-tooltip-after-show', 'sixTooltipHide:six-tooltip-hide', 'sixTooltipAfterHide:six-tooltip-after-hide'],
   standalone: false
 })
 export class SixTooltip {
   protected el: HTMLSixTooltipElement;
+  @Output() sixTooltipShow = new EventEmitter>();
+  @Output() sixTooltipAfterShow = new EventEmitter>();
+  @Output() sixTooltipHide = new EventEmitter>();
+  @Output() sixTooltipAfterHide = new EventEmitter>();
   constructor(c: ChangeDetectorRef, r: ElementRef, protected z: NgZone) {
     c.detach();
     this.el = r.nativeElement;
-    proxyOutputs(this, this.el, ['six-tooltip-show', 'six-tooltip-after-show', 'six-tooltip-hide', 'six-tooltip-after-hide']);
   }
 }
 
diff --git a/libraries/ui-library-angular/tsconfig.json b/libraries/ui-library-angular/tsconfig.json
index 7e5d579bd..85913cb0a 100644
--- a/libraries/ui-library-angular/tsconfig.json
+++ b/libraries/ui-library-angular/tsconfig.json
@@ -1,34 +1,29 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
 {
   "compileOnSave": false,
   "compilerOptions": {
+    "skipLibCheck": true,
     "baseUrl": "./",
     "outDir": "./dist/out-tsc",
-    "forceConsistentCasingInFileNames": true,
     "strict": true,
     "noImplicitOverride": true,
     "noPropertyAccessFromIndexSignature": true,
     "noImplicitReturns": true,
     "noFallthroughCasesInSwitch": true,
-    "sourceMap": true,
-    "declaration": false,
-    "downlevelIteration": true,
+    "isolatedModules": true,
     "experimentalDecorators": true,
-    "moduleResolution": "node",
     "importHelpers": true,
     "target": "ES2022",
-    "module": "ES2022",
-    "useDefineForClassFields": false,
+    "module": "preserve",
     "paths": {
       "@six-group/ui-library-angular": ["dist/ui-library-angular"]
-    },
-    "lib": ["ES2022", "dom"]
+    }
   },
-  "exclude": ["node_modules"],
   "angularCompilerOptions": {
     "enableI18nLegacyMessageIdFormat": false,
     "strictInjectionParameters": true,
     "strictInputAccessModifiers": true,
     "strictTemplates": true
-  }
+  },
+  "files": [],
+  "references": [{ "path": "./tsconfig.lib.json" }]
 }
diff --git a/libraries/ui-library-angular/tsconfig.lib.json b/libraries/ui-library-angular/tsconfig.lib.json
index e742e1f39..683b2940d 100644
--- a/libraries/ui-library-angular/tsconfig.lib.json
+++ b/libraries/ui-library-angular/tsconfig.lib.json
@@ -1,12 +1,10 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
 {
   "extends": "./tsconfig.json",
   "compilerOptions": {
     "outDir": "./out-tsc/lib",
     "declaration": true,
     "declarationMap": true,
-    "inlineSources": true,
     "types": []
   },
-  "exclude": ["**/*.spec.ts"]
+  "include": ["src/**/*.ts"]
 }
diff --git a/libraries/ui-library-angular/tsconfig.lib.prod.json b/libraries/ui-library-angular/tsconfig.lib.prod.json
index 06de549e1..2a2faa884 100644
--- a/libraries/ui-library-angular/tsconfig.lib.prod.json
+++ b/libraries/ui-library-angular/tsconfig.lib.prod.json
@@ -1,4 +1,3 @@
-/* To learn more about this file see: https://angular.io/config/tsconfig. */
 {
   "extends": "./tsconfig.lib.json",
   "compilerOptions": {
diff --git a/libraries/ui-library-react/package.json b/libraries/ui-library-react/package.json
index cfc481fda..87a8d5f05 100644
--- a/libraries/ui-library-react/package.json
+++ b/libraries/ui-library-react/package.json
@@ -15,7 +15,7 @@
   },
   "sideEffects": false,
   "engines": {
-    "node": ">=20"
+    "node": ">=24"
   },
   "scripts": {
     "build": "npm run tsc",
@@ -28,12 +28,12 @@
   },
   "devDependencies": {
     "@types/react": "^19",
-    "react": "^19.1.0",
-    "react-dom": "^19.1.0",
+    "react": "^19.2.3",
+    "react-dom": "^19.2.3",
     "typescript": "^5"
   },
   "dependencies": {
-    "@stencil/react-output-target": "^1.0.4"
+    "@stencil/react-output-target": "^1.3.0"
   },
   "peerDependencies": {
     "@six-group/ui-library": "*"
diff --git a/libraries/ui-library-react/src/lib/stencil-generated/components.ts b/libraries/ui-library-react/src/lib/stencil-generated/components.ts
index 4a7361191..8c7788b5d 100644
--- a/libraries/ui-library-react/src/lib/stencil-generated/components.ts
+++ b/libraries/ui-library-react/src/lib/stencil-generated/components.ts
@@ -7,7 +7,7 @@
 
 /* eslint-disable */
 
-import { type EmptyPayload, type SixAlertCustomEvent, type SixButtonCustomEvent, type SixCheckboxCustomEvent, type SixDatepickerCustomEvent, type SixDatepickerSelectPayload, type SixDetailsCustomEvent, type SixDialogCustomEvent, type SixDialogRequestClose, type SixDrawerCustomEvent, type SixDrawerRequestClose, type SixDropdownAsyncFilterPayload, type SixDropdownAutoFilterPayload, type SixDropdownCustomEvent, type SixDropdownScrollPayload, type SixFileListDownloadPayload, type SixFileListItemCustomEvent, type SixFileListRemovePayload, type SixFileUploadCustomEvent, type SixFileUploadFailurePayload, type SixFileUploadSuccessPayload, type SixInputCustomEvent, type SixItemPickerChangePayload, type SixItemPickerCustomEvent, type SixLanguageSwitcherChangePayload, type SixLanguageSwitcherCustomEvent, type SixMenuCustomEvent, type SixMenuItemSelectedPayload, type SixRadioCustomEvent, type SixRangeCustomEvent, type SixRatingCustomEvent, type SixSearchFieldChangePayload, type SixSearchFieldCustomEvent, type SixSelectChangePayload, type SixSelectCustomEvent, type SixSidebarCustomEvent, type SixSwitchCustomEvent, type SixTabCustomEvent, type SixTabGroupCustomEvent, type SixTabHidePayload, type SixTabShowPayload, type SixTagCustomEvent, type SixTextareaCustomEvent, type SixTileCustomEvent, type SixTimepickerChange, type SixTimepickerCustomEvent, type SixTooltipCustomEvent } from "@six-group/ui-library";
+import { type EmptyPayload, type SixAlertCustomEvent, type SixButtonCustomEvent, type SixCheckboxCustomEvent, type SixDateCustomEvent, type SixDatepickerCustomEvent, type SixDatepickerSelectPayload, type SixDetailsCustomEvent, type SixDialogCustomEvent, type SixDialogRequestClose, type SixDrawerCustomEvent, type SixDrawerRequestClose, type SixDropdownAsyncFilterPayload, type SixDropdownAutoFilterPayload, type SixDropdownCustomEvent, type SixDropdownScrollPayload, type SixFileListDownloadPayload, type SixFileListItemCustomEvent, type SixFileListRemovePayload, type SixFileUploadCustomEvent, type SixFileUploadFailurePayload, type SixFileUploadSuccessPayload, type SixInputCustomEvent, type SixItemPickerChangePayload, type SixItemPickerCustomEvent, type SixLanguageSwitcherChangePayload, type SixLanguageSwitcherCustomEvent, type SixMenuCustomEvent, type SixMenuItemSelectedPayload, type SixRadioCustomEvent, type SixRangeCustomEvent, type SixRatingCustomEvent, type SixSearchFieldChangePayload, type SixSearchFieldCustomEvent, type SixSelectChangePayload, type SixSelectCustomEvent, type SixSidebarCustomEvent, type SixSwitchCustomEvent, type SixTabCustomEvent, type SixTabGroupCustomEvent, type SixTabHidePayload, type SixTabShowPayload, type SixTagCustomEvent, type SixTextareaCustomEvent, type SixTileCustomEvent, type SixTimepickerChange, type SixTimepickerCustomEvent, type SixTooltipCustomEvent } from "@six-group/ui-library";
 import { SixAlert as SixAlertElement, defineCustomElement as defineSixAlert } from "@six-group/ui-library/dist/components/six-alert.js";
 import { SixAvatar as SixAvatarElement, defineCustomElement as defineSixAvatar } from "@six-group/ui-library/dist/components/six-avatar.js";
 import { SixBadge as SixBadgeElement, defineCustomElement as defineSixBadge } from "@six-group/ui-library/dist/components/six-badge.js";
@@ -185,8 +185,8 @@ export const SixCheckbox: StencilReactComponent>,
-    onSixBlur: EventName>
+    onSixChange: EventName>,
+    onSixBlur: EventName>
 };
 
 export const SixDate: StencilReactComponent = /*@__PURE__*/ createComponent({
@@ -673,8 +673,8 @@ export const SixRange: StencilReactComponent =
 });
 
 export type SixRatingEvents = {
-    onSixRatingBlur: EventName>,
-    onSixRatingChange: EventName>,
+    onSixRatingBlur: EventName>,
+    onSixRatingChange: EventName>,
     onSixRatingFocus: EventName>
 };
 
@@ -800,8 +800,8 @@ export const SixStageIndicator: StencilReactComponent>,
-    onSixSwitchChange: EventName>,
+    onSixSwitchBlur: EventName>,
+    onSixSwitchChange: EventName>,
     onSixSwitchFocus: EventName>
 };
 
diff --git a/libraries/ui-library-vue/package.json b/libraries/ui-library-vue/package.json
index fd03bfea0..e63e8aa19 100644
--- a/libraries/ui-library-vue/package.json
+++ b/libraries/ui-library-vue/package.json
@@ -29,18 +29,17 @@
     "provenance": true
   },
   "dependencies": {
-    "@stencil/vue-output-target": "0.10.8",
     "@six-group/ui-library": "*"
   },
   "peerDependencies": {
     "@six-group/ui-library": "*"
   },
   "devDependencies": {
-    "typescript": "~5.1.3"
+    "typescript": "~5.9.3"
   },
   "private": false,
   "sideEffects": false,
   "engines": {
-    "node": ">=20"
+    "node": ">=24"
   }
 }
diff --git a/libraries/ui-library-vue/src/lib/stencil-generated/components.ts b/libraries/ui-library-vue/src/lib/stencil-generated/components.ts
index 624c6a0a9..ac6dca4cf 100644
--- a/libraries/ui-library-vue/src/lib/stencil-generated/components.ts
+++ b/libraries/ui-library-vue/src/lib/stencil-generated/components.ts
@@ -8,6 +8,7 @@ import type { JSX } from '@six-group/ui-library';
 
 
 
+
 export const SixAlert: StencilVueComponent = /*@__PURE__*/ defineContainer('six-alert', undefined, [
   'open',
   'closable',
@@ -98,7 +99,7 @@ export const SixCheckbox: StencilVueComponent = /*@__PURE__*/ defineContainer('six-date', undefined, [
@@ -126,7 +127,7 @@ export const SixDate: StencilVueComponent = /
   'six-change',
   'six-blur'
 ],
-'value', 'change');
+'value', 'change', undefined);
 
 
 export const SixDatepicker: StencilVueComponent = /*@__PURE__*/ defineContainer('six-datepicker', undefined, [
@@ -165,7 +166,7 @@ export const SixDatepicker: StencilVueComponent = /*@__PURE__*/ defineContainer('six-details', undefined, [
@@ -416,7 +417,7 @@ export const SixInput: StencilVueComponent
   'six-input-focus',
   'six-input-blur'
 ],
-'value', 'input');
+'value', 'input', undefined);
 
 
 export const SixItemPicker: StencilVueComponent = /*@__PURE__*/ defineContainer('six-item-picker', undefined, [
@@ -551,7 +552,7 @@ export const SixRange: StencilVueComponent
   'six-range-blur',
   'six-range-focus'
 ],
-'value', 'input');
+'value', 'input', undefined);
 
 
 export const SixRating: StencilVueComponent = /*@__PURE__*/ defineContainer('six-rating', undefined, [
@@ -631,7 +632,7 @@ export const SixSelect: StencilVueComponent = /*@__PURE__*/ defineContainer('six-sidebar', undefined, [
@@ -701,7 +702,7 @@ export const SixSwitch: StencilVueComponent = /*@__PURE__*/ defineContainer('six-tab', undefined, [
@@ -777,7 +778,7 @@ export const SixTextarea: StencilVueComponent = /*@__PURE__*/ defineContainer('six-tile', undefined, [
@@ -849,3 +850,4 @@ export const SixTooltip: StencilVueComponent = /*@__PURE__*/ def
   'six-tooltip-after-hide'
 ]);
 
+
diff --git a/libraries/ui-library/.eslintignore b/libraries/ui-library/.eslintignore
deleted file mode 100644
index ad2dc0bfa..000000000
--- a/libraries/ui-library/.eslintignore
+++ /dev/null
@@ -1,5 +0,0 @@
-dist
-loader
-www
-docs
-node_modules
diff --git a/libraries/ui-library/.eslintrc.json b/libraries/ui-library/.eslintrc.json
deleted file mode 100644
index e11834b07..000000000
--- a/libraries/ui-library/.eslintrc.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "parserOptions": {
-    "project": "./tsconfig.json"
-  },
-  "extends": ["plugin:@stencil-community/recommended", "plugin:@typescript-eslint/recommended", "prettier"],
-  "parser": "@typescript-eslint/parser",
-  "plugins": ["@typescript-eslint", "prettier"],
-  "root": true,
-  "rules": {
-    "react/jsx-no-bind": "off",
-    "@stencil-community/decorators-style": "off",
-    "@stencil-community/reserved-member-names": "off"
-  }
-}
diff --git a/libraries/ui-library/eslint.config.mjs b/libraries/ui-library/eslint.config.mjs
new file mode 100644
index 000000000..508664bd4
--- /dev/null
+++ b/libraries/ui-library/eslint.config.mjs
@@ -0,0 +1,26 @@
+import tseslint from 'typescript-eslint';
+import stencil from '@stencil-community/eslint-plugin';
+import eslintConfigPrettier from 'eslint-config-prettier';
+
+export default tseslint.config(
+  {
+    ignores: ['dist/**', 'loader/**', 'www/**', 'docs/**', 'node_modules/**'],
+  },
+  ...tseslint.configs.recommended,
+  stencil.configs.flat.recommended,
+  eslintConfigPrettier,
+  {
+    files: ['src/**/*.ts', 'src/**/*.tsx'],
+    languageOptions: {
+      parserOptions: {
+        project: './tsconfig.json',
+      },
+    },
+    rules: {
+      'react/jsx-no-bind': 'off',
+      '@stencil-community/decorators-style': 'off',
+      '@stencil-community/reserved-member-names': 'off',
+      '@typescript-eslint/no-unused-expressions': ['error', { allowShortCircuit: true, allowTernary: true }],
+    },
+  }
+);
diff --git a/libraries/ui-library/package.json b/libraries/ui-library/package.json
index 00259b59b..1d17c2a60 100644
--- a/libraries/ui-library/package.json
+++ b/libraries/ui-library/package.json
@@ -11,6 +11,23 @@
   "collection": "dist/collection/collection-manifest.json",
   "collection:main": "dist/collection/index.js",
   "unpkg": "dist/ui-library/ui-library.esm.js",
+  "exports": {
+    ".": {
+      "types": "./dist/types/types.d.ts",
+      "import": "./dist/index.js",
+      "require": "./dist/index.cjs.js"
+    },
+    "./loader": {
+      "types": "./loader/index.d.ts",
+      "import": "./loader/index.js",
+      "require": "./loader/index.cjs.js"
+    },
+    "./dist/ui-library/ui-library.css": "./dist/ui-library/ui-library.css",
+    "./dist/components/*.js": {
+      "types": "./dist/components/*.d.ts",
+      "import": "./dist/components/*.js"
+    }
+  },
   "files": [
     "dist/",
     "loader/"
@@ -39,36 +56,36 @@
     "provenance": true
   },
   "dependencies": {
-    "@stencil/core": "4.32.0",
-    "@types/resize-observer-browser": "^0.1.5"
+    "@stencil/core": "4.41.1",
+    "@types/resize-observer-browser": "^0.1.11"
   },
   "peerDependencies": {
     "date-fns": ">=3.0.0"
   },
   "devDependencies": {
     "@axe-core/playwright": "^4.11.0",
-    "@playwright/test": "^1.56.1",
+    "@playwright/test": "^1.57.0",
     "@stencil/playwright": "^0.2.1",
-    "@fontsource/material-icons": "^5.1.1",
-    "@fontsource/material-icons-outlined": "^5.1.1",
-    "@fontsource-variable/material-symbols-outlined": "^5.2.22",
-    "@fontsource-variable/material-symbols-rounded": "^5.2.22",
-    "@fontsource-variable/material-symbols-sharp": "^5.2.22",
-    "@fontsource/noto-sans": "^5.1.1",
-    "@popperjs/core": "^2.5.3",
+    "@fontsource/material-icons": "^5.2.7",
+    "@fontsource/material-icons-outlined": "^5.2.6",
+    "@fontsource-variable/material-symbols-outlined": "^5.2.31",
+    "@fontsource-variable/material-symbols-rounded": "^5.2.31",
+    "@fontsource-variable/material-symbols-sharp": "^5.2.31",
+    "@fontsource/noto-sans": "^5.2.10",
+    "@popperjs/core": "^2.11.8",
     "@stencil-community/eslint-plugin": "0.x",
-    "@stencil/angular-output-target": "1.0.0",
-    "@stencil/react-output-target": "^1.0.4",
-    "@stencil/sass": "3.0.12",
-    "@stencil/vue-output-target": "0.10.8",
-    "@typescript-eslint/eslint-plugin": "^7.0.0",
-    "@typescript-eslint/parser": "^7.0.0",
-    "cross-env": "^7.0.3",
-    "puppeteer": "^20.9.0",
-    "replace-in-file": "^6.3.5",
-    "rimraf": "^3.0.2"
+    "@stencil/angular-output-target": "1.2.0",
+    "@stencil/react-output-target": "^1.3.2",
+    "@stencil/sass": "3.2.3",
+    "@stencil/vue-output-target": "0.12.0",
+    "@typescript-eslint/eslint-plugin": "^8.53.0",
+    "@typescript-eslint/parser": "^8.53.0",
+    "cross-env": "^10.1.0",
+    "puppeteer": "^24.35.0",
+    "replace-in-file": "^8.4.0",
+    "rimraf": "^6.1.2"
   },
   "engines": {
-    "node": ">=20"
+    "node": ">=24"
   }
 }
diff --git a/libraries/ui-library/src/components.d.ts b/libraries/ui-library/src/components.d.ts
index a509ca778..395c0f437 100644
--- a/libraries/ui-library/src/components.d.ts
+++ b/libraries/ui-library/src/components.d.ts
@@ -1138,9 +1138,9 @@ export namespace Components {
         "autocomplete": string;
         /**
           * The input's autocorrect attribute.
-          * @default 'off'
+          * @default false
          */
-        "autocorrect": 'on' | 'off';
+        "autocorrect": boolean;
         /**
           * The input's autofocus attribute.
           * @default false
@@ -2242,9 +2242,9 @@ export namespace Components {
         "autocomplete": string;
         /**
           * The textarea's autocorrect attribute.
-          * @default 'off'
+          * @default false
          */
-        "autocorrect": 'on' | 'off';
+        "autocorrect": boolean;
         /**
           * The textarea's autofocus attribute.
           * @default false
@@ -4936,9 +4936,9 @@ declare namespace LocalJSX {
         "autocomplete"?: string;
         /**
           * The input's autocorrect attribute.
-          * @default 'off'
+          * @default false
          */
-        "autocorrect"?: 'on' | 'off';
+        "autocorrect"?: boolean;
         /**
           * The input's autofocus attribute.
           * @default false
@@ -6076,9 +6076,9 @@ declare namespace LocalJSX {
         "autocomplete"?: string;
         /**
           * The textarea's autocorrect attribute.
-          * @default 'off'
+          * @default false
          */
-        "autocorrect"?: 'on' | 'off';
+        "autocorrect"?: boolean;
         /**
           * The textarea's autofocus attribute.
           * @default false
diff --git a/libraries/ui-library/src/components/six-alert/six-alert.scss b/libraries/ui-library/src/components/six-alert/six-alert.scss
index 913b4c722..920f00792 100644
--- a/libraries/ui-library/src/components/six-alert/six-alert.scss
+++ b/libraries/ui-library/src/components/six-alert/six-alert.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import 'src/global/mixins/hidden';
+@use 'src/global/component';
+@use 'src/global/mixins/hidden' as *;
 
 /**
  * @prop --box-shadow: The alert's box shadow.
diff --git a/libraries/ui-library/src/components/six-avatar/six-avatar.scss b/libraries/ui-library/src/components/six-avatar/six-avatar.scss
index 074f34b40..b647c639e 100644
--- a/libraries/ui-library/src/components/six-avatar/six-avatar.scss
+++ b/libraries/ui-library/src/components/six-avatar/six-avatar.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --size: The size of the avatar.
diff --git a/libraries/ui-library/src/components/six-badge/six-badge.scss b/libraries/ui-library/src/components/six-badge/six-badge.scss
index 0f1a5b564..8676ba4ed 100644
--- a/libraries/ui-library/src/components/six-badge/six-badge.scss
+++ b/libraries/ui-library/src/components/six-badge/six-badge.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-flex;
diff --git a/libraries/ui-library/src/components/six-breadcrumbs-item/six-breadcrumbs-item.scss b/libraries/ui-library/src/components/six-breadcrumbs-item/six-breadcrumbs-item.scss
index 81bbd7a50..1da6cfa26 100644
--- a/libraries/ui-library/src/components/six-breadcrumbs-item/six-breadcrumbs-item.scss
+++ b/libraries/ui-library/src/components/six-breadcrumbs-item/six-breadcrumbs-item.scss
@@ -1,4 +1,4 @@
-@import '../../../src/global/component';
+@use '../../../src/global/component';
 
 /**
 * @prop --separator-color: The color of the separator
diff --git a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.scss b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.scss
index 22ab9abe7..892b72488 100644
--- a/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.scss
+++ b/libraries/ui-library/src/components/six-breadcrumbs/six-breadcrumbs.scss
@@ -1,4 +1,4 @@
-@import '../../../src/global/component';
+@use '../../../src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-button/six-button.scss b/libraries/ui-library/src/components/six-button/six-button.scss
index 0146d50f9..a07495eff 100644
--- a/libraries/ui-library/src/components/six-button/six-button.scss
+++ b/libraries/ui-library/src/components/six-button/six-button.scss
@@ -1,4 +1,4 @@
-@import '../../../src/global/component';
+@use '../../../src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-card/six-card.scss b/libraries/ui-library/src/components/six-card/six-card.scss
index b20c5de76..bdc910d1a 100644
--- a/libraries/ui-library/src/components/six-card/six-card.scss
+++ b/libraries/ui-library/src/components/six-card/six-card.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-checkbox/six-checkbox.scss b/libraries/ui-library/src/components/six-checkbox/six-checkbox.scss
index a905cfa5a..9761a7c6d 100644
--- a/libraries/ui-library/src/components/six-checkbox/six-checkbox.scss
+++ b/libraries/ui-library/src/components/six-checkbox/six-checkbox.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use 'src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-date/readme.md b/libraries/ui-library/src/components/six-date/readme.md
index 238f18079..4b4ff94f8 100644
--- a/libraries/ui-library/src/components/six-date/readme.md
+++ b/libraries/ui-library/src/components/six-date/readme.md
@@ -13,7 +13,7 @@ A date picker component that allows users to select dates via a calendar popup o
 
 | Property         | Attribute          | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | Type                                   | Default        |
 | ---------------- | ------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------- | -------------- |
-| `allowedDates`   | `allowed-dates`    | Callback to determine which dates in the picker should be selectable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `(date: string) => boolean`            | `() => true`   |
+| `allowedDates`   | --                 | Callback to determine which dates in the picker should be selectable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             | `(date: string) => boolean`            | `() => true`   |
 | `clearable`      | `clearable`        | Set to true to add a clear button when the input is populated.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | `boolean`                              | `false`        |
 | `dateFormat`     | `date-format`      | Defines the format pattern for displaying dates and how dates can be entered via keyboard.  The parser accepts flexible input that doesn't strictly match the format pattern. Input with missing leading zeros or incomplete years will be automatically normalized. For example, with the pattern "dd.MM.yyyy": "1.1.2025" becomes "01.01.2025" and "1.1.225" becomes "01.01.0225".  Defaults to "dd.MM.yyyy".  Available patterns: - Year: "yyyy" (e.g., "2021") - Month: "MM" (e.g., "01" for January) or "M" (e.g., "1" for January) - Day: "dd" (e.g., "08" for the 8th) or "d" (e.g., "8" for the 8th)  Examples: - "dd.MM.yyyy" -> "31.01.2024" - "yyyy-MM-dd" -> "2024-01-31" - "d.M.yyyy" -> "31.1.2024" | `string`                               | `'dd.MM.yyyy'` |
 | `disabled`       | `disabled`         | If `true` the component is disabled.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              | `boolean`                              | `false`        |
diff --git a/libraries/ui-library/src/components/six-date/six-date.scss b/libraries/ui-library/src/components/six-date/six-date.scss
index 5eec227f9..603c2ee06 100644
--- a/libraries/ui-library/src/components/six-date/six-date.scss
+++ b/libraries/ui-library/src/components/six-date/six-date.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-datepicker/readme.md b/libraries/ui-library/src/components/six-datepicker/readme.md
index ef4671f2b..6be05148e 100644
--- a/libraries/ui-library/src/components/six-datepicker/readme.md
+++ b/libraries/ui-library/src/components/six-datepicker/readme.md
@@ -11,35 +11,35 @@ The six-datepicker component is deprecated. Please use the [six-date](./six-date
 
 ## Properties
 
-| Property            | Attribute            | Description                                                                                                                                                                                                                                                                                                                      | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Default                      |
-| ------------------- | -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
-| `allowedDates`      | `allowed-dates`      | Callback to determine which date in the datepicker should be selectable. the callback function will get a datestring as an argument, e.g. '2021-07-04'  Usage e.g.: const datepicker = document.getElementById('allowed-date-picker'); datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0; | `(date: Date) => boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `() => true`                 |
-| `clearable`         | `clearable`          | Set to true to add a clear button when the input is populated.                                                                                                                                                                                                                                                                   | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `closeOnSelect`     | `close-on-select`    | Closes the datepicker dropdown after selection                                                                                                                                                                                                                                                                                   | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `this.type === 'date'`       |
-| `containingElement` | `containing-element` | The dropdown will close when the user interacts outside of this element (e.g. clicking).                                                                                                                                                                                                                                         | `HTMLElement \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `undefined`                  |
-| `dateFormat`        | `date-format`        | Define the dateFormat. Valid formats are: 'dd.mm.yyyy' 'yyyy-mm-dd' 'dd-mm-yyyy' 'dd/mm/yyyy' 'yyyy/mm/dd' 'dd.mm.yy' 'yy-mm-dd' 'dd-mm-yy' 'dd/mm/yy' 'yy/mm/dd'                                                                                                                                                                | `SixDateFormats.DDMMYYYY_DASH \| SixDateFormats.DDMMYYYY_DASH_TIME \| SixDateFormats.DDMMYYYY_SLASH \| SixDateFormats.DDMMYYYY_SLASH_TIME \| SixDateFormats.DDMMYYY_DOT \| SixDateFormats.DDMMYYY_DOT_TIME \| SixDateFormats.DDMMYY_DASH \| SixDateFormats.DDMMYY_DASH_TIME \| SixDateFormats.DDMMYY_DOT \| SixDateFormats.DDMMYY_DOT_TIME \| SixDateFormats.DDMMYY_SLASH \| SixDateFormats.DDMMYY_SLASH_TIME \| SixDateFormats.YYMMDD_DASH \| SixDateFormats.YYMMDD_DASH_TIME \| SixDateFormats.YYMMDD_SLASH \| SixDateFormats.YYMMDD_SLASH_TIME \| SixDateFormats.YYYYMMDD_DASH \| SixDateFormats.YYYYMMDD_DASH_TIME \| SixDateFormats.YYYYMMDD_SLASH \| SixDateFormats.YYYYMMDD_SLASH_TIME` | `SixDateFormats.DDMMYYY_DOT` |
-| `debounce`          | `debounce`           | Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.                                                                                                                                                                                                                         | `number`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `DEFAULT_DEBOUNCE_FAST`      |
-| `defaultDate`       | `default-date`       | The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).                                                                                                                                                                                                                      | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
-| `disabled`          | `disabled`           | If `true` the component is disabled.                                                                                                                                                                                                                                                                                             | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `errorText`         | `error-text`         | The error message shown, if `invalid` is set to true.                                                                                                                                                                                                                                                                            | `string \| string[]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `''`                         |
-| `errorTextCount`    | `error-text-count`   | The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1                                                                                                                                                                                                                                         | `number \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
-| `hoist`             | `hoist`              | Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto\|scroll`.                                                                                                                                                                                        | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `iconPosition`      | `icon-position`      | Set the position of the icon                                                                                                                                                                                                                                                                                                     | `"left" \| "right"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `'left'`                     |
-| `inline`            | `inline`             | Indicates whether or not the calendar should be shown as an inline (always open) component                                                                                                                                                                                                                                       | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `invalid`           | `invalid`            | If this property is set to true and an error message is provided by `errorText`, the error message is displayed.                                                                                                                                                                                                                 | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `label`             | `label`              | The label text.                                                                                                                                                                                                                                                                                                                  | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `''`                         |
-| `locale`            | `locale`             | The language used to render the weekdays and months.                                                                                                                                                                                                                                                                             | `"de" \| "en" \| "es" \| "fr" \| "it"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `'en'`                       |
-| `max`               | `max`                | The maximum datetime allowed. Value must be a date object                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
-| `min`               | `min`                | The minimum datetime allowed. Value must be a date object                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
-| `name`              | `name`               | The input's name attribute.                                                                                                                                                                                                                                                                                                      | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `''`                         |
-| `open`              | `open`               | Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods.                                                                                                                                                                                                            | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `placeholder`       | `placeholder`        | The placeholder defines what text to be shown on the input element                                                                                                                                                                                                                                                               | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
-| `placement`         | `placement`          | The enforced placement of the dropdown panel.                                                                                                                                                                                                                                                                                    | `"bottom" \| "top" \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `undefined`                  |
-| `readonly`          | `readonly`           | If `true` the user can only select a date via the component in the popup, but not directly edit the input field.                                                                                                                                                                                                                 | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `required`          | `required`           | Set to true to show an asterisk beneath the label.                                                                                                                                                                                                                                                                               | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
-| `size`              | `size`               | Datepicker size.                                                                                                                                                                                                                                                                                                                 | `"large" \| "medium" \| "small"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `'medium'`                   |
-| `type`              | `type`               | Set the type.                                                                                                                                                                                                                                                                                                                    | `"date" \| "date-time"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `'date'`                     |
-| `value`             | `value`              | The value of the form field, which accepts a date object.                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
+| Property            | Attribute          | Description                                                                                                                                                                                                                                                                                                                      | Type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | Default                      |
+| ------------------- | ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
+| `allowedDates`      | --                 | Callback to determine which date in the datepicker should be selectable. the callback function will get a datestring as an argument, e.g. '2021-07-04'  Usage e.g.: const datepicker = document.getElementById('allowed-date-picker'); datepicker.allowedDates = datestring => parseInt(datestring.split('-')[2], 10) % 2 === 0; | `(date: Date) => boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `() => true`                 |
+| `clearable`         | `clearable`        | Set to true to add a clear button when the input is populated.                                                                                                                                                                                                                                                                   | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `closeOnSelect`     | `close-on-select`  | Closes the datepicker dropdown after selection                                                                                                                                                                                                                                                                                   | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `this.type === 'date'`       |
+| `containingElement` | --                 | The dropdown will close when the user interacts outside of this element (e.g. clicking).                                                                                                                                                                                                                                         | `HTMLElement \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     | `undefined`                  |
+| `dateFormat`        | `date-format`      | Define the dateFormat. Valid formats are: 'dd.mm.yyyy' 'yyyy-mm-dd' 'dd-mm-yyyy' 'dd/mm/yyyy' 'yyyy/mm/dd' 'dd.mm.yy' 'yy-mm-dd' 'dd-mm-yy' 'dd/mm/yy' 'yy/mm/dd'                                                                                                                                                                | `SixDateFormats.DDMMYYYY_DASH \| SixDateFormats.DDMMYYYY_DASH_TIME \| SixDateFormats.DDMMYYYY_SLASH \| SixDateFormats.DDMMYYYY_SLASH_TIME \| SixDateFormats.DDMMYYY_DOT \| SixDateFormats.DDMMYYY_DOT_TIME \| SixDateFormats.DDMMYY_DASH \| SixDateFormats.DDMMYY_DASH_TIME \| SixDateFormats.DDMMYY_DOT \| SixDateFormats.DDMMYY_DOT_TIME \| SixDateFormats.DDMMYY_SLASH \| SixDateFormats.DDMMYY_SLASH_TIME \| SixDateFormats.YYMMDD_DASH \| SixDateFormats.YYMMDD_DASH_TIME \| SixDateFormats.YYMMDD_SLASH \| SixDateFormats.YYMMDD_SLASH_TIME \| SixDateFormats.YYYYMMDD_DASH \| SixDateFormats.YYYYMMDD_DASH_TIME \| SixDateFormats.YYYYMMDD_SLASH \| SixDateFormats.YYYYMMDD_SLASH_TIME` | `SixDateFormats.DDMMYYY_DOT` |
+| `debounce`          | `debounce`         | Set the amount of time, in milliseconds, to wait to trigger the `dateChange` event after each keystroke.                                                                                                                                                                                                                         | `number`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `DEFAULT_DEBOUNCE_FAST`      |
+| `defaultDate`       | `default-date`     | The date to defines where the datepicker popup starts. The prop accepts ISO 8601 date strings (YYYY-MM-DD).                                                                                                                                                                                                                      | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
+| `disabled`          | `disabled`         | If `true` the component is disabled.                                                                                                                                                                                                                                                                                             | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `errorText`         | `error-text`       | The error message shown, if `invalid` is set to true.                                                                                                                                                                                                                                                                            | `string \| string[]`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           | `''`                         |
+| `errorTextCount`    | `error-text-count` | The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1                                                                                                                                                                                                                                         | `number \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
+| `hoist`             | `hoist`            | Enable this option to prevent the panel from being clipped when the component is placed inside a container with `overflow: auto\|scroll`.                                                                                                                                                                                        | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `iconPosition`      | `icon-position`    | Set the position of the icon                                                                                                                                                                                                                                                                                                     | `"left" \| "right"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `'left'`                     |
+| `inline`            | `inline`           | Indicates whether or not the calendar should be shown as an inline (always open) component                                                                                                                                                                                                                                       | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `invalid`           | `invalid`          | If this property is set to true and an error message is provided by `errorText`, the error message is displayed.                                                                                                                                                                                                                 | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `label`             | `label`            | The label text.                                                                                                                                                                                                                                                                                                                  | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `''`                         |
+| `locale`            | `locale`           | The language used to render the weekdays and months.                                                                                                                                                                                                                                                                             | `"de" \| "en" \| "es" \| "fr" \| "it"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | `'en'`                       |
+| `max`               | --                 | The maximum datetime allowed. Value must be a date object                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
+| `min`               | --                 | The minimum datetime allowed. Value must be a date object                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
+| `name`              | `name`             | The input's name attribute.                                                                                                                                                                                                                                                                                                      | `string`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | `''`                         |
+| `open`              | `open`             | Indicates whether or not the calendar dropdown is open on startup. You can use this in lieu of the show/hide methods.                                                                                                                                                                                                            | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `placeholder`       | `placeholder`      | The placeholder defines what text to be shown on the input element                                                                                                                                                                                                                                                               | `string \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | `undefined`                  |
+| `placement`         | `placement`        | The enforced placement of the dropdown panel.                                                                                                                                                                                                                                                                                    | `"bottom" \| "top" \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `undefined`                  |
+| `readonly`          | `readonly`         | If `true` the user can only select a date via the component in the popup, but not directly edit the input field.                                                                                                                                                                                                                 | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `required`          | `required`         | Set to true to show an asterisk beneath the label.                                                                                                                                                                                                                                                                               | `boolean`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      | `false`                      |
+| `size`              | `size`             | Datepicker size.                                                                                                                                                                                                                                                                                                                 | `"large" \| "medium" \| "small"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               | `'medium'`                   |
+| `type`              | `type`             | Set the type.                                                                                                                                                                                                                                                                                                                    | `"date" \| "date-time"`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | `'date'`                     |
+| `value`             | --                 | The value of the form field, which accepts a date object.                                                                                                                                                                                                                                                                        | `Date \| undefined`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | `undefined`                  |
 
 
 ## Events
diff --git a/libraries/ui-library/src/components/six-datepicker/six-datepicker.scss b/libraries/ui-library/src/components/six-datepicker/six-datepicker.scss
index 17d0f1812..1f58daefb 100644
--- a/libraries/ui-library/src/components/six-datepicker/six-datepicker.scss
+++ b/libraries/ui-library/src/components/six-datepicker/six-datepicker.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-details/six-details.scss b/libraries/ui-library/src/components/six-details/six-details.scss
index 69e1222ea..898b40a25 100644
--- a/libraries/ui-library/src/components/six-details/six-details.scss
+++ b/libraries/ui-library/src/components/six-details/six-details.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --hide-duration: The length of the hide transition.
diff --git a/libraries/ui-library/src/components/six-details/six-details.tsx b/libraries/ui-library/src/components/six-details/six-details.tsx
index 07d8861f5..c919196c5 100644
--- a/libraries/ui-library/src/components/six-details/six-details.tsx
+++ b/libraries/ui-library/src/components/six-details/six-details.tsx
@@ -151,8 +151,7 @@ export class SixDetails {
     body.style.overflow = 'hidden';
 
     requestAnimationFrame(() => {
-      // tslint:disable-next-line: no-unused-expression
-      body.clientWidth; // force a reflow
+      void body.clientWidth; // force a reflow
       body.style.height = '0';
     });
 
diff --git a/libraries/ui-library/src/components/six-dialog/six-dialog.scss b/libraries/ui-library/src/components/six-dialog/six-dialog.scss
index 7c7ab9745..951e7d104 100644
--- a/libraries/ui-library/src/components/six-dialog/six-dialog.scss
+++ b/libraries/ui-library/src/components/six-dialog/six-dialog.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import 'src/global/mixins/hidden';
+@use 'src/global/component';
+@use 'src/global/mixins/hidden' as *;
 
 /**
  * @prop --width: The preferred width of the dialog. Note that the dialog will shrink to accommodate smaller screens.
diff --git a/libraries/ui-library/src/components/six-drawer/six-drawer.scss b/libraries/ui-library/src/components/six-drawer/six-drawer.scss
index a7d6c5e6b..3cd207cfc 100644
--- a/libraries/ui-library/src/components/six-drawer/six-drawer.scss
+++ b/libraries/ui-library/src/components/six-drawer/six-drawer.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import 'src/global/mixins/hidden';
+@use 'src/global/component';
+@use 'src/global/mixins/hidden' as *;
 
 /**
  * @prop --size: The preferred size of the drawer. This will be applied to the drawer's width or height depending on its
diff --git a/libraries/ui-library/src/components/six-dropdown/readme.md b/libraries/ui-library/src/components/six-dropdown/readme.md
index 0e1bceeb8..ae5394edf 100644
--- a/libraries/ui-library/src/components/six-dropdown/readme.md
+++ b/libraries/ui-library/src/components/six-dropdown/readme.md
@@ -12,7 +12,7 @@
 | `asyncFilter`                | `async-filter`                    | Set to true to allow async filtering. When you enter something in the search field the component will only emit an event but not filter any elements itself. You can then simply listen to the 'six-async-filter-fired' event to manage the shown menu-items yourself                                         | `boolean`                                                                                                                                                            | `false`          |
 | `autofocusFilter`            | `autofocus-filter`                | By default the search field will be focused when opening a dropdown with filtering enabled.                                                                                                                                                                                                                   | `boolean`                                                                                                                                                            | `true`           |
 | `closeOnSelect`              | `close-on-select`                 | Determines whether the dropdown should hide when a menu item is selected.                                                                                                                                                                                                                                     | `boolean`                                                                                                                                                            | `true`           |
-| `containingElement`          | `containing-element`              | The dropdown will close when the user interacts outside of this element (e.g. clicking).                                                                                                                                                                                                                      | `HTMLElement \| undefined`                                                                                                                                           | `undefined`      |
+| `containingElement`          | --                                | The dropdown will close when the user interacts outside of this element (e.g. clicking).                                                                                                                                                                                                                      | `HTMLElement \| undefined`                                                                                                                                           | `undefined`      |
 | `disableHideOnEnterAndSpace` | `disable-hide-on-enter-and-space` | The panel can be opend/closed by pressing the spacebar or the enter key. In some cases you might want to avoid this                                                                                                                                                                                           | `boolean`                                                                                                                                                            | `false`          |
 | `disableTypeToSelect`        | `disable-type-to-select`          | A boolean flag that determines whether the type-to-select functionality is disabled. When set to `true`, users will not be able to select options by typing matching characters. When set to `false`, the type-to-select functionality remains enabled, allowing users to quickly navigate options by typing. | `boolean`                                                                                                                                                            | `false`          |
 | `distance`                   | `distance`                        | The distance in pixels from which to offset the panel away from its trigger.                                                                                                                                                                                                                                  | `number`                                                                                                                                                             | `4`              |
@@ -23,7 +23,7 @@
 | `matchTriggerWidth`          | `match-trigger-width`             | Determines if the dropdown panel's width should match the width of the trigger element.  If set to `true`, the panel will resize its width to align with the trigger's width. If `false` or omitted, the panel will maintain its default width.                                                               | `boolean`                                                                                                                                                            | `false`          |
 | `noScroll`                   | `no-scroll`                       | Set to true if you want to disable the default dropdown panel scroll behavior.                                                                                                                                                                                                                                | `boolean`                                                                                                                                                            | `false`          |
 | `open`                       | `open`                            | Indicates whether the dropdown is open. You can use this in lieu of the show/hide methods.                                                                                                                                                                                                                    | `boolean`                                                                                                                                                            | `false`          |
-| `options`                    | `options`                         | Set the options to be shown in the dropdown (alternative to setting the elements via html)                                                                                                                                                                                                                    | `SixMenuItemData[]`                                                                                                                                                  | `[]`             |
+| `options`                    | --                                | Set the options to be shown in the dropdown (alternative to setting the elements via html)                                                                                                                                                                                                                    | `SixMenuItemData[]`                                                                                                                                                  | `[]`             |
 | `placement`                  | `placement`                       | The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel inside the viewport.                                                                                                                                                                       | `"bottom" \| "bottom-end" \| "bottom-start" \| "left" \| "left-end" \| "left-start" \| "right" \| "right-end" \| "right-start" \| "top" \| "top-end" \| "top-start"` | `'bottom-start'` |
 | `skidding`                   | `skidding`                        | The distance in pixels from which to offset the panel along its trigger.                                                                                                                                                                                                                                      | `number`                                                                                                                                                             | `0`              |
 | `virtualScroll`              | `virtual-scroll`                  | Defines whether the menu list will be rendered virtually i.e. only the elements actually shown (and a couple around) are actually rendered in the DOM. If you use virtual scrolling pass the elements via prop instead of via slot.                                                                           | `boolean`                                                                                                                                                            | `false`          |
diff --git a/libraries/ui-library/src/components/six-dropdown/six-dropdown.scss b/libraries/ui-library/src/components/six-dropdown/six-dropdown.scss
index 003bd4068..ff4317c00 100644
--- a/libraries/ui-library/src/components/six-dropdown/six-dropdown.scss
+++ b/libraries/ui-library/src/components/six-dropdown/six-dropdown.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import 'src/global/mixins/scrollbar';
+@use 'src/global/component';
+@use 'src/global/mixins/scrollbar' as *;
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-error-page/readme.md b/libraries/ui-library/src/components/six-error-page/readme.md
index 892e6ca57..3ba64aba9 100644
--- a/libraries/ui-library/src/components/six-error-page/readme.md
+++ b/libraries/ui-library/src/components/six-error-page/readme.md
@@ -7,13 +7,13 @@
 
 ## Properties
 
-| Property            | Attribute            | Description                                                                        | Type                             | Default     |
-| ------------------- | -------------------- | ---------------------------------------------------------------------------------- | -------------------------------- | ----------- |
-| `customDescription` | `custom-description` | Defines a custom description.                                                      | `string[] \| undefined`          | `undefined` |
-| `customIcon`        | `custom-icon`        | Defines a custom icon.                                                             | `string \| undefined`            | `undefined` |
-| `customTitle`       | `custom-title`       | Defines a custom title.                                                            | `string \| undefined`            | `undefined` |
-| `errorCode`         | `error-code`         | Defines error Code and thus displays the proper error page.                        | `403 \| 404 \| 500 \| undefined` | `undefined` |
-| `language`          | `language`           | Defines language and thus displays the proper error page in the selected language. | `"de" \| "en"`                   | `'en'`      |
+| Property            | Attribute      | Description                                                                        | Type                             | Default     |
+| ------------------- | -------------- | ---------------------------------------------------------------------------------- | -------------------------------- | ----------- |
+| `customDescription` | --             | Defines a custom description.                                                      | `string[] \| undefined`          | `undefined` |
+| `customIcon`        | `custom-icon`  | Defines a custom icon.                                                             | `string \| undefined`            | `undefined` |
+| `customTitle`       | `custom-title` | Defines a custom title.                                                            | `string \| undefined`            | `undefined` |
+| `errorCode`         | `error-code`   | Defines error Code and thus displays the proper error page.                        | `403 \| 404 \| 500 \| undefined` | `undefined` |
+| `language`          | `language`     | Defines language and thus displays the proper error page in the selected language. | `"de" \| "en"`                   | `'en'`      |
 
 
 ## Shadow Parts
diff --git a/libraries/ui-library/src/components/six-file-upload/six-file-upload.scss b/libraries/ui-library/src/components/six-file-upload/six-file-upload.scss
index c6dd71eb8..8d211857e 100644
--- a/libraries/ui-library/src/components/six-file-upload/six-file-upload.scss
+++ b/libraries/ui-library/src/components/six-file-upload/six-file-upload.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 $over-color: var(--six-color-action-light-to-be-defined);
 $disabled-color: var(--six-color-inactive);
diff --git a/libraries/ui-library/src/components/six-footer/six-footer.scss b/libraries/ui-library/src/components/six-footer/six-footer.scss
index d3adff2ac..15b903a8f 100644
--- a/libraries/ui-library/src/components/six-footer/six-footer.scss
+++ b/libraries/ui-library/src/components/six-footer/six-footer.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-group-label/six-group-label.scss b/libraries/ui-library/src/components/six-group-label/six-group-label.scss
index 03fcc6c96..61a75ad7c 100644
--- a/libraries/ui-library/src/components/six-group-label/six-group-label.scss
+++ b/libraries/ui-library/src/components/six-group-label/six-group-label.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use 'src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-header/six-header.scss b/libraries/ui-library/src/components/six-header/six-header.scss
index cef9c30cc..a5f57402f 100644
--- a/libraries/ui-library/src/components/six-header/six-header.scss
+++ b/libraries/ui-library/src/components/six-header/six-header.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-icon-button/six-icon-button.scss b/libraries/ui-library/src/components/six-icon-button/six-icon-button.scss
index 400b03572..d762bf63a 100644
--- a/libraries/ui-library/src/components/six-icon-button/six-icon-button.scss
+++ b/libraries/ui-library/src/components/six-icon-button/six-icon-button.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-input/readme.md b/libraries/ui-library/src/components/six-input/readme.md
index bf982ef1f..091af3914 100644
--- a/libraries/ui-library/src/components/six-input/readme.md
+++ b/libraries/ui-library/src/components/six-input/readme.md
@@ -13,7 +13,7 @@ Inputs collect data from the user.
 | ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ----------- |
 | `autocapitalize` | `autocapitalize`   | The input's autocaptialize attribute.                                                                            | `string`                                                                                           | `'off'`     |
 | `autocomplete`   | `autocomplete`     | The input's autocomplete attribute.                                                                              | `string`                                                                                           | `'off'`     |
-| `autocorrect`    | `autocorrect`      | The input's autocorrect attribute.                                                                               | `"off" \| "on"`                                                                                    | `'off'`     |
+| `autocorrect`    | `autocorrect`      | The input's autocorrect attribute.                                                                               | `boolean`                                                                                          | `false`     |
 | `autofocus`      | `autofocus`        | The input's autofocus attribute.                                                                                 | `boolean`                                                                                          | `false`     |
 | `clearable`      | `clearable`        | Set to true to add a clear button when the input is populated.                                                   | `boolean`                                                                                          | `false`     |
 | `disabled`       | `disabled`         | Set to true to disable the input.                                                                                | `boolean`                                                                                          | `false`     |
diff --git a/libraries/ui-library/src/components/six-input/six-input.scss b/libraries/ui-library/src/components/six-input/six-input.scss
index 4c3d61e85..880894694 100644
--- a/libraries/ui-library/src/components/six-input/six-input.scss
+++ b/libraries/ui-library/src/components/six-input/six-input.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use 'src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-input/six-input.tsx b/libraries/ui-library/src/components/six-input/six-input.tsx
index 77e684ef6..7d8fdcecd 100644
--- a/libraries/ui-library/src/components/six-input/six-input.tsx
+++ b/libraries/ui-library/src/components/six-input/six-input.tsx
@@ -125,7 +125,7 @@ export class SixInput {
   @Prop() autocapitalize = 'off';
 
   /** The input's autocorrect attribute. */
-  @Prop() autocorrect: 'on' | 'off' = 'off';
+  @Prop() autocorrect = false;
 
   /** The input's autocomplete attribute. */
   @Prop() autocomplete = 'off';
@@ -391,7 +391,7 @@ export class SixInput {
             value={this.getValue()}
             autoCapitalize={this.autocapitalize}
             autoComplete={this.autocomplete}
-            autoCorrect={this.autocorrect}
+            autoCorrect={this.autocorrect ? 'on' : 'off'}
             autoFocus={this.autofocus}
             spellcheck={this.spellcheck}
             pattern={this.pattern}
diff --git a/libraries/ui-library/src/components/six-item-picker/readme.md b/libraries/ui-library/src/components/six-item-picker/readme.md
index b7401030c..23d372b62 100644
--- a/libraries/ui-library/src/components/six-item-picker/readme.md
+++ b/libraries/ui-library/src/components/six-item-picker/readme.md
@@ -11,7 +11,7 @@
 | ------------------ | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------- |
 | `debounce`         | `debounce`          | Set the amount of time, in milliseconds, to wait to trigger the `six-item-picker-change-debounced` event. If you want your change debounce event to not trigger when keeping the nav button pressed before, make sure debounce is a bit bigger than timeout, otherwise keeping the button pressed will trigger the event twice: once you click (and keep pressed) and once you release | `number`                                                                                                                                  | `DEFAULT_DEBOUNCE_FAST`             |
 | `interval`         | `interval`          | Set the amount of time, in milliseconds, to wait between switching to next item when mouse button is held pressed.                                                                                                                                                                                                                                                                     | `number`                                                                                                                                  | `DEFAULT_DEBOUNCE_INSANELY_FAST`    |
-| `items`            | `items`             | Defines a custom list of items you can iterate through                                                                                                                                                                                                                                                                                                                                 | `string[] \| undefined`                                                                                                                   | `undefined`                         |
+| `items`            | --                  | Defines a custom list of items you can iterate through                                                                                                                                                                                                                                                                                                                                 | `string[] \| undefined`                                                                                                                   | `undefined`                         |
 | `max`              | `max`               | The maximum value allowed to pick.                                                                                                                                                                                                                                                                                                                                                     | `number \| string \| undefined`                                                                                                           | `undefined`                         |
 | `min`              | `min`               | The minimum value allowed to pick.                                                                                                                                                                                                                                                                                                                                                     | `number \| string \| undefined`                                                                                                           | `undefined`                         |
 | `padded`           | `padded`            | Defines whether the items should be padded                                                                                                                                                                                                                                                                                                                                             | `boolean`                                                                                                                                 | `false`                             |
diff --git a/libraries/ui-library/src/components/six-language-switcher/readme.md b/libraries/ui-library/src/components/six-language-switcher/readme.md
index b62ba59c0..d629c4d59 100644
--- a/libraries/ui-library/src/components/six-language-switcher/readme.md
+++ b/libraries/ui-library/src/components/six-language-switcher/readme.md
@@ -7,10 +7,10 @@
 
 ## Properties
 
-| Property    | Attribute   | Description                                       | Type                                     | Default             |
-| ----------- | ----------- | ------------------------------------------------- | ---------------------------------------- | ------------------- |
-| `languages` | `languages` | The languages which should be selectable options. | `SixLanguageSwitcherInput[] \| string[]` | `DEFAULT_LANGUAGES` |
-| `selected`  | `selected`  | The language which should be shown as selected    | `string \| undefined`                    | `undefined`         |
+| Property    | Attribute  | Description                                       | Type                                     | Default             |
+| ----------- | ---------- | ------------------------------------------------- | ---------------------------------------- | ------------------- |
+| `languages` | --         | The languages which should be selectable options. | `SixLanguageSwitcherInput[] \| string[]` | `DEFAULT_LANGUAGES` |
+| `selected`  | `selected` | The language which should be shown as selected    | `string \| undefined`                    | `undefined`         |
 
 
 ## Events
diff --git a/libraries/ui-library/src/components/six-menu-divider/six-menu-divider.scss b/libraries/ui-library/src/components/six-menu-divider/six-menu-divider.scss
index 59f3a3e0f..33b5f9d73 100644
--- a/libraries/ui-library/src/components/six-menu-divider/six-menu-divider.scss
+++ b/libraries/ui-library/src/components/six-menu-divider/six-menu-divider.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-menu-item/six-menu-item.scss b/libraries/ui-library/src/components/six-menu-item/six-menu-item.scss
index 8eb9b79fe..e39ee9ae9 100644
--- a/libraries/ui-library/src/components/six-menu-item/six-menu-item.scss
+++ b/libraries/ui-library/src/components/six-menu-item/six-menu-item.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-menu-label/six-menu-label.scss b/libraries/ui-library/src/components/six-menu-label/six-menu-label.scss
index 9c911fa91..7118a1040 100644
--- a/libraries/ui-library/src/components/six-menu-label/six-menu-label.scss
+++ b/libraries/ui-library/src/components/six-menu-label/six-menu-label.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-menu/readme.md b/libraries/ui-library/src/components/six-menu/readme.md
index 2676958e6..7c441f54d 100644
--- a/libraries/ui-library/src/components/six-menu/readme.md
+++ b/libraries/ui-library/src/components/six-menu/readme.md
@@ -11,7 +11,7 @@
 | ------------------------- | --------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ----------- |
 | `disableKeyboardHandling` | `disable-keyboard-handling` | Internal: Disables handling of key presses.                                                                                                                                                                                         | `boolean`                   | `false`     |
 | `itemSize`                | `item-size`                 | Used for virtual scrolling Define how many items should be rendered in the DOM when using virtual scrolling                                                                                                                         | `number`                    | `10`        |
-| `items`                   | `items`                     | Set the options to be shown in the dropdown                                                                                                                                                                                         | `SixMenuItemData[] \| null` | `null`      |
+| `items`                   | --                          | Set the options to be shown in the dropdown                                                                                                                                                                                         | `SixMenuItemData[] \| null` | `null`      |
 | `itemsShown`              | `items-shown`               | Defines how many items should be shown. If the number of items is larger than this property a scrollbar will be shown                                                                                                               | `number \| undefined`       | `undefined` |
 | `removeBoxShadow`         | `remove-box-shadow`         | Set to true to remove the box-shadow                                                                                                                                                                                                | `boolean`                   | `false`     |
 | `scrollingDebounce`       | `scrolling-debounce`        | Used for virtual scrolling Define the debounce for listening on scrolling changes in milliseconds. The lower the number the more sensitive the component reacts to scrolling changes.                                               | `number`                    | `15`        |
diff --git a/libraries/ui-library/src/components/six-menu/six-menu.scss b/libraries/ui-library/src/components/six-menu/six-menu.scss
index 1d75ac1ec..89eeef4d9 100644
--- a/libraries/ui-library/src/components/six-menu/six-menu.scss
+++ b/libraries/ui-library/src/components/six-menu/six-menu.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-progress-bar/six-progress-bar.scss b/libraries/ui-library/src/components/six-progress-bar/six-progress-bar.scss
index 846f5e548..a4041de87 100644
--- a/libraries/ui-library/src/components/six-progress-bar/six-progress-bar.scss
+++ b/libraries/ui-library/src/components/six-progress-bar/six-progress-bar.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --height: The progress bar's height.
diff --git a/libraries/ui-library/src/components/six-progress-ring/six-progress-ring.scss b/libraries/ui-library/src/components/six-progress-ring/six-progress-ring.scss
index fc3172c65..7e4c2bb02 100644
--- a/libraries/ui-library/src/components/six-progress-ring/six-progress-ring.scss
+++ b/libraries/ui-library/src/components/six-progress-ring/six-progress-ring.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --track-color: The track color.
diff --git a/libraries/ui-library/src/components/six-radio/six-radio.scss b/libraries/ui-library/src/components/six-radio/six-radio.scss
index 6741c0e66..9f29167e9 100644
--- a/libraries/ui-library/src/components/six-radio/six-radio.scss
+++ b/libraries/ui-library/src/components/six-radio/six-radio.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-range/readme.md b/libraries/ui-library/src/components/six-range/readme.md
index 1f873ccff..41558a612 100644
--- a/libraries/ui-library/src/components/six-range/readme.md
+++ b/libraries/ui-library/src/components/six-range/readme.md
@@ -7,22 +7,22 @@
 
 ## Properties
 
-| Property           | Attribute           | Description                                                                                                      | Type                          | Default                               |
-| ------------------ | ------------------- | ---------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------------------- |
-| `disabled`         | `disabled`          | Set to true to disable the input.                                                                                | `boolean`                     | `false`                               |
-| `errorText`        | `error-text`        | The error message shown, if `invalid` is set to true.                                                            | `string \| string[]`          | `''`                                  |
-| `errorTextCount`   | `error-text-count`  | The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1                         | `number \| undefined`         | `undefined`                           |
-| `helpText`         | `help-text`         | The range's help text. Alternatively, you can use the help-text slot.                                            | `string`                      | `''`                                  |
-| `invalid`          | `invalid`           | If this property is set to true and an error message is provided by `errorText`, the error message is displayed. | `boolean`                     | `false`                               |
-| `label`            | `label`             | The label text.                                                                                                  | `string`                      | `''`                                  |
-| `max`              | `max`               | The input's max attribute.                                                                                       | `number`                      | `100`                                 |
-| `min`              | `min`               | The input's min attribute.                                                                                       | `number`                      | `0`                                   |
-| `name`             | `name`              | The input's name attribute.                                                                                      | `string`                      | `''`                                  |
-| `required`         | `required`          | Set to true to show an asterisk beneath the label.                                                               | `boolean`                     | `false`                               |
-| `step`             | `step`              | The input's step attribute.                                                                                      | `number`                      | `1`                                   |
-| `tooltip`          | `tooltip`           | The preferred placedment of the tooltip.                                                                         | `"bottom" \| "none" \| "top"` | `'top'`                               |
-| `tooltipFormatter` | `tooltip-formatter` | A function used to format the tooltip's value.                                                                   | `(value: number) => string`   | `(value: number) => value.toString()` |
-| `value`            | `value`             | The input's value attribute.                                                                                     | `number`                      | `0`                                   |
+| Property           | Attribute          | Description                                                                                                      | Type                          | Default                               |
+| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | ----------------------------- | ------------------------------------- |
+| `disabled`         | `disabled`         | Set to true to disable the input.                                                                                | `boolean`                     | `false`                               |
+| `errorText`        | `error-text`       | The error message shown, if `invalid` is set to true.                                                            | `string \| string[]`          | `''`                                  |
+| `errorTextCount`   | `error-text-count` | The number of error texts to be shown (if the error-text slot isn't used). Defaults to 1                         | `number \| undefined`         | `undefined`                           |
+| `helpText`         | `help-text`        | The range's help text. Alternatively, you can use the help-text slot.                                            | `string`                      | `''`                                  |
+| `invalid`          | `invalid`          | If this property is set to true and an error message is provided by `errorText`, the error message is displayed. | `boolean`                     | `false`                               |
+| `label`            | `label`            | The label text.                                                                                                  | `string`                      | `''`                                  |
+| `max`              | `max`              | The input's max attribute.                                                                                       | `number`                      | `100`                                 |
+| `min`              | `min`              | The input's min attribute.                                                                                       | `number`                      | `0`                                   |
+| `name`             | `name`             | The input's name attribute.                                                                                      | `string`                      | `''`                                  |
+| `required`         | `required`         | Set to true to show an asterisk beneath the label.                                                               | `boolean`                     | `false`                               |
+| `step`             | `step`             | The input's step attribute.                                                                                      | `number`                      | `1`                                   |
+| `tooltip`          | `tooltip`          | The preferred placedment of the tooltip.                                                                         | `"bottom" \| "none" \| "top"` | `'top'`                               |
+| `tooltipFormatter` | --                 | A function used to format the tooltip's value.                                                                   | `(value: number) => string`   | `(value: number) => value.toString()` |
+| `value`            | `value`            | The input's value attribute.                                                                                     | `number`                      | `0`                                   |
 
 
 ## Events
diff --git a/libraries/ui-library/src/components/six-range/six-range.scss b/libraries/ui-library/src/components/six-range/six-range.scss
index aa3c41df2..bb554201f 100644
--- a/libraries/ui-library/src/components/six-range/six-range.scss
+++ b/libraries/ui-library/src/components/six-range/six-range.scss
@@ -1,5 +1,5 @@
-@import '../../../src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use '../../../src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 :host {
   --thumb-size: 14px;
diff --git a/libraries/ui-library/src/components/six-rating/six-rating.scss b/libraries/ui-library/src/components/six-rating/six-rating.scss
index 8325e0ea2..b6cf0625f 100644
--- a/libraries/ui-library/src/components/six-rating/six-rating.scss
+++ b/libraries/ui-library/src/components/six-rating/six-rating.scss
@@ -1,5 +1,5 @@
-@import '../../../src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use '../../../src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 :host {
   --six-rating-color: var(--six-color-web-rock-500);
diff --git a/libraries/ui-library/src/components/six-root/six-root.scss b/libraries/ui-library/src/components/six-root/six-root.scss
index 3e55c44c8..91aaeeb6a 100644
--- a/libraries/ui-library/src/components/six-root/six-root.scss
+++ b/libraries/ui-library/src/components/six-root/six-root.scss
@@ -1,4 +1,4 @@
-@import 'src/global/mixins/scrollbar';
+@use 'src/global/mixins/scrollbar' as *;
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-search-field/six-search-field.scss b/libraries/ui-library/src/components/six-search-field/six-search-field.scss
index 2b8eeeac4..50de058ff 100644
--- a/libraries/ui-library/src/components/six-search-field/six-search-field.scss
+++ b/libraries/ui-library/src/components/six-search-field/six-search-field.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-select/readme.md b/libraries/ui-library/src/components/six-select/readme.md
index 286879041..9c93b457a 100644
--- a/libraries/ui-library/src/components/six-select/readme.md
+++ b/libraries/ui-library/src/components/six-select/readme.md
@@ -26,7 +26,7 @@
 | `line`              | `line`               | Set to render as line                                                                                                                                                                                                                                                 | `boolean`                        | `false`                 |
 | `multiple`          | `multiple`           | Set to true to enable multiselect.                                                                                                                                                                                                                                    | `boolean`                        | `false`                 |
 | `name`              | `name`               | The select's name.                                                                                                                                                                                                                                                    | `string`                         | `''`                    |
-| `options`           | `options`            | Set the options to be shown in the dropdown (alternative to setting the elements via html)                                                                                                                                                                            | `SixMenuItemData[] \| null`      | `null`                  |
+| `options`           | --                   | Set the options to be shown in the dropdown (alternative to setting the elements via html)                                                                                                                                                                            | `SixMenuItemData[] \| null`      | `null`                  |
 | `pill`              | `pill`               | Set to true to draw a pill-style select with rounded edges.                                                                                                                                                                                                           | `boolean`                        | `false`                 |
 | `placeholder`       | `placeholder`        | The select's placeholder text.                                                                                                                                                                                                                                        | `string`                         | `''`                    |
 | `required`          | `required`           | Set to true to show an asterisk beneath the label.                                                                                                                                                                                                                    | `boolean`                        | `false`                 |
diff --git a/libraries/ui-library/src/components/six-select/six-select.scss b/libraries/ui-library/src/components/six-select/six-select.scss
index 996ad289b..69d6835a7 100644
--- a/libraries/ui-library/src/components/six-select/six-select.scss
+++ b/libraries/ui-library/src/components/six-select/six-select.scss
@@ -1,7 +1,7 @@
-@import 'src/global/component';
-@import '../../functional-components/form-control/form-control';
-@import 'src/global/mixins/hidden';
-@import 'src/global/mixins/hide-scrollbar';
+@use 'src/global/component';
+@use '../../functional-components/form-control/form-control';
+@use 'src/global/mixins/hidden' as *;
+@use 'src/global/mixins/hide-scrollbar' as *;
 
 :host,
 .select {
diff --git a/libraries/ui-library/src/components/six-sidebar-item-group/six-sidebar-item-group.scss b/libraries/ui-library/src/components/six-sidebar-item-group/six-sidebar-item-group.scss
index b8256ca8b..20970a23b 100644
--- a/libraries/ui-library/src/components/six-sidebar-item-group/six-sidebar-item-group.scss
+++ b/libraries/ui-library/src/components/six-sidebar-item-group/six-sidebar-item-group.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-sidebar/six-sidebar.scss b/libraries/ui-library/src/components/six-sidebar/six-sidebar.scss
index 7fca7572f..576bc3adb 100644
--- a/libraries/ui-library/src/components/six-sidebar/six-sidebar.scss
+++ b/libraries/ui-library/src/components/six-sidebar/six-sidebar.scss
@@ -1,6 +1,6 @@
-@import 'src/global/component';
-@import 'src/global/mixins/hidden';
-@import 'src/global/mixins/scrollbar';
+@use 'src/global/component';
+@use 'src/global/mixins/hidden' as *;
+@use 'src/global/mixins/scrollbar' as *;
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-spinner/six-spinner.scss b/libraries/ui-library/src/components/six-spinner/six-spinner.scss
index f8ea16056..f6e913d03 100644
--- a/libraries/ui-library/src/components/six-spinner/six-spinner.scss
+++ b/libraries/ui-library/src/components/six-spinner/six-spinner.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --track-color: The color of the spinner's track.
diff --git a/libraries/ui-library/src/components/six-stage-indicator/six-stage-indicator.scss b/libraries/ui-library/src/components/six-stage-indicator/six-stage-indicator.scss
index b64e185bb..9866a357a 100644
--- a/libraries/ui-library/src/components/six-stage-indicator/six-stage-indicator.scss
+++ b/libraries/ui-library/src/components/six-stage-indicator/six-stage-indicator.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: grid;
diff --git a/libraries/ui-library/src/components/six-switch/six-switch.scss b/libraries/ui-library/src/components/six-switch/six-switch.scss
index 1cb6f2113..c28695edb 100644
--- a/libraries/ui-library/src/components/six-switch/six-switch.scss
+++ b/libraries/ui-library/src/components/six-switch/six-switch.scss
@@ -1,5 +1,5 @@
-@import '../../../src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use '../../../src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 /**
  * @prop --width: The width of the switch.
diff --git a/libraries/ui-library/src/components/six-tab-group/six-tab-group.scss b/libraries/ui-library/src/components/six-tab-group/six-tab-group.scss
index 9dcfe4c09..33e0dbbab 100644
--- a/libraries/ui-library/src/components/six-tab-group/six-tab-group.scss
+++ b/libraries/ui-library/src/components/six-tab-group/six-tab-group.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import 'src/global/mixins/hide-scrollbar';
+@use 'src/global/component';
+@use 'src/global/mixins/hide-scrollbar' as *;
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-tab-panel/six-tab-panel.scss b/libraries/ui-library/src/components/six-tab-panel/six-tab-panel.scss
index 91b49c01b..0f284d1b7 100644
--- a/libraries/ui-library/src/components/six-tab-panel/six-tab-panel.scss
+++ b/libraries/ui-library/src/components/six-tab-panel/six-tab-panel.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-tab/six-tab.scss b/libraries/ui-library/src/components/six-tab/six-tab.scss
index fdb520349..b5801c873 100644
--- a/libraries/ui-library/src/components/six-tab/six-tab.scss
+++ b/libraries/ui-library/src/components/six-tab/six-tab.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: flex;
diff --git a/libraries/ui-library/src/components/six-tag/six-tag.scss b/libraries/ui-library/src/components/six-tag/six-tag.scss
index 713f448fc..396d69a36 100644
--- a/libraries/ui-library/src/components/six-tag/six-tag.scss
+++ b/libraries/ui-library/src/components/six-tag/six-tag.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-textarea/readme.md b/libraries/ui-library/src/components/six-textarea/readme.md
index 428ba3fad..674a86c2a 100644
--- a/libraries/ui-library/src/components/six-textarea/readme.md
+++ b/libraries/ui-library/src/components/six-textarea/readme.md
@@ -11,7 +11,7 @@
 | ---------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------- | ------------ |
 | `autocapitalize` | `autocapitalize`   | The textarea's autocaptialize attribute.                                                                         | `string`                                                                                           | `'off'`      |
 | `autocomplete`   | `autocomplete`     | The textarea's autocomplete attribute.                                                                           | `string`                                                                                           | `'off'`      |
-| `autocorrect`    | `autocorrect`      | The textarea's autocorrect attribute.                                                                            | `"off" \| "on"`                                                                                    | `'off'`      |
+| `autocorrect`    | `autocorrect`      | The textarea's autocorrect attribute.                                                                            | `boolean`                                                                                          | `false`      |
 | `autofocus`      | `autofocus`        | The textarea's autofocus attribute.                                                                              | `boolean`                                                                                          | `false`      |
 | `disabled`       | `disabled`         | Set to true to disable the textarea.                                                                             | `boolean`                                                                                          | `false`      |
 | `errorText`      | `error-text`       | The error message shown, if `invalid` is set to true.                                                            | `string \| string[]`                                                                               | `''`         |
diff --git a/libraries/ui-library/src/components/six-textarea/six-textarea.scss b/libraries/ui-library/src/components/six-textarea/six-textarea.scss
index f78686a46..8a03bb477 100644
--- a/libraries/ui-library/src/components/six-textarea/six-textarea.scss
+++ b/libraries/ui-library/src/components/six-textarea/six-textarea.scss
@@ -1,5 +1,5 @@
-@import 'src/global/component';
-@import '../../functional-components/form-control/form-control';
+@use 'src/global/component';
+@use '../../functional-components/form-control/form-control';
 
 /**
  * @prop --height: The textarea height.
diff --git a/libraries/ui-library/src/components/six-textarea/six-textarea.tsx b/libraries/ui-library/src/components/six-textarea/six-textarea.tsx
index ffa8de3e3..e3a2cb341 100644
--- a/libraries/ui-library/src/components/six-textarea/six-textarea.tsx
+++ b/libraries/ui-library/src/components/six-textarea/six-textarea.tsx
@@ -95,7 +95,7 @@ export class SixTextarea {
   @Prop() autocapitalize = 'off';
 
   /** The textarea's autocorrect attribute. */
-  @Prop() autocorrect: 'on' | 'off' = 'off';
+  @Prop() autocorrect = false;
 
   /** The textarea's autocomplete attribute. */
   @Prop() autocomplete = 'off';
@@ -318,7 +318,7 @@ export class SixTextarea {
             maxLength={this.maxlength}
             value={this.getValue()}
             autoCapitalize={this.autocapitalize}
-            autoCorrect={this.autocorrect}
+            autoCorrect={this.autocorrect ? 'on' : 'off'}
             autoFocus={this.autofocus}
             spellcheck={this.spellcheck}
             required={this.required}
diff --git a/libraries/ui-library/src/components/six-tile/six-tile.scss b/libraries/ui-library/src/components/six-tile/six-tile.scss
index a35110334..2221ef84e 100644
--- a/libraries/ui-library/src/components/six-tile/six-tile.scss
+++ b/libraries/ui-library/src/components/six-tile/six-tile.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: inline-block;
diff --git a/libraries/ui-library/src/components/six-timepicker/six-timepicker.scss b/libraries/ui-library/src/components/six-timepicker/six-timepicker.scss
index 85abb8b4d..f1d9829b7 100644
--- a/libraries/ui-library/src/components/six-timepicker/six-timepicker.scss
+++ b/libraries/ui-library/src/components/six-timepicker/six-timepicker.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 :host {
   display: block;
diff --git a/libraries/ui-library/src/components/six-tooltip/six-tooltip.scss b/libraries/ui-library/src/components/six-tooltip/six-tooltip.scss
index 7dfd20313..96af2bcc2 100644
--- a/libraries/ui-library/src/components/six-tooltip/six-tooltip.scss
+++ b/libraries/ui-library/src/components/six-tooltip/six-tooltip.scss
@@ -1,4 +1,4 @@
-@import 'src/global/component';
+@use 'src/global/component';
 
 /**
  * @prop --hide-delay: The amount of time to wait before hiding the tooltip.
diff --git a/libraries/ui-library/src/index.ts b/libraries/ui-library/src/index.ts
index 6db11e2d0..465e34d35 100644
--- a/libraries/ui-library/src/index.ts
+++ b/libraries/ui-library/src/index.ts
@@ -1,5 +1,4 @@
 export { Components, JSX } from './components';
 export * from './utils/error-messages';
 export * from './utils/alert';
-
 export * from './utils/icon';
diff --git a/libraries/ui-library/src/utils/popover.ts b/libraries/ui-library/src/utils/popover.ts
index ee07fbccc..0b51622b0 100644
--- a/libraries/ui-library/src/utils/popover.ts
+++ b/libraries/ui-library/src/utils/popover.ts
@@ -84,7 +84,7 @@ export default class Popover {
   show() {
     this.isVisible = true;
     this.popover.hidden = false;
-    this.popover.clientWidth; // force reflow
+    void this.popover.clientWidth; // force reflow
     requestAnimationFrame(() => {
       if (this.options.visibleClass != null) {
         this.popover.classList.add(this.options.visibleClass);
diff --git a/package-lock.json b/package-lock.json
index d25e01f26..8fd16d88a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -21,16 +21,16 @@
         "docs"
       ],
       "devDependencies": {
-        "@types/jest": "^29.5.11",
-        "eslint": "^8.57.1",
-        "eslint-config-prettier": "^10.1.5",
-        "eslint-plugin-prettier": "^4.2.1",
+        "@types/jest": "^29.5.14",
+        "eslint": "^9.39.2",
+        "eslint-config-prettier": "^10.1.8",
+        "eslint-plugin-prettier": "^5.5.5",
         "jest": "^29.7.0",
         "jest-cli": "^29.7.0",
         "npm-run-all2": "^8.0.4",
-        "pkg-pr-new": "^0.0.51",
-        "prettier": "^3.5.3",
-        "typescript": "^5.8.3"
+        "pkg-pr-new": "^0.0.62",
+        "prettier": "^3.8.0",
+        "typescript": "^5.9.3"
       }
     },
     "docs": {
@@ -40,7867 +40,8625 @@
         "@six-group/ui-library": "*"
       },
       "devDependencies": {
-        "mermaid": "^11.2.1",
-        "node-html-parser": "^6.1.5",
-        "rimraf": "^5.0.1",
+        "mermaid": "^11.12.2",
+        "node-html-parser": "^7.0.2",
+        "rimraf": "^6.1.2",
         "shx": "^0.4.0",
-        "turndown": "^7.1.2",
-        "vitepress": "^1.6.3",
+        "turndown": "^7.2.2",
+        "vitepress": "^1.6.4",
         "vitepress-plugin-mermaid": "^2.0.17",
-        "vue": "^3.4.21"
-      }
-    },
-    "docs/node_modules/rimraf": {
-      "version": "5.0.10",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "glob": "^10.3.7"
-      },
-      "bin": {
-        "rimraf": "dist/esm/bin.mjs"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "vue": "^3.5.26"
       }
     },
     "examples/angular": {
       "name": "@six-group/demo-app-angular",
       "version": "0.0.0",
       "dependencies": {
-        "@angular/common": "^20.0.0",
-        "@angular/compiler": "^20.0.0",
-        "@angular/core": "^20.0.0",
-        "@angular/forms": "^20.0.0",
-        "@angular/platform-browser": "^20.0.0",
-        "@angular/router": "^20.0.0",
+        "@angular/common": "^21.1.0",
+        "@angular/compiler": "^21.1.0",
+        "@angular/core": "^21.1.0",
+        "@angular/forms": "^21.1.0",
+        "@angular/platform-browser": "^21.1.0",
+        "@angular/router": "^21.1.0",
         "@six-group/ui-library": "*",
         "@six-group/ui-library-angular": "*",
-        "rxjs": "~7.8.2",
         "tslib": "^2.3.0"
       },
       "devDependencies": {
-        "@angular/build": "^20.0.2",
-        "@angular/cli": "^20.0.2",
-        "@angular/compiler-cli": "^20.0.0",
-        "typescript": "~5.8.2"
+        "@angular/build": "^21.1.0",
+        "@angular/cli": "^21.1.0",
+        "@angular/compiler-cli": "^21.1.0",
+        "typescript": "~5.9.2"
       }
     },
-    "examples/angular/node_modules/@angular/build": {
-      "version": "20.0.2",
-      "dev": true,
-      "license": "MIT",
+    "examples/js": {
+      "name": "@six-group/ui-library-js-app",
+      "version": "2.1.0",
+      "license": "ISC",
       "dependencies": {
-        "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.2000.2",
-        "@babel/core": "7.27.1",
-        "@babel/helper-annotate-as-pure": "7.27.1",
-        "@babel/helper-split-export-declaration": "7.24.7",
-        "@inquirer/confirm": "5.1.10",
-        "@vitejs/plugin-basic-ssl": "2.0.0",
-        "beasties": "0.3.4",
-        "browserslist": "^4.23.0",
-        "esbuild": "0.25.5",
-        "https-proxy-agent": "7.0.6",
-        "istanbul-lib-instrument": "6.0.3",
-        "jsonc-parser": "3.3.1",
-        "listr2": "8.3.3",
-        "magic-string": "0.30.17",
-        "mrmime": "2.0.1",
-        "parse5-html-rewriting-stream": "7.1.0",
-        "picomatch": "4.0.2",
-        "piscina": "5.0.0",
-        "rollup": "4.40.2",
-        "sass": "1.88.0",
-        "semver": "7.7.2",
-        "source-map-support": "0.5.21",
-        "tinyglobby": "0.2.13",
-        "vite": "6.3.5",
-        "watchpack": "2.4.2"
+        "@six-group/ui-library": "*"
       },
-      "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "devDependencies": {
+        "express": "^5.2.1"
+      }
+    },
+    "examples/nuxt": {
+      "name": "nuxt-app",
+      "hasInstallScript": true,
+      "dependencies": {
+        "@six-group/ui-library": "*",
+        "@six-group/ui-library-vue": "*",
+        "nuxt": "^4.2.2"
+      },
+      "devDependencies": {
+        "sass": "^1.97.2",
+        "tsx": "^4.21.0",
+        "typescript": "^5.9.3"
       },
       "optionalDependencies": {
-        "lmdb": "3.3.0"
+        "@oxc-parser/binding-linux-x64-gnu": "^0.108.0",
+        "@rollup/rollup-linux-x64-gnu": "^4.55.1"
+      }
+    },
+    "examples/react": {
+      "name": "@six-group/demo-app-react",
+      "version": "0.0.0",
+      "dependencies": {
+        "@six-group/ui-library": "*",
+        "@six-group/ui-library-react": "*",
+        "react": "^19.2.3",
+        "react-dom": "^19.2.3",
+        "react-router": "^7.12.0"
       },
-      "peerDependencies": {
-        "@angular/compiler": "^20.0.0",
-        "@angular/compiler-cli": "^20.0.0",
-        "@angular/core": "^20.0.0",
-        "@angular/localize": "^20.0.0",
-        "@angular/platform-browser": "^20.0.0",
-        "@angular/platform-server": "^20.0.0",
-        "@angular/service-worker": "^20.0.0",
-        "@angular/ssr": "^20.0.2",
-        "karma": "^6.4.0",
-        "less": "^4.2.0",
-        "ng-packagr": "^20.0.0",
-        "postcss": "^8.4.0",
-        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
-        "tslib": "^2.3.0",
-        "typescript": ">=5.8 <5.9",
-        "vitest": "^3.1.1"
+      "devDependencies": {
+        "@types/node": "^24.0.0",
+        "@types/react": "^19.2.8",
+        "@types/react-dom": "^19",
+        "@vitejs/plugin-react": "^5.1.2",
+        "typescript": "5.9.3",
+        "vite": "^7.3.1",
+        "vite-tsconfig-paths": "^6.0.4"
+      }
+    },
+    "examples/react/node_modules/@types/node": {
+      "version": "24.10.9",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "undici-types": "~7.16.0"
+      }
+    },
+    "examples/vue": {
+      "name": "@six-group/demo-app-vue",
+      "version": "0.0.0",
+      "dependencies": {
+        "@six-group/ui-library-vue": "*",
+        "vue": "^3.5.26",
+        "vue-router": "^4.6.4"
       },
-      "peerDependenciesMeta": {
-        "@angular/core": {
-          "optional": true
-        },
-        "@angular/localize": {
-          "optional": true
-        },
-        "@angular/platform-browser": {
-          "optional": true
-        },
-        "@angular/platform-server": {
-          "optional": true
-        },
-        "@angular/service-worker": {
-          "optional": true
-        },
-        "@angular/ssr": {
-          "optional": true
-        },
-        "karma": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "ng-packagr": {
-          "optional": true
-        },
-        "postcss": {
-          "optional": true
-        },
-        "tailwindcss": {
-          "optional": true
-        },
-        "vitest": {
-          "optional": true
-        }
+      "devDependencies": {
+        "@rushstack/eslint-patch": "^1.15.0",
+        "@tsconfig/node24": "^24.0.0",
+        "@types/node": "^24.0.0",
+        "@vitejs/plugin-vue": "^6.0.3",
+        "@vue/eslint-config-prettier": "^10.2.0",
+        "@vue/eslint-config-typescript": "^14.6.0",
+        "@vue/tsconfig": "^0.8.1",
+        "cross-env": "^10.1.0",
+        "eslint-plugin-vue": "^10.6.2",
+        "npm-run-all2": "^8.0.4",
+        "typescript": "^5.9.3",
+        "vue-tsc": "^3.2.2"
       }
     },
-    "examples/angular/node_modules/@angular/cli": {
-      "version": "20.0.2",
+    "examples/vue/node_modules/@types/node": {
+      "version": "24.10.9",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.2000.2",
-        "@angular-devkit/core": "20.0.2",
-        "@angular-devkit/schematics": "20.0.2",
-        "@inquirer/prompts": "7.5.1",
-        "@listr2/prompt-adapter-inquirer": "2.0.22",
-        "@schematics/angular": "20.0.2",
-        "@yarnpkg/lockfile": "1.1.0",
-        "ini": "5.0.0",
-        "jsonc-parser": "3.3.1",
-        "listr2": "8.3.3",
-        "npm-package-arg": "12.0.2",
-        "npm-pick-manifest": "10.0.0",
-        "pacote": "21.0.0",
-        "resolve": "1.22.10",
-        "semver": "7.7.2",
-        "yargs": "17.7.2"
+        "undici-types": "~7.16.0"
+      }
+    },
+    "libraries/ui-library": {
+      "name": "@six-group/ui-library",
+      "version": "5.2.0",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@stencil/core": "4.41.1",
+        "@types/resize-observer-browser": "^0.1.11"
       },
-      "bin": {
-        "ng": "bin/ng.js"
+      "devDependencies": {
+        "@axe-core/playwright": "^4.11.0",
+        "@fontsource-variable/material-symbols-outlined": "^5.2.31",
+        "@fontsource-variable/material-symbols-rounded": "^5.2.31",
+        "@fontsource-variable/material-symbols-sharp": "^5.2.31",
+        "@fontsource/material-icons": "^5.2.7",
+        "@fontsource/material-icons-outlined": "^5.2.6",
+        "@fontsource/noto-sans": "^5.2.10",
+        "@playwright/test": "^1.57.0",
+        "@popperjs/core": "^2.11.8",
+        "@stencil-community/eslint-plugin": "0.x",
+        "@stencil/angular-output-target": "1.2.0",
+        "@stencil/playwright": "^0.2.1",
+        "@stencil/react-output-target": "^1.3.2",
+        "@stencil/sass": "3.2.3",
+        "@stencil/vue-output-target": "0.12.0",
+        "@typescript-eslint/eslint-plugin": "^8.53.0",
+        "@typescript-eslint/parser": "^8.53.0",
+        "cross-env": "^10.1.0",
+        "puppeteer": "^24.35.0",
+        "replace-in-file": "^8.4.0",
+        "rimraf": "^6.1.2"
       },
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=24"
+      },
+      "peerDependencies": {
+        "date-fns": ">=3.0.0"
       }
     },
-    "examples/angular/node_modules/@angular/compiler-cli": {
-      "version": "20.0.3",
-      "dev": true,
-      "license": "MIT",
+    "libraries/ui-library-angular": {
+      "name": "@six-group/ui-library-angular",
+      "version": "5.2.0",
       "dependencies": {
-        "@babel/core": "7.27.4",
-        "@jridgewell/sourcemap-codec": "^1.4.14",
-        "chokidar": "^4.0.0",
-        "convert-source-map": "^1.5.1",
-        "reflect-metadata": "^0.2.0",
-        "semver": "^7.0.0",
-        "tslib": "^2.3.0",
-        "yargs": "^18.0.0"
+        "tslib": "^2.8.1"
       },
-      "bin": {
-        "ng-xi18n": "bundles/src/bin/ng_xi18n.js",
-        "ngc": "bundles/src/bin/ngc.js"
+      "devDependencies": {
+        "@angular/build": "^21.1.0",
+        "@angular/cli": "^21.1.0",
+        "@angular/compiler-cli": "^21.1.0",
+        "ng-packagr": "^21.1.0",
+        "typescript": "~5.9.3"
       },
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+        "node": ">=24"
       },
       "peerDependencies": {
-        "@angular/compiler": "20.0.3",
-        "typescript": ">=5.8 <5.9"
+        "@angular/common": ">=19.0.0",
+        "@angular/core": ">=19.0.0",
+        "@angular/forms": ">=19.0.0",
+        "@angular/router": ">=19.0.0",
+        "@six-group/ui-library": "*"
+      }
+    },
+    "libraries/ui-library-react": {
+      "name": "@six-group/ui-library-react",
+      "version": "5.2.0",
+      "dependencies": {
+        "@stencil/react-output-target": "^1.3.0"
       },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+      "devDependencies": {
+        "@types/react": "^19",
+        "react": "^19.2.3",
+        "react-dom": "^19.2.3",
+        "typescript": "^5"
+      },
+      "engines": {
+        "node": ">=24"
+      },
+      "peerDependencies": {
+        "@six-group/ui-library": "*"
       }
     },
-    "examples/angular/node_modules/@angular/compiler-cli/node_modules/@babel/core": {
-      "version": "7.27.4",
-      "dev": true,
-      "license": "MIT",
+    "libraries/ui-library-vue": {
+      "name": "@six-group/ui-library-vue",
+      "version": "5.2.0",
       "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.27.1",
-        "@babel/generator": "^7.27.3",
-        "@babel/helper-compilation-targets": "^7.27.2",
-        "@babel/helper-module-transforms": "^7.27.3",
-        "@babel/helpers": "^7.27.4",
-        "@babel/parser": "^7.27.4",
-        "@babel/template": "^7.27.2",
-        "@babel/traverse": "^7.27.4",
-        "@babel/types": "^7.27.3",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
+        "@six-group/ui-library": "*"
+      },
+      "devDependencies": {
+        "typescript": "~5.9.3"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=24"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
+      "peerDependencies": {
+        "@six-group/ui-library": "*"
       }
     },
-    "examples/angular/node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": {
-      "version": "2.0.0",
+    "node_modules/@actions/core": {
+      "version": "1.11.1",
+      "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
+      "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "dependencies": {
+        "@actions/exec": "^1.1.1",
+        "@actions/http-client": "^2.0.1"
+      }
     },
-    "examples/angular/node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.1",
+    "node_modules/@actions/exec": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
+      "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
       "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+      "license": "MIT",
+      "dependencies": {
+        "@actions/io": "^1.0.1"
       }
     },
-    "examples/angular/node_modules/@angular/compiler-cli/node_modules/yargs": {
-      "version": "18.0.0",
+    "node_modules/@actions/http-client": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
+      "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cliui": "^9.0.1",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "string-width": "^7.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^22.0.0"
+        "tunnel": "^0.0.6",
+        "undici": "^5.25.4"
+      }
+    },
+    "node_modules/@actions/io": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
+      "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@algolia/abtesting": {
+      "version": "1.12.2",
+      "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.12.2.tgz",
+      "integrity": "sha512-oWknd6wpfNrmRcH0vzed3UPX0i17o4kYLM5OMITyMVM2xLgaRbIafoxL0e8mcrNNb0iORCJA0evnNDKRYth5WQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=23"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/@babel/generator": {
-      "version": "7.27.5",
+    "node_modules/@algolia/client-abtesting": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz",
+      "integrity": "sha512-oRSUHbylGIuxrlzdPA8FPJuwrLLRavOhAmFGgdAvMcX47XsyM+IOGa9tc7/K5SPvBqn4nhppOCEz7BrzOPWc4A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/parser": "^7.27.5",
-        "@babel/types": "^7.27.3",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^3.0.2"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/@algolia/client-analytics": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.46.2.tgz",
+      "integrity": "sha512-EPBN2Oruw0maWOF4OgGPfioTvd+gmiNwx0HmD9IgmlS+l75DatcBkKOPNJN+0z3wBQWUO5oq602ATxIfmTQ8bA==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      "engines": {
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/@algolia/client-common": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.46.2.tgz",
+      "integrity": "sha512-Hj8gswSJNKZ0oyd0wWissqyasm+wTz1oIsv5ZmLarzOZAp3vFEda8bpDQ8PUhO+DfkbiLyVnAxsPe4cGzWtqkg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/cliui": {
-      "version": "9.0.1",
+    "node_modules/@algolia/client-insights": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.46.2.tgz",
+      "integrity": "sha512-6dBZko2jt8FmQcHCbmNLB0kCV079Mx/DJcySTL3wirgDBUH7xhY1pOuUTLMiGkqM5D8moVZTvTdRKZUJRkrwBA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "string-width": "^7.2.0",
-        "strip-ansi": "^7.1.0",
-        "wrap-ansi": "^9.0.0"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=20"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "examples/angular/node_modules/string-width": {
-      "version": "7.2.0",
+    "node_modules/@algolia/client-personalization": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.46.2.tgz",
+      "integrity": "sha512-1waE2Uqh/PHNeDXGn/PM/WrmYOBiUGSVxAWqiJIj73jqPqvfzZgzdakHscIVaDl6Cp+j5dwjsZ5LCgaUr6DtmA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/@algolia/client-query-suggestions": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.46.2.tgz",
+      "integrity": "sha512-EgOzTZkyDcNL6DV0V/24+oBJ+hKo0wNgyrOX/mePBM9bc9huHxIY2352sXmoZ648JXXY2x//V1kropF/Spx83w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^6.0.1"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/wrap-ansi": {
-      "version": "9.0.0",
+    "node_modules/@algolia/client-search": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.46.2.tgz",
+      "integrity": "sha512-ZsOJqu4HOG5BlvIFnMU0YKjQ9ZI6r3C31dg2jk5kMWPSdhJpYL9xa5hEe7aieE+707dXeMI4ej3diy6mXdZpgA==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "string-width": "^7.0.0",
-        "strip-ansi": "^7.1.0"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/angular/node_modules/yargs-parser": {
-      "version": "22.0.0",
+    "node_modules/@algolia/ingestion": {
+      "version": "1.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.46.2.tgz",
+      "integrity": "sha512-1Uw2OslTWiOFDtt83y0bGiErJYy5MizadV0nHnOoHFWMoDqWW0kQoMFI65pXqRSkVvit5zjXSLik2xMiyQJDWQ==",
       "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=23"
-      }
-    },
-    "examples/js": {
-      "name": "@six-group/ui-library-js-app",
-      "version": "2.1.0",
-      "license": "ISC",
-      "dependencies": {
-        "@six-group/ui-library": "*"
-      },
-      "devDependencies": {
-        "express": "^4.18.2"
-      }
-    },
-    "examples/nuxt": {
-      "name": "nuxt-app",
-      "hasInstallScript": true,
+      "license": "MIT",
       "dependencies": {
-        "@six-group/ui-library": "*",
-        "@six-group/ui-library-vue": "*",
-        "nuxt": "^3.16.2"
-      },
-      "devDependencies": {
-        "@wdio/cli": "^9.4.5",
-        "@wdio/globals": "^9.1.3",
-        "@wdio/local-runner": "^9.1.3",
-        "@wdio/mocha-framework": "^9.1.3",
-        "@wdio/spec-reporter": "^9.1.3",
-        "sass": "^1.89.2",
-        "tsx": "^4.19.1",
-        "typescript": "^5.4.5",
-        "wdio-nuxt-service": "^0.2.0"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
-      "optionalDependencies": {
-        "@oxc-parser/binding-linux-x64-gnu": "^0.72.3",
-        "@rollup/rollup-linux-x64-gnu": "^4.43.0"
+      "engines": {
+        "node": ">= 14.0.0"
       }
     },
-    "examples/nuxt/node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.43.0",
-      "cpu": [
-        "x64"
-      ],
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "examples/nuxt/node_modules/sass": {
-      "version": "1.89.2",
+    "node_modules/@algolia/monitoring": {
+      "version": "1.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.46.2.tgz",
+      "integrity": "sha512-xk9f+DPtNcddWN6E7n1hyNNsATBCHIqAvVGG2EAGHJc4AFYL18uM/kMTiOKXE/LKDPyy1JhIerrh9oYb7RBrgw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "chokidar": "^4.0.0",
-        "immutable": "^5.0.2",
-        "source-map-js": ">=0.6.2 <2.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">=14.0.0"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher": "^2.4.1"
+        "node": ">= 14.0.0"
       }
     },
-    "examples/react": {
-      "name": "@six-group/demo-app-react",
-      "version": "0.0.0",
+    "node_modules/@algolia/recommend": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.46.2.tgz",
+      "integrity": "sha512-NApbTPj9LxGzNw4dYnZmj2BoXiAc8NmbbH6qBNzQgXklGklt/xldTvu+FACN6ltFsTzoNU6j2mWNlHQTKGC5+Q==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "@six-group/ui-library": "*",
-        "@six-group/ui-library-react": "*",
-        "react": "^19.2.1",
-        "react-dom": "^19.2.1",
-        "react-router": "^7.10.1"
+        "@algolia/client-common": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
-      "devDependencies": {
-        "@types/node": "^22.15.32",
-        "@types/react": "^19.2.1",
-        "@types/react-dom": "^19",
-        "@vitejs/plugin-react": "^4.3.4",
-        "typescript": "5.8.3",
-        "vite": "^6.3.5",
-        "vite-tsconfig-paths": "^5.1.4"
+      "engines": {
+        "node": ">= 14.0.0"
       }
     },
-    "examples/react/node_modules/@types/node": {
-      "version": "22.15.32",
+    "node_modules/@algolia/requester-browser-xhr": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.46.2.tgz",
+      "integrity": "sha512-ekotpCwpSp033DIIrsTpYlGUCF6momkgupRV/FA3m62SreTSZUKjgK6VTNyG7TtYfq9YFm/pnh65bATP/ZWJEg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "undici-types": "~6.21.0"
+        "@algolia/client-common": "5.46.2"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
       }
     },
-    "examples/react/node_modules/@types/react": {
-      "version": "19.2.7",
+    "node_modules/@algolia/requester-fetch": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.46.2.tgz",
+      "integrity": "sha512-gKE+ZFi/6y7saTr34wS0SqYFDcjHW4Wminv8PDZEi0/mE99+hSrbKgJWxo2ztb5eqGirQTgIh1AMVacGGWM1iw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "csstype": "^3.2.2"
+        "@algolia/client-common": "5.46.2"
+      },
+      "engines": {
+        "node": ">= 14.0.0"
       }
     },
-    "examples/react/node_modules/csstype": {
-      "version": "3.2.3",
+    "node_modules/@algolia/requester-node-http": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.46.2.tgz",
+      "integrity": "sha512-ciPihkletp7ttweJ8Zt+GukSVLp2ANJHU+9ttiSxsJZThXc4Y2yJ8HGVWesW5jN1zrsZsezN71KrMx/iZsOYpg==",
       "dev": true,
-      "license": "MIT"
-    },
-    "examples/react/node_modules/react-router": {
-      "version": "7.10.1",
       "license": "MIT",
       "dependencies": {
-        "cookie": "^1.0.1",
-        "set-cookie-parser": "^2.6.0"
+        "@algolia/client-common": "5.46.2"
       },
       "engines": {
-        "node": ">=20.0.0"
-      },
-      "peerDependencies": {
-        "react": ">=18",
-        "react-dom": ">=18"
-      },
-      "peerDependenciesMeta": {
-        "react-dom": {
-          "optional": true
-        }
+        "node": ">= 14.0.0"
       }
     },
-    "examples/vue": {
-      "name": "@six-group/demo-app-vue",
-      "version": "0.0.0",
+    "node_modules/@ampproject/remapping": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+      "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
+      "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@six-group/ui-library-vue": "*",
-        "vue": "^3.3.4",
-        "vue-router": "^4.2.5"
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.24"
       },
-      "devDependencies": {
-        "@rushstack/eslint-patch": "^1.3.3",
-        "@tsconfig/node22": "^22.0.2",
-        "@types/node": "^22.15.32",
-        "@vitejs/plugin-vue": "^5.2.4",
-        "@vue/eslint-config-prettier": "^9.0.0",
-        "@vue/eslint-config-typescript": "^12.0.0",
-        "@vue/tsconfig": "^0.7.0",
-        "cross-env": "^7.0.3",
-        "eslint-plugin-vue": "^9.17.0",
-        "npm-run-all2": "^8.0.4",
-        "typescript": "^5.8.3",
-        "vue-tsc": "^2.2.10"
+      "engines": {
+        "node": ">=6.0.0"
       }
     },
-    "examples/vue/node_modules/@types/node": {
-      "version": "22.15.32",
+    "node_modules/@angular-devkit/architect": {
+      "version": "0.2101.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.1.tgz",
+      "integrity": "sha512-8x7hKcFs3hnpDaIj9fyzinh4X74oQaMxMsZzBf4dBL7EwokjPIf2fadQsZd8a5M+Ja4tIgTnXH9ySyaRFWGNXA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "libraries/ui-library": {
-      "name": "@six-group/ui-library",
-      "version": "5.2.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@stencil/core": "4.32.0",
-        "@types/resize-observer-browser": "^0.1.5"
+        "@angular-devkit/core": "21.1.1",
+        "rxjs": "7.8.2"
       },
-      "devDependencies": {
-        "@axe-core/playwright": "^4.11.0",
-        "@fontsource-variable/material-symbols-outlined": "^5.2.22",
-        "@fontsource-variable/material-symbols-rounded": "^5.2.22",
-        "@fontsource-variable/material-symbols-sharp": "^5.2.22",
-        "@fontsource/material-icons": "^5.1.1",
-        "@fontsource/material-icons-outlined": "^5.1.1",
-        "@fontsource/noto-sans": "^5.1.1",
-        "@playwright/test": "^1.56.1",
-        "@popperjs/core": "^2.5.3",
-        "@stencil-community/eslint-plugin": "0.x",
-        "@stencil/angular-output-target": "1.0.0",
-        "@stencil/playwright": "^0.2.1",
-        "@stencil/react-output-target": "^1.0.4",
-        "@stencil/sass": "3.0.12",
-        "@stencil/vue-output-target": "0.10.8",
-        "@typescript-eslint/eslint-plugin": "^7.0.0",
-        "@typescript-eslint/parser": "^7.0.0",
-        "cross-env": "^7.0.3",
-        "puppeteer": "^20.9.0",
-        "replace-in-file": "^6.3.5",
-        "rimraf": "^3.0.2"
+      "bin": {
+        "architect": "bin/cli.js"
       },
       "engines": {
-        "node": ">=20"
-      },
-      "peerDependencies": {
-        "date-fns": ">=3.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
       }
     },
-    "libraries/ui-library-angular": {
-      "name": "@six-group/ui-library-angular",
-      "version": "5.2.0",
+    "node_modules/@angular-devkit/core": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.1.tgz",
+      "integrity": "sha512-rCwfBUemyRoAfrO4c85b49lkPiD5WljWE+IK7vjUNIFFf4TXOS4tg4zxqopUDVE4zEjXORa5oHCEc5HCerjn1g==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "tslib": "^2.3.0"
-      },
-      "devDependencies": {
-        "@angular-devkit/build-angular": "^19.2.15",
-        "@angular/cli": "^19.2.14",
-        "@angular/compiler-cli": "^19.2.0",
-        "ng-packagr": "^19.2.0",
-        "typescript": "~5.7.2"
+        "ajv": "8.17.1",
+        "ajv-formats": "3.0.1",
+        "jsonc-parser": "3.3.1",
+        "picomatch": "4.0.3",
+        "rxjs": "7.8.2",
+        "source-map": "0.7.6"
       },
       "engines": {
-        "node": ">=22"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
       },
       "peerDependencies": {
-        "@angular/common": ">=19.0.0",
-        "@angular/core": ">=19.0.0",
-        "@angular/forms": ">=19.0.0",
-        "@angular/router": ">=19.0.0",
-        "@six-group/ui-library": "*"
+        "chokidar": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
       }
     },
-    "libraries/ui-library-angular/node_modules/typescript": {
-      "version": "5.7.3",
+    "node_modules/@angular-devkit/core/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
-      "license": "Apache-2.0",
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
+      "license": "MIT",
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
       },
-      "engines": {
-        "node": ">=14.17"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "libraries/ui-library-react": {
-      "name": "@six-group/ui-library-react",
-      "version": "5.2.0",
-      "dependencies": {
-        "@stencil/react-output-target": "^1.0.4"
-      },
-      "devDependencies": {
-        "@types/react": "^19",
-        "react": "^19.1.0",
-        "react-dom": "^19.1.0",
-        "typescript": "^5"
-      },
+    "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular-devkit/core/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
+      "license": "MIT",
       "engines": {
-        "node": ">=20"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@six-group/ui-library": "*"
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "libraries/ui-library-vue": {
-      "name": "@six-group/ui-library-vue",
-      "version": "5.2.0",
-      "dependencies": {
-        "@six-group/ui-library": "*",
-        "@stencil/vue-output-target": "0.10.8"
-      },
-      "devDependencies": {
-        "typescript": "~5.1.3"
-      },
+    "node_modules/@angular-devkit/core/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": ">=20"
-      },
-      "peerDependencies": {
-        "@six-group/ui-library": "*"
+        "node": ">= 12"
       }
     },
-    "libraries/ui-library-vue/node_modules/typescript": {
-      "version": "5.1.6",
+    "node_modules/@angular-devkit/schematics": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.1.tgz",
+      "integrity": "sha512-3ptEOuALghEYEPVbhRa7g8a+YmvmHqHVNqF9XqCbG22nPGWkE58qfNNbXi3tF9iQxzKSGw5Iy5gYUvSvpsdcfw==",
       "dev": true,
-      "license": "Apache-2.0",
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
+      "license": "MIT",
+      "dependencies": {
+        "@angular-devkit/core": "21.1.1",
+        "jsonc-parser": "3.3.1",
+        "magic-string": "0.30.21",
+        "ora": "9.0.0",
+        "rxjs": "7.8.2"
       },
       "engines": {
-        "node": ">=14.17"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
       }
     },
-    "libraries/ui-library/node_modules/@stencil-community/eslint-plugin": {
-      "version": "0.10.0",
+    "node_modules/@angular/build": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.1.tgz",
+      "integrity": "sha512-OqlfH7tkahw/lFT6ACU6mqt3AGgTxxT27JTqpzZOeGo1ferR9dq1O6/CT4GiNyr/Z1AMfs7rBWlQH68y1QZb2g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "eslint-utils": "^3.0.0",
-        "jsdom": "^25.0.0",
-        "tsutils": "^3.21.0"
+        "@ampproject/remapping": "2.3.0",
+        "@angular-devkit/architect": "0.2101.1",
+        "@babel/core": "7.28.5",
+        "@babel/helper-annotate-as-pure": "7.27.3",
+        "@babel/helper-split-export-declaration": "7.24.7",
+        "@inquirer/confirm": "5.1.21",
+        "@vitejs/plugin-basic-ssl": "2.1.0",
+        "beasties": "0.3.5",
+        "browserslist": "^4.26.0",
+        "esbuild": "0.27.2",
+        "https-proxy-agent": "7.0.6",
+        "istanbul-lib-instrument": "6.0.3",
+        "jsonc-parser": "3.3.1",
+        "listr2": "9.0.5",
+        "magic-string": "0.30.21",
+        "mrmime": "2.0.1",
+        "parse5-html-rewriting-stream": "8.0.0",
+        "picomatch": "4.0.3",
+        "piscina": "5.1.4",
+        "rolldown": "1.0.0-beta.58",
+        "sass": "1.97.1",
+        "semver": "7.7.3",
+        "source-map-support": "0.5.21",
+        "tinyglobby": "0.2.15",
+        "undici": "7.18.2",
+        "vite": "7.3.0",
+        "watchpack": "2.5.0"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "optionalDependencies": {
+        "lmdb": "3.4.4"
       },
       "peerDependencies": {
-        "@typescript-eslint/eslint-plugin": "^7.0.0 || ^8.0.0",
-        "@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
-        "eslint": "^8.0.0 || ^9.0.0",
-        "eslint-plugin-react": "^7.0.0",
-        "typescript": "^4.9.4 || ^5.0.0"
+        "@angular/compiler": "^21.0.0",
+        "@angular/compiler-cli": "^21.0.0",
+        "@angular/core": "^21.0.0",
+        "@angular/localize": "^21.0.0",
+        "@angular/platform-browser": "^21.0.0",
+        "@angular/platform-server": "^21.0.0",
+        "@angular/service-worker": "^21.0.0",
+        "@angular/ssr": "^21.1.1",
+        "karma": "^6.4.0",
+        "less": "^4.2.0",
+        "ng-packagr": "^21.0.0",
+        "postcss": "^8.4.0",
+        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
+        "tslib": "^2.3.0",
+        "typescript": ">=5.9 <6.0",
+        "vitest": "^4.0.8"
+      },
+      "peerDependenciesMeta": {
+        "@angular/core": {
+          "optional": true
+        },
+        "@angular/localize": {
+          "optional": true
+        },
+        "@angular/platform-browser": {
+          "optional": true
+        },
+        "@angular/platform-server": {
+          "optional": true
+        },
+        "@angular/service-worker": {
+          "optional": true
+        },
+        "@angular/ssr": {
+          "optional": true
+        },
+        "karma": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "ng-packagr": {
+          "optional": true
+        },
+        "postcss": {
+          "optional": true
+        },
+        "tailwindcss": {
+          "optional": true
+        },
+        "vitest": {
+          "optional": true
+        }
       }
     },
-    "libraries/ui-library/node_modules/@stencil-community/eslint-plugin/node_modules/eslint-utils": {
-      "version": "3.0.0",
+    "node_modules/@angular/build/node_modules/@babel/core": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+      "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "eslint-visitor-keys": "^2.0.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/generator": "^7.28.5",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-module-transforms": "^7.28.3",
+        "@babel/helpers": "^7.28.4",
+        "@babel/parser": "^7.28.5",
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.5",
+        "@babel/types": "^7.28.5",
+        "@jridgewell/remapping": "^2.3.5",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+        "node": ">=6.9.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      },
-      "peerDependencies": {
-        "eslint": ">=5"
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@angular/build/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "libraries/ui-library/node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "7.18.0",
+    "node_modules/@angular/build/node_modules/chokidar": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+      "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@eslint-community/regexpp": "^4.10.0",
-        "@typescript-eslint/scope-manager": "7.18.0",
-        "@typescript-eslint/type-utils": "7.18.0",
-        "@typescript-eslint/utils": "7.18.0",
-        "@typescript-eslint/visitor-keys": "7.18.0",
-        "graphemer": "^1.4.0",
-        "ignore": "^5.3.1",
-        "natural-compare": "^1.4.0",
-        "ts-api-utils": "^1.3.0"
+        "readdirp": "^4.0.1"
       },
       "engines": {
-        "node": "^18.18.0 || >=20.0.0"
+        "node": ">= 14.16.0"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/@angular/build/node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12.0.0"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^7.0.0",
-        "eslint": "^8.56.0"
+        "picomatch": "^3 || ^4"
       },
       "peerDependenciesMeta": {
-        "typescript": {
+        "picomatch": {
           "optional": true
         }
       }
     },
-    "libraries/ui-library/node_modules/@typescript-eslint/parser": {
-      "version": "7.18.0",
+    "node_modules/@angular/build/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "@typescript-eslint/scope-manager": "7.18.0",
-        "@typescript-eslint/types": "7.18.0",
-        "@typescript-eslint/typescript-estree": "7.18.0",
-        "@typescript-eslint/visitor-keys": "7.18.0",
-        "debug": "^4.3.4"
-      },
+      "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": "^18.18.0 || >=20.0.0"
+        "node": ">=12"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^8.56.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "libraries/ui-library/node_modules/eslint-visitor-keys": {
-      "version": "2.1.0",
+    "node_modules/@angular/build/node_modules/readdirp": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+      "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">= 14.18.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/@algolia/autocomplete-core": {
-      "version": "1.17.7",
+    "node_modules/@angular/build/node_modules/sass": {
+      "version": "1.97.1",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.1.tgz",
+      "integrity": "sha512-uf6HoO8fy6ClsrShvMgaKUn14f2EHQLQRtpsZZLeU/Mv0Q1K5P0+x2uvH6Cub39TVVbWNSrraUhDAoFph6vh0A==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@algolia/autocomplete-plugin-algolia-insights": "1.17.7",
-        "@algolia/autocomplete-shared": "1.17.7"
+        "chokidar": "^4.0.0",
+        "immutable": "^5.0.2",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      },
+      "bin": {
+        "sass": "sass.js"
+      },
+      "engines": {
+        "node": ">=14.0.0"
+      },
+      "optionalDependencies": {
+        "@parcel/watcher": "^2.4.1"
       }
     },
-    "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
-      "version": "1.17.7",
+    "node_modules/@angular/build/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.7"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
-      "peerDependencies": {
-        "search-insights": ">= 1 < 3"
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@algolia/autocomplete-preset-algolia": {
-      "version": "1.17.7",
+    "node_modules/@angular/build/node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.7"
-      },
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
       }
     },
-    "node_modules/@algolia/autocomplete-shared": {
-      "version": "1.17.7",
+    "node_modules/@angular/build/node_modules/undici": {
+      "version": "7.18.2",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-7.18.2.tgz",
+      "integrity": "sha512-y+8YjDFzWdQlSE9N5nzKMT3g4a5UBX1HKowfdXh0uvAnTaqqwqB92Jt4UXBAeKekDs5IaDKyJFR4X1gYVCgXcw==",
       "dev": true,
       "license": "MIT",
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
+      "engines": {
+        "node": ">=20.18.1"
       }
     },
-    "node_modules/@algolia/client-abtesting": {
-      "version": "5.27.0",
+    "node_modules/@angular/build/node_modules/vite": {
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.0.tgz",
+      "integrity": "sha512-dZwN5L1VlUBewiP6H9s2+B3e3Jg96D0vzN+Ry73sOefebhYr9f94wwkMNN/9ouoU8pV1BqA1d1zGk8928cx0rg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "esbuild": "^0.27.0",
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.3",
+        "postcss": "^8.5.6",
+        "rollup": "^4.43.0",
+        "tinyglobby": "^0.2.15"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
+      },
+      "peerDependencies": {
+        "@types/node": "^20.19.0 || >=22.12.0",
+        "jiti": ">=1.21.0",
+        "less": "^4.0.0",
+        "lightningcss": "^1.21.0",
+        "sass": "^1.70.0",
+        "sass-embedded": "^1.70.0",
+        "stylus": ">=0.54.8",
+        "sugarss": "^5.0.0",
+        "terser": "^5.16.0",
+        "tsx": "^4.8.1",
+        "yaml": "^2.4.2"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        },
+        "jiti": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "lightningcss": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        },
+        "tsx": {
+          "optional": true
+        },
+        "yaml": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@algolia/client-analytics": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.1.tgz",
+      "integrity": "sha512-eXhHuYvruWHBn7lX3GuAyLq29+ELwPADOW8ShzZkWRPNlIDiFDsS5pXrxkM9ez+8f86kfDHh88Twevn4UBUqQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "@angular-devkit/architect": "0.2101.1",
+        "@angular-devkit/core": "21.1.1",
+        "@angular-devkit/schematics": "21.1.1",
+        "@inquirer/prompts": "7.10.1",
+        "@listr2/prompt-adapter-inquirer": "3.0.5",
+        "@modelcontextprotocol/sdk": "1.25.2",
+        "@schematics/angular": "21.1.1",
+        "@yarnpkg/lockfile": "1.1.0",
+        "algoliasearch": "5.46.2",
+        "ini": "6.0.0",
+        "jsonc-parser": "3.3.1",
+        "listr2": "9.0.5",
+        "npm-package-arg": "13.0.2",
+        "pacote": "21.0.4",
+        "parse5-html-rewriting-stream": "8.0.0",
+        "resolve": "1.22.11",
+        "semver": "7.7.3",
+        "yargs": "18.0.0",
+        "zod": "4.3.5"
+      },
+      "bin": {
+        "ng": "bin/ng.js"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@algolia/client-common": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/@algolia/client-insights": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
-      },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@algolia/client-personalization": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/cliui": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
+      "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "string-width": "^7.2.0",
+        "strip-ansi": "^7.1.0",
+        "wrap-ansi": "^9.0.0"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=20"
       }
     },
-    "node_modules/@algolia/client-query-suggestions": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/emoji-regex": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+      "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
-      },
-      "engines": {
-        "node": ">= 14.0.0"
-      }
+      "license": "MIT"
     },
-    "node_modules/@algolia/client-search": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@algolia/ingestion": {
-      "version": "1.27.0",
+    "node_modules/@angular/cli/node_modules/string-width": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "emoji-regex": "^10.3.0",
+        "get-east-asian-width": "^1.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@algolia/monitoring": {
-      "version": "1.27.0",
+    "node_modules/@angular/cli/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/@algolia/recommend": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/wrap-ansi": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+      "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
+        "ansi-styles": "^6.2.1",
+        "string-width": "^7.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@algolia/requester-browser-xhr": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/yargs": {
+      "version": "18.0.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
+      "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@algolia/client-common": "5.27.0"
+        "cliui": "^9.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "string-width": "^7.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^22.0.0"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/@algolia/requester-fetch": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/yargs-parser": {
+      "version": "22.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
+      "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/client-common": "5.27.0"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">= 14.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/@algolia/requester-node-http": {
-      "version": "5.27.0",
+    "node_modules/@angular/cli/node_modules/zod": {
+      "version": "4.3.5",
+      "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.5.tgz",
+      "integrity": "sha512-k7Nwx6vuWx1IJ9Bjuf4Zt1PEllcwe7cls3VNzm4CQ1/hgtFUK2bRNG3rvnpPUhFjmqJKAKtjV576KnUkHocg/g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@algolia/client-common": "5.27.0"
-      },
-      "engines": {
-        "node": ">= 14.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/colinhacks"
       }
     },
-    "node_modules/@ampproject/remapping": {
-      "version": "2.3.0",
-      "license": "Apache-2.0",
+    "node_modules/@angular/common": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.1.tgz",
+      "integrity": "sha512-Di2I6TooHdKun3SqRr45o4LbWJq/ZdwUt3fg0X3obPYaP/f6TrFQ4TMjcl03EfPufPtoQx6O+d32rcWVLhDxyw==",
+      "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.24"
+        "tslib": "^2.3.0"
       },
       "engines": {
-        "node": ">=6.0.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+      },
+      "peerDependencies": {
+        "@angular/core": "21.1.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
-    "node_modules/@angular-devkit/architect": {
-      "version": "0.2000.2",
-      "dev": true,
+    "node_modules/@angular/compiler": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.1.tgz",
+      "integrity": "sha512-Urd3bh0zv0MQ//S7RRTanIkOMAZH/A7vSMXUDJ3aflplNs7JNbVqBwDNj8NoX1V+os+fd8JRJOReCc1EpH4ZKQ==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@angular-devkit/core": "20.0.2",
-        "rxjs": "7.8.2"
+        "tslib": "^2.3.0"
       },
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular": {
-      "version": "19.2.15",
+    "node_modules/@angular/compiler-cli": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.1.tgz",
+      "integrity": "sha512-CCB8SZS0BzqLOdOaMpPpOW256msuatYCFDRTaT+awYIY1vQp/eLXzkMTD2uqyHraQy8cReeH/P6optRP9A077Q==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.1902.15",
-        "@angular-devkit/build-webpack": "0.1902.15",
-        "@angular-devkit/core": "19.2.15",
-        "@angular/build": "19.2.15",
-        "@babel/core": "7.26.10",
-        "@babel/generator": "7.26.10",
-        "@babel/helper-annotate-as-pure": "7.25.9",
-        "@babel/helper-split-export-declaration": "7.24.7",
-        "@babel/plugin-transform-async-generator-functions": "7.26.8",
-        "@babel/plugin-transform-async-to-generator": "7.25.9",
-        "@babel/plugin-transform-runtime": "7.26.10",
-        "@babel/preset-env": "7.26.9",
-        "@babel/runtime": "7.26.10",
-        "@discoveryjs/json-ext": "0.6.3",
-        "@ngtools/webpack": "19.2.15",
-        "@vitejs/plugin-basic-ssl": "1.2.0",
-        "ansi-colors": "4.1.3",
-        "autoprefixer": "10.4.20",
-        "babel-loader": "9.2.1",
-        "browserslist": "^4.21.5",
-        "copy-webpack-plugin": "12.0.2",
-        "css-loader": "7.1.2",
-        "esbuild-wasm": "0.25.4",
-        "fast-glob": "3.3.3",
-        "http-proxy-middleware": "3.0.5",
-        "istanbul-lib-instrument": "6.0.3",
-        "jsonc-parser": "3.3.1",
-        "karma-source-map-support": "1.4.0",
-        "less": "4.2.2",
-        "less-loader": "12.2.0",
-        "license-webpack-plugin": "4.0.2",
-        "loader-utils": "3.3.1",
-        "mini-css-extract-plugin": "2.9.2",
-        "open": "10.1.0",
-        "ora": "5.4.1",
-        "picomatch": "4.0.2",
-        "piscina": "4.8.0",
-        "postcss": "8.5.2",
-        "postcss-loader": "8.1.1",
-        "resolve-url-loader": "5.0.0",
-        "rxjs": "7.8.1",
-        "sass": "1.85.0",
-        "sass-loader": "16.0.5",
-        "semver": "7.7.1",
-        "source-map-loader": "5.0.0",
-        "source-map-support": "0.5.21",
-        "terser": "5.39.0",
-        "tree-kill": "1.2.2",
-        "tslib": "2.8.1",
-        "webpack": "5.98.0",
-        "webpack-dev-middleware": "7.4.2",
-        "webpack-dev-server": "5.2.2",
-        "webpack-merge": "6.0.1",
-        "webpack-subresource-integrity": "5.1.0"
+        "@babel/core": "7.28.5",
+        "@jridgewell/sourcemap-codec": "^1.4.14",
+        "chokidar": "^5.0.0",
+        "convert-source-map": "^1.5.1",
+        "reflect-metadata": "^0.2.0",
+        "semver": "^7.0.0",
+        "tslib": "^2.3.0",
+        "yargs": "^18.0.0"
       },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "bin": {
+        "ng-xi18n": "bundles/src/bin/ng_xi18n.js",
+        "ngc": "bundles/src/bin/ngc.js"
       },
-      "optionalDependencies": {
-        "esbuild": "0.25.4"
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/localize": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/ssr": "^19.2.15",
-        "@web/test-runner": "^0.20.0",
-        "browser-sync": "^3.0.2",
-        "jest": "^29.5.0",
-        "jest-environment-jsdom": "^29.5.0",
-        "karma": "^6.3.0",
-        "ng-packagr": "^19.0.0 || ^19.2.0-next.0",
-        "protractor": "^7.0.0",
-        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
-        "typescript": ">=5.5 <5.9"
+        "@angular/compiler": "21.1.1",
+        "typescript": ">=5.9 <6.0"
       },
       "peerDependenciesMeta": {
-        "@angular/localize": {
-          "optional": true
-        },
-        "@angular/platform-server": {
-          "optional": true
-        },
-        "@angular/service-worker": {
-          "optional": true
-        },
-        "@angular/ssr": {
-          "optional": true
-        },
-        "@web/test-runner": {
-          "optional": true
-        },
-        "browser-sync": {
-          "optional": true
-        },
-        "jest": {
-          "optional": true
-        },
-        "jest-environment-jsdom": {
-          "optional": true
-        },
-        "karma": {
-          "optional": true
-        },
-        "ng-packagr": {
-          "optional": true
-        },
-        "protractor": {
-          "optional": true
-        },
-        "tailwindcss": {
+        "typescript": {
           "optional": true
         }
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/architect": {
-      "version": "0.1902.15",
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz",
+      "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "19.2.15",
-        "rxjs": "7.8.1"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/generator": "^7.28.5",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-module-transforms": "^7.28.3",
+        "@babel/helpers": "^7.28.4",
+        "@babel/parser": "^7.28.5",
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.5",
+        "@babel/types": "^7.28.5",
+        "@jridgewell/remapping": "^2.3.5",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=6.9.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular-devkit/core": {
-      "version": "19.2.15",
+    "node_modules/@angular/compiler-cli/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "ajv": "8.17.1",
-        "ajv-formats": "3.0.1",
-        "jsonc-parser": "3.3.1",
-        "picomatch": "4.0.2",
-        "rxjs": "7.8.1",
-        "source-map": "0.7.4"
+      "engines": {
+        "node": ">=12"
       },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+      "dev": true,
+      "license": "MIT",
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "chokidar": "^4.0.0"
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/cliui": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
+      "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "string-width": "^7.2.0",
+        "strip-ansi": "^7.1.0",
+        "wrap-ansi": "^9.0.0"
       },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">=20"
+      }
+    },
+    "node_modules/@angular/compiler-cli/node_modules/convert-source-map": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+      "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular/compiler-cli/node_modules/emoji-regex": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+      "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular/compiler-cli/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular/build": {
-      "version": "19.2.15",
+    "node_modules/@angular/compiler-cli/node_modules/string-width": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.1902.15",
-        "@babel/core": "7.26.10",
-        "@babel/helper-annotate-as-pure": "7.25.9",
-        "@babel/helper-split-export-declaration": "7.24.7",
-        "@babel/plugin-syntax-import-attributes": "7.26.0",
-        "@inquirer/confirm": "5.1.6",
-        "@vitejs/plugin-basic-ssl": "1.2.0",
-        "beasties": "0.3.2",
-        "browserslist": "^4.23.0",
-        "esbuild": "0.25.4",
-        "fast-glob": "3.3.3",
-        "https-proxy-agent": "7.0.6",
-        "istanbul-lib-instrument": "6.0.3",
-        "listr2": "8.2.5",
-        "magic-string": "0.30.17",
-        "mrmime": "2.0.1",
-        "parse5-html-rewriting-stream": "7.0.0",
-        "picomatch": "4.0.2",
-        "piscina": "4.8.0",
-        "rollup": "4.34.8",
-        "sass": "1.85.0",
-        "semver": "7.7.1",
-        "source-map-support": "0.5.21",
-        "vite": "6.2.7",
-        "watchpack": "2.4.2"
+        "emoji-regex": "^10.3.0",
+        "get-east-asian-width": "^1.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "optionalDependencies": {
-        "lmdb": "3.2.6"
+        "node": ">=18"
       },
-      "peerDependencies": {
-        "@angular/compiler": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/localize": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0",
-        "@angular/ssr": "^19.2.15",
-        "karma": "^6.4.0",
-        "less": "^4.2.0",
-        "ng-packagr": "^19.0.0 || ^19.2.0-next.0",
-        "postcss": "^8.4.0",
-        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
-        "typescript": ">=5.5 <5.9"
-      },
-      "peerDependenciesMeta": {
-        "@angular/localize": {
-          "optional": true
-        },
-        "@angular/platform-server": {
-          "optional": true
-        },
-        "@angular/service-worker": {
-          "optional": true
-        },
-        "@angular/ssr": {
-          "optional": true
-        },
-        "karma": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "ng-packagr": {
-          "optional": true
-        },
-        "postcss": {
-          "optional": true
-        },
-        "tailwindcss": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular/build/node_modules/vite": {
-      "version": "6.2.7",
+    "node_modules/@angular/compiler-cli/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "esbuild": "^0.25.0",
-        "postcss": "^8.5.3",
-        "rollup": "^4.30.1"
-      },
-      "bin": {
-        "vite": "bin/vite.js"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/vitejs/vite?sponsor=1"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
-      },
-      "peerDependencies": {
-        "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
-        "jiti": ">=1.21.0",
-        "less": "*",
-        "lightningcss": "^1.21.0",
-        "sass": "*",
-        "sass-embedded": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.16.0",
-        "tsx": "^4.8.1",
-        "yaml": "^2.4.2"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "jiti": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "lightningcss": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "sass-embedded": {
-          "optional": true
-        },
-        "stylus": {
-          "optional": true
-        },
-        "sugarss": {
-          "optional": true
-        },
-        "terser": {
-          "optional": true
-        },
-        "tsx": {
-          "optional": true
-        },
-        "yaml": {
-          "optional": true
-        }
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular/build/node_modules/vite/node_modules/postcss": {
-      "version": "8.5.5",
+    "node_modules/@angular/compiler-cli/node_modules/wrap-ansi": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+      "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
       "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
       "license": "MIT",
       "dependencies": {
-        "nanoid": "^3.3.11",
-        "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
+        "ansi-styles": "^6.2.1",
+        "string-width": "^7.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": "^10 || ^12 || >=14"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@angular/compiler": {
-      "version": "19.2.14",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "tslib": "^2.3.0"
+        "node": ">=18"
       },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/core": {
-      "version": "7.26.10",
+    "node_modules/@angular/compiler-cli/node_modules/yargs": {
+      "version": "18.0.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
+      "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.26.2",
-        "@babel/generator": "^7.26.10",
-        "@babel/helper-compilation-targets": "^7.26.5",
-        "@babel/helper-module-transforms": "^7.26.0",
-        "@babel/helpers": "^7.26.10",
-        "@babel/parser": "^7.26.10",
-        "@babel/template": "^7.26.9",
-        "@babel/traverse": "^7.26.10",
-        "@babel/types": "^7.26.10",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
+        "cliui": "^9.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "string-width": "^7.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^22.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.1",
+    "node_modules/@angular/compiler-cli/node_modules/yargs-parser": {
+      "version": "22.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
+      "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
       "dev": true,
       "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.25.9",
-      "dev": true,
+    "node_modules/@angular/core": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.1.tgz",
+      "integrity": "sha512-KFRCEhsi02pY1EqJ5rnze4mzSaacqh14D8goDhtmARiUH0tefaHR+uKyu4bKSrWga2T/ExG0DJX52LhHRs2qSw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@babel/types": "^7.25.9"
+        "tslib": "^2.3.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+      },
+      "peerDependencies": {
+        "@angular/compiler": "21.1.1",
+        "rxjs": "^6.5.3 || ^7.4.0",
+        "zone.js": "~0.15.0 || ~0.16.0"
+      },
+      "peerDependenciesMeta": {
+        "@angular/compiler": {
+          "optional": true
+        },
+        "zone.js": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@babel/plugin-syntax-import-attributes": {
-      "version": "7.26.0",
-      "dev": true,
+    "node_modules/@angular/forms": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.1.tgz",
+      "integrity": "sha512-NBbJOynLOeMsPo03+3dfdxE0P7SB7SXRqoFJ7WP2sOgOIxODna/huo2blmRlnZAVPTn1iQEB9Q+UeyP5c4/1+w==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.25.9"
+        "@standard-schema/spec": "^1.0.0",
+        "tslib": "^2.3.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@esbuild/linux-x64": {
-      "version": "0.25.4",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=18"
+        "@angular/common": "21.1.1",
+        "@angular/core": "21.1.1",
+        "@angular/platform-browser": "21.1.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@inquirer/confirm": {
-      "version": "5.1.6",
-      "dev": true,
+    "node_modules/@angular/platform-browser": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.1.tgz",
+      "integrity": "sha512-d6liZjPz29GUZ6dhxytFL/W2nMsYwPpc/E/vZpr5yV+u+gI2VjbnLbl8SG+jjj0/Hyq7s4aGhEKsRrCJJMXgNw==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@inquirer/core": "^10.1.7",
-        "@inquirer/type": "^3.0.4"
+        "tslib": "^2.3.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
+        "@angular/animations": "21.1.1",
+        "@angular/common": "21.1.1",
+        "@angular/core": "21.1.1"
       },
       "peerDependenciesMeta": {
-        "@types/node": {
+        "@angular/animations": {
           "optional": true
         }
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/@lmdb/lmdb-linux-x64": {
-      "version": "3.2.6",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.34.8",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@types/estree": {
-      "version": "1.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/@vitejs/plugin-basic-ssl": {
-      "version": "1.2.0",
-      "dev": true,
+    "node_modules/@angular/router": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.1.tgz",
+      "integrity": "sha512-3ypbtH3KfzuVgebdEET9+bRwn1VzP//KI0tIqleCGi4rblP3WQ/HwIGa5Qhdcxmw/kbmABKLRXX2kRUvidKs/Q==",
       "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.3.0"
+      },
       "engines": {
-        "node": ">=14.21.3"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0"
+        "@angular/common": "21.1.1",
+        "@angular/core": "21.1.1",
+        "@angular/platform-browser": "21.1.1",
+        "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/@antfu/install-pkg": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz",
+      "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "package-manager-detector": "^1.3.0",
+        "tinyexec": "^1.0.1"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/@asamuzakjp/css-color": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
+      "integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/beasties": {
-      "version": "0.3.2",
-      "dev": true,
-      "license": "Apache-2.0",
       "dependencies": {
-        "css-select": "^5.1.0",
-        "css-what": "^6.1.0",
-        "dom-serializer": "^2.0.0",
-        "domhandler": "^5.0.3",
-        "htmlparser2": "^10.0.0",
-        "picocolors": "^1.1.1",
-        "postcss": "^8.4.49",
-        "postcss-media-query-parser": "^0.2.3"
-      },
-      "engines": {
-        "node": ">=14.0.0"
+        "@csstools/css-calc": "^2.1.3",
+        "@csstools/css-color-parser": "^3.0.9",
+        "@csstools/css-parser-algorithms": "^3.0.4",
+        "@csstools/css-tokenizer": "^3.0.3",
+        "lru-cache": "^10.4.3"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/cli-cursor": {
-      "version": "3.1.0",
+    "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
+      "version": "10.4.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+      "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC"
+    },
+    "node_modules/@axe-core/playwright": {
+      "version": "4.11.0",
+      "resolved": "https://registry.npmjs.org/@axe-core/playwright/-/playwright-4.11.0.tgz",
+      "integrity": "sha512-70vBT/Ylqpm65RQz2iCG2o0JJCEG/WCNyefTr2xcOcr1CoSee60gNQYUMZZ7YukoKkFLv26I/jjlsvwwp532oQ==",
+      "dev": true,
+      "license": "MPL-2.0",
       "dependencies": {
-        "restore-cursor": "^3.1.0"
+        "axe-core": "~4.11.0"
       },
-      "engines": {
-        "node": ">=8"
+      "peerDependencies": {
+        "playwright-core": ">= 1.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/esbuild": {
-      "version": "0.25.4",
-      "dev": true,
-      "hasInstallScript": true,
+    "node_modules/@babel/code-frame": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz",
+      "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==",
       "license": "MIT",
-      "bin": {
-        "esbuild": "bin/esbuild"
+      "dependencies": {
+        "@babel/helper-validator-identifier": "^7.28.5",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.1.1"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "optionalDependencies": {
-        "@esbuild/aix-ppc64": "0.25.4",
-        "@esbuild/android-arm": "0.25.4",
-        "@esbuild/android-arm64": "0.25.4",
-        "@esbuild/android-x64": "0.25.4",
-        "@esbuild/darwin-arm64": "0.25.4",
-        "@esbuild/darwin-x64": "0.25.4",
-        "@esbuild/freebsd-arm64": "0.25.4",
-        "@esbuild/freebsd-x64": "0.25.4",
-        "@esbuild/linux-arm": "0.25.4",
-        "@esbuild/linux-arm64": "0.25.4",
-        "@esbuild/linux-ia32": "0.25.4",
-        "@esbuild/linux-loong64": "0.25.4",
-        "@esbuild/linux-mips64el": "0.25.4",
-        "@esbuild/linux-ppc64": "0.25.4",
-        "@esbuild/linux-riscv64": "0.25.4",
-        "@esbuild/linux-s390x": "0.25.4",
-        "@esbuild/linux-x64": "0.25.4",
-        "@esbuild/netbsd-arm64": "0.25.4",
-        "@esbuild/netbsd-x64": "0.25.4",
-        "@esbuild/openbsd-arm64": "0.25.4",
-        "@esbuild/openbsd-x64": "0.25.4",
-        "@esbuild/sunos-x64": "0.25.4",
-        "@esbuild/win32-arm64": "0.25.4",
-        "@esbuild/win32-ia32": "0.25.4",
-        "@esbuild/win32-x64": "0.25.4"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/eventemitter3": {
-      "version": "5.0.1",
-      "dev": true,
-      "license": "MIT"
+        "node": ">=6.9.0"
+      }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/is-interactive": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/@babel/compat-data": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz",
+      "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/is-unicode-supported": {
-      "version": "0.1.0",
-      "dev": true,
+    "node_modules/@babel/core": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz",
+      "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==",
       "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "@babel/code-frame": "^7.28.6",
+        "@babel/generator": "^7.28.6",
+        "@babel/helper-compilation-targets": "^7.28.6",
+        "@babel/helper-module-transforms": "^7.28.6",
+        "@babel/helpers": "^7.28.6",
+        "@babel/parser": "^7.28.6",
+        "@babel/template": "^7.28.6",
+        "@babel/traverse": "^7.28.6",
+        "@babel/types": "^7.28.6",
+        "@jridgewell/remapping": "^2.3.5",
+        "convert-source-map": "^2.0.0",
+        "debug": "^4.1.0",
+        "gensync": "^1.0.0-beta.2",
+        "json5": "^2.2.3",
+        "semver": "^6.3.1"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=6.9.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/babel"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/less": {
-      "version": "4.2.2",
-      "dev": true,
-      "license": "Apache-2.0",
+    "node_modules/@babel/generator": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz",
+      "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==",
+      "license": "MIT",
       "dependencies": {
-        "copy-anything": "^2.0.1",
-        "parse-node-version": "^1.0.1",
-        "tslib": "^2.3.0"
-      },
-      "bin": {
-        "lessc": "bin/lessc"
-      },
-      "engines": {
-        "node": ">=6"
+        "@babel/parser": "^7.28.6",
+        "@babel/types": "^7.28.6",
+        "@jridgewell/gen-mapping": "^0.3.12",
+        "@jridgewell/trace-mapping": "^0.3.28",
+        "jsesc": "^3.0.2"
       },
-      "optionalDependencies": {
-        "errno": "^0.1.1",
-        "graceful-fs": "^4.1.2",
-        "image-size": "~0.5.0",
-        "make-dir": "^2.1.0",
-        "mime": "^1.4.1",
-        "needle": "^3.1.0",
-        "source-map": "~0.6.0"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/less/node_modules/source-map": {
-      "version": "0.6.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "optional": true,
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/listr2": {
-      "version": "8.2.5",
-      "dev": true,
+    "node_modules/@babel/helper-annotate-as-pure": {
+      "version": "7.27.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+      "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
       "license": "MIT",
       "dependencies": {
-        "cli-truncate": "^4.0.0",
-        "colorette": "^2.0.20",
-        "eventemitter3": "^5.0.1",
-        "log-update": "^6.1.0",
-        "rfdc": "^1.4.1",
-        "wrap-ansi": "^9.0.0"
+        "@babel/types": "^7.27.3"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/lmdb": {
-      "version": "3.2.6",
-      "dev": true,
-      "hasInstallScript": true,
+    "node_modules/@babel/helper-compilation-targets": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz",
+      "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==",
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "msgpackr": "^1.11.2",
-        "node-addon-api": "^6.1.0",
-        "node-gyp-build-optional-packages": "5.2.2",
-        "ordered-binary": "^1.5.3",
-        "weak-lru-cache": "^1.2.2"
-      },
-      "bin": {
-        "download-lmdb-prebuilds": "bin/download-prebuilds.js"
+        "@babel/compat-data": "^7.28.6",
+        "@babel/helper-validator-option": "^7.27.1",
+        "browserslist": "^4.24.0",
+        "lru-cache": "^5.1.1",
+        "semver": "^6.3.1"
       },
-      "optionalDependencies": {
-        "@lmdb/lmdb-darwin-arm64": "3.2.6",
-        "@lmdb/lmdb-darwin-x64": "3.2.6",
-        "@lmdb/lmdb-linux-arm": "3.2.6",
-        "@lmdb/lmdb-linux-arm64": "3.2.6",
-        "@lmdb/lmdb-linux-x64": "3.2.6",
-        "@lmdb/lmdb-win32-x64": "3.2.6"
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/make-dir": {
-      "version": "2.1.0",
-      "dev": true,
+    "node_modules/@babel/helper-create-class-features-plugin": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz",
+      "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==",
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-member-expression-to-functions": "^7.28.5",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.28.6",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/traverse": "^7.28.6",
+        "semver": "^6.3.1"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/make-dir/node_modules/semver": {
-      "version": "5.7.2",
-      "dev": true,
-      "license": "ISC",
-      "optional": true,
-      "bin": {
-        "semver": "bin/semver"
+    "node_modules/@babel/helper-globals": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+      "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/nanoid": {
-      "version": "3.3.11",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
+    "node_modules/@babel/helper-member-expression-to-functions": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
+      "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
       "license": "MIT",
-      "bin": {
-        "nanoid": "bin/nanoid.cjs"
+      "dependencies": {
+        "@babel/traverse": "^7.28.5",
+        "@babel/types": "^7.28.5"
       },
       "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/onetime": {
-      "version": "5.1.2",
-      "dev": true,
+    "node_modules/@babel/helper-module-imports": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz",
+      "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==",
       "license": "MIT",
       "dependencies": {
-        "mimic-fn": "^2.1.0"
+        "@babel/traverse": "^7.28.6",
+        "@babel/types": "^7.28.6"
       },
       "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/ora": {
-      "version": "5.4.1",
-      "dev": true,
+    "node_modules/@babel/helper-module-transforms": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz",
+      "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==",
       "license": "MIT",
       "dependencies": {
-        "bl": "^4.1.0",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-spinners": "^2.5.0",
-        "is-interactive": "^1.0.0",
-        "is-unicode-supported": "^0.1.0",
-        "log-symbols": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "wcwidth": "^1.0.1"
+        "@babel/helper-module-imports": "^7.28.6",
+        "@babel/helper-validator-identifier": "^7.28.5",
+        "@babel/traverse": "^7.28.6"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/parse5-html-rewriting-stream": {
-      "version": "7.0.0",
-      "dev": true,
+    "node_modules/@babel/helper-optimise-call-expression": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
+      "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
       "license": "MIT",
       "dependencies": {
-        "entities": "^4.3.0",
-        "parse5": "^7.0.0",
-        "parse5-sax-parser": "^7.0.0"
+        "@babel/types": "^7.27.1"
       },
-      "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
-      }
-    },
-    "node_modules/@angular-devkit/build-angular/node_modules/pify": {
-      "version": "4.0.1",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
       "engines": {
-        "node": ">=6"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/piscina": {
-      "version": "4.8.0",
-      "dev": true,
+    "node_modules/@babel/helper-plugin-utils": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz",
+      "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==",
       "license": "MIT",
-      "optionalDependencies": {
-        "@napi-rs/nice": "^1.0.1"
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/postcss": {
-      "version": "8.5.2",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
+    "node_modules/@babel/helper-replace-supers": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz",
+      "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==",
       "license": "MIT",
       "dependencies": {
-        "nanoid": "^3.3.8",
-        "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
+        "@babel/helper-member-expression-to-functions": "^7.28.5",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/traverse": "^7.28.6"
       },
       "engines": {
-        "node": "^10 || ^12 || >=14"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/restore-cursor": {
-      "version": "3.1.0",
-      "dev": true,
+    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
+      "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
       "license": "MIT",
       "dependencies": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/rollup": {
-      "version": "4.34.8",
+    "node_modules/@babel/helper-split-export-declaration": {
+      "version": "7.24.7",
+      "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+      "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/estree": "1.0.6"
-      },
-      "bin": {
-        "rollup": "dist/bin/rollup"
+        "@babel/types": "^7.24.7"
       },
       "engines": {
-        "node": ">=18.0.0",
-        "npm": ">=8.0.0"
-      },
-      "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.34.8",
-        "@rollup/rollup-android-arm64": "4.34.8",
-        "@rollup/rollup-darwin-arm64": "4.34.8",
-        "@rollup/rollup-darwin-x64": "4.34.8",
-        "@rollup/rollup-freebsd-arm64": "4.34.8",
-        "@rollup/rollup-freebsd-x64": "4.34.8",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.34.8",
-        "@rollup/rollup-linux-arm-musleabihf": "4.34.8",
-        "@rollup/rollup-linux-arm64-gnu": "4.34.8",
-        "@rollup/rollup-linux-arm64-musl": "4.34.8",
-        "@rollup/rollup-linux-loongarch64-gnu": "4.34.8",
-        "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8",
-        "@rollup/rollup-linux-riscv64-gnu": "4.34.8",
-        "@rollup/rollup-linux-s390x-gnu": "4.34.8",
-        "@rollup/rollup-linux-x64-gnu": "4.34.8",
-        "@rollup/rollup-linux-x64-musl": "4.34.8",
-        "@rollup/rollup-win32-arm64-msvc": "4.34.8",
-        "@rollup/rollup-win32-ia32-msvc": "4.34.8",
-        "@rollup/rollup-win32-x64-msvc": "4.34.8",
-        "fsevents": "~2.3.2"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/rxjs": {
-      "version": "7.8.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "tslib": "^2.1.0"
+    "node_modules/@babel/helper-string-parser": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+      "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/sass": {
-      "version": "1.85.0",
-      "dev": true,
+    "node_modules/@babel/helper-validator-identifier": {
+      "version": "7.28.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz",
+      "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helper-validator-option": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+      "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.9.0"
+      }
+    },
+    "node_modules/@babel/helpers": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz",
+      "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==",
       "license": "MIT",
       "dependencies": {
-        "chokidar": "^4.0.0",
-        "immutable": "^5.0.2",
-        "source-map-js": ">=0.6.2 <2.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
+        "@babel/template": "^7.28.6",
+        "@babel/types": "^7.28.6"
       },
       "engines": {
-        "node": ">=14.0.0"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher": "^2.4.1"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/semver": {
-      "version": "7.7.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@babel/parser": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz",
+      "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.28.6"
+      },
       "bin": {
-        "semver": "bin/semver.js"
+        "parser": "bin/babel-parser.js"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/signal-exit": {
-      "version": "3.0.7",
+    "node_modules/@babel/plugin-syntax-async-generators": {
+      "version": "7.8.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
       "dev": true,
-      "license": "ISC"
+      "license": "MIT",
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.8.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/string-width": {
-      "version": "7.2.0",
+    "node_modules/@babel/plugin-syntax-bigint": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+      "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=18"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/string-width/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/@babel/plugin-syntax-class-properties": {
+      "version": "7.12.13",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
+        "@babel/helper-plugin-utils": "^7.12.13"
       },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/wrap-ansi": {
-      "version": "9.0.0",
+    "node_modules/@babel/plugin-syntax-class-static-block": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
+      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "string-width": "^7.0.0",
-        "strip-ansi": "^7.1.0"
+        "@babel/helper-plugin-utils": "^7.14.5"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-angular/node_modules/wrap-ansi/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/@babel/plugin-syntax-import-attributes": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz",
+      "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^6.0.1"
+        "@babel/helper-plugin-utils": "^7.28.6"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-webpack": {
-      "version": "0.1902.15",
+    "node_modules/@babel/plugin-syntax-import-meta": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.1902.15",
-        "rxjs": "7.8.1"
-      },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "@babel/helper-plugin-utils": "^7.10.4"
       },
       "peerDependencies": {
-        "webpack": "^5.30.0",
-        "webpack-dev-server": "^5.0.2"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/architect": {
-      "version": "0.1902.15",
+    "node_modules/@babel/plugin-syntax-json-strings": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "19.2.15",
-        "rxjs": "7.8.1"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-webpack/node_modules/@angular-devkit/core": {
-      "version": "19.2.15",
-      "dev": true,
+    "node_modules/@babel/plugin-syntax-jsx": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz",
+      "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==",
       "license": "MIT",
       "dependencies": {
-        "ajv": "8.17.1",
-        "ajv-formats": "3.0.1",
-        "jsonc-parser": "3.3.1",
-        "picomatch": "4.0.2",
-        "rxjs": "7.8.1",
-        "source-map": "0.7.4"
+        "@babel/helper-plugin-utils": "^7.28.6"
       },
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=6.9.0"
       },
       "peerDependencies": {
-        "chokidar": "^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": {
-      "version": "7.8.1",
+    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "dependencies": {
-        "tslib": "^2.1.0"
+        "@babel/helper-plugin-utils": "^7.10.4"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/core": {
-      "version": "20.0.2",
+    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ajv": "8.17.1",
-        "ajv-formats": "3.0.1",
-        "jsonc-parser": "3.3.1",
-        "picomatch": "4.0.2",
-        "rxjs": "7.8.2",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
       "peerDependencies": {
-        "chokidar": "^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular-devkit/schematics": {
-      "version": "20.0.2",
+    "node_modules/@babel/plugin-syntax-numeric-separator": {
+      "version": "7.10.4",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "20.0.2",
-        "jsonc-parser": "3.3.1",
-        "magic-string": "0.30.17",
-        "ora": "8.2.0",
-        "rxjs": "7.8.2"
+        "@babel/helper-plugin-utils": "^7.10.4"
       },
-      "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli": {
-      "version": "19.2.15",
+    "node_modules/@babel/plugin-syntax-object-rest-spread": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.1902.15",
-        "@angular-devkit/core": "19.2.15",
-        "@angular-devkit/schematics": "19.2.15",
-        "@inquirer/prompts": "7.3.2",
-        "@listr2/prompt-adapter-inquirer": "2.0.18",
-        "@schematics/angular": "19.2.15",
-        "@yarnpkg/lockfile": "1.1.0",
-        "ini": "5.0.0",
-        "jsonc-parser": "3.3.1",
-        "listr2": "8.2.5",
-        "npm-package-arg": "12.0.2",
-        "npm-pick-manifest": "10.0.0",
-        "pacote": "20.0.0",
-        "resolve": "1.22.10",
-        "semver": "7.7.1",
-        "symbol-observable": "4.0.0",
-        "yargs": "17.7.2"
-      },
-      "bin": {
-        "ng": "bin/ng.js"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
-      "version": "0.1902.15",
+    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "19.2.15",
-        "rxjs": "7.8.1"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@angular-devkit/core": {
-      "version": "19.2.15",
+    "node_modules/@babel/plugin-syntax-optional-chaining": {
+      "version": "7.8.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ajv": "8.17.1",
-        "ajv-formats": "3.0.1",
-        "jsonc-parser": "3.3.1",
-        "picomatch": "4.0.2",
-        "rxjs": "7.8.1",
-        "source-map": "0.7.4"
-      },
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "@babel/helper-plugin-utils": "^7.8.0"
       },
       "peerDependencies": {
-        "chokidar": "^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "chokidar": {
-          "optional": true
-        }
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@angular-devkit/schematics": {
-      "version": "19.2.15",
+    "node_modules/@babel/plugin-syntax-private-property-in-object": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
+      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "19.2.15",
-        "jsonc-parser": "3.3.1",
-        "magic-string": "0.30.17",
-        "ora": "5.4.1",
-        "rxjs": "7.8.1"
+        "@babel/helper-plugin-utils": "^7.14.5"
       },
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@inquirer/prompts": {
-      "version": "7.3.2",
+    "node_modules/@babel/plugin-syntax-top-level-await": {
+      "version": "7.14.5",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@inquirer/checkbox": "^4.1.2",
-        "@inquirer/confirm": "^5.1.6",
-        "@inquirer/editor": "^4.2.7",
-        "@inquirer/expand": "^4.0.9",
-        "@inquirer/input": "^4.1.6",
-        "@inquirer/number": "^3.0.9",
-        "@inquirer/password": "^4.0.9",
-        "@inquirer/rawlist": "^4.0.9",
-        "@inquirer/search": "^3.0.9",
-        "@inquirer/select": "^4.0.9"
+        "@babel/helper-plugin-utils": "^7.14.5"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=6.9.0"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@inquirer/type": {
-      "version": "1.5.5",
-      "dev": true,
+    "node_modules/@babel/plugin-syntax-typescript": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz",
+      "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==",
       "license": "MIT",
       "dependencies": {
-        "mute-stream": "^1.0.0"
+        "@babel/helper-plugin-utils": "^7.28.6"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@listr2/prompt-adapter-inquirer": {
-      "version": "2.0.18",
+    "node_modules/@babel/plugin-transform-react-jsx-self": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz",
+      "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@inquirer/type": "^1.5.5"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=6.9.0"
       },
       "peerDependencies": {
-        "@inquirer/prompts": ">= 3 < 8"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/@schematics/angular": {
-      "version": "19.2.15",
+    "node_modules/@babel/plugin-transform-react-jsx-source": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz",
+      "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "19.2.15",
-        "@angular-devkit/schematics": "19.2.15",
-        "jsonc-parser": "3.3.1"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/ansi-regex": {
-      "version": "6.1.0",
-      "dev": true,
+    "node_modules/@babel/plugin-transform-typescript": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.6.tgz",
+      "integrity": "sha512-0YWL2RFxOqEm9Efk5PvreamxPME8OyY0wM5wh5lHjF+VtVhdneCWGzZeSqzOfiobVqQaNCd2z0tQvnI9DaPWPw==",
       "license": "MIT",
+      "dependencies": {
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-create-class-features-plugin": "^7.28.6",
+        "@babel/helper-plugin-utils": "^7.28.6",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/plugin-syntax-typescript": "^7.28.6"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6.9.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@angular/cli/node_modules/ansi-styles": {
-      "version": "6.2.1",
-      "dev": true,
+    "node_modules/@babel/template": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz",
+      "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==",
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "@babel/code-frame": "^7.28.6",
+        "@babel/parser": "^7.28.6",
+        "@babel/types": "^7.28.6"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "engines": {
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/chownr": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@babel/traverse": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz",
+      "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/code-frame": "^7.28.6",
+        "@babel/generator": "^7.28.6",
+        "@babel/helper-globals": "^7.28.0",
+        "@babel/parser": "^7.28.6",
+        "@babel/template": "^7.28.6",
+        "@babel/types": "^7.28.6",
+        "debug": "^4.3.1"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/cli-cursor": {
-      "version": "3.1.0",
-      "dev": true,
+    "node_modules/@babel/types": {
+      "version": "7.28.6",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz",
+      "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==",
       "license": "MIT",
       "dependencies": {
-        "restore-cursor": "^3.1.0"
+        "@babel/helper-string-parser": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.28.5"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/emoji-regex": {
-      "version": "10.4.0",
+    "node_modules/@bcoe/v8-coverage": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+      "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/eventemitter3": {
-      "version": "5.0.1",
+    "node_modules/@braintree/sanitize-url": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz",
+      "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/is-interactive": {
-      "version": "1.0.0",
+    "node_modules/@bufbuild/protobuf": {
+      "version": "2.11.0",
+      "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.11.0.tgz",
+      "integrity": "sha512-sBXGT13cpmPR5BMgHE6UEEfEaShh5Ror6rfN3yEK5si7QVrtZg8LEPQb0VVhiLRUslD2yLnXtnRzG035J/mZXQ==",
+      "devOptional": true,
+      "license": "(Apache-2.0 AND BSD-3-Clause)"
+    },
+    "node_modules/@chevrotain/cst-dts-gen": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@chevrotain/cst-dts-gen/-/cst-dts-gen-11.0.3.tgz",
+      "integrity": "sha512-BvIKpRLeS/8UbfxXxgC33xOumsacaeCKAjAeLyOn7Pcp95HiRbrpl14S+9vaZLolnbssPIUuiUd8IvgkRyt6NQ==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@chevrotain/gast": "11.0.3",
+        "@chevrotain/types": "11.0.3",
+        "lodash-es": "4.17.21"
       }
     },
-    "node_modules/@angular/cli/node_modules/is-unicode-supported": {
-      "version": "0.1.0",
+    "node_modules/@chevrotain/cst-dts-gen/node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/listr2": {
-      "version": "8.2.5",
+    "node_modules/@chevrotain/gast": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@chevrotain/gast/-/gast-11.0.3.tgz",
+      "integrity": "sha512-+qNfcoNk70PyS/uxmj3li5NiECO+2YKZZQMbmjTqRI3Qchu8Hig/Q9vgkHpI3alNjr7M+a2St5pw5w5F6NL5/Q==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "dependencies": {
-        "cli-truncate": "^4.0.0",
-        "colorette": "^2.0.20",
-        "eventemitter3": "^5.0.1",
-        "log-update": "^6.1.0",
-        "rfdc": "^1.4.1",
-        "wrap-ansi": "^9.0.0"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "@chevrotain/types": "11.0.3",
+        "lodash-es": "4.17.21"
       }
     },
-    "node_modules/@angular/cli/node_modules/minizlib": {
-      "version": "2.1.2",
+    "node_modules/@chevrotain/gast/node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
+      "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/minizlib/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/@chevrotain/regexp-to-ast": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@chevrotain/regexp-to-ast/-/regexp-to-ast-11.0.3.tgz",
+      "integrity": "sha512-1fMHaBZxLFvWI067AVbGJav1eRY7N8DDvYCTwGBiE/ytKBgP8azTdgyrKyWZ9Mfh09eHWb5PgTSO8wi7U824RA==",
       "dev": true,
-      "license": "ISC",
+      "license": "Apache-2.0"
+    },
+    "node_modules/@chevrotain/types": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@chevrotain/types/-/types-11.0.3.tgz",
+      "integrity": "sha512-gsiM3G8b58kZC2HaWR50gu6Y1440cHiJ+i3JUvcp/35JchYejb2+5MVeJK0iKThYpAa/P2PYFV4hoi44HD+aHQ==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/@chevrotain/utils": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/@chevrotain/utils/-/utils-11.0.3.tgz",
+      "integrity": "sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/@clack/core": {
+      "version": "1.0.0-alpha.7",
+      "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.0.0-alpha.7.tgz",
+      "integrity": "sha512-3vdh6Ar09D14rVxJZIm3VQJkU+ZOKKT5I5cC0cOVazy70CNyYYjiwRj9unwalhESndgxx6bGc/m6Hhs4EKF5XQ==",
+      "license": "MIT",
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "picocolors": "^1.0.0",
+        "sisteransi": "^1.0.5"
       }
     },
-    "node_modules/@angular/cli/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "dev": true,
+    "node_modules/@clack/prompts": {
+      "version": "1.0.0-alpha.9",
+      "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.0.0-alpha.9.tgz",
+      "integrity": "sha512-sKs0UjiHFWvry4SiRfBi5Qnj0C/6AYx8aKkFPZQSuUZXgAram25ZDmhQmP7vj1aFyLpfHWtLQjWvOvcat0TOLg==",
       "license": "MIT",
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "@clack/core": "1.0.0-alpha.7",
+        "picocolors": "^1.0.0",
+        "sisteransi": "^1.0.5"
       }
     },
-    "node_modules/@angular/cli/node_modules/mute-stream": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@cloudflare/kv-asset-handler": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/@cloudflare/kv-asset-handler/-/kv-asset-handler-0.4.2.tgz",
+      "integrity": "sha512-SIOD2DxrRRwQ+jgzlXCqoEFiKOFqaPjhnNTGKXSRLvp1HiOvapLaFG2kEr9dYQTYe8rKrd9uvDUzmAITeNyaHQ==",
+      "license": "MIT OR Apache-2.0",
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/npm-packlist": {
-      "version": "9.0.0",
+    "node_modules/@csstools/color-helpers": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
+      "integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "ignore-walk": "^7.0.0"
-      },
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools"
+        }
+      ],
+      "license": "MIT-0",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/cli/node_modules/onetime": {
-      "version": "5.1.2",
+    "node_modules/@csstools/css-calc": {
+      "version": "2.1.4",
+      "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
+      "integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools"
+        }
+      ],
       "license": "MIT",
-      "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
       "engines": {
-        "node": ">=6"
+        "node": ">=18"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@csstools/css-parser-algorithms": "^3.0.5",
+        "@csstools/css-tokenizer": "^3.0.4"
       }
     },
-    "node_modules/@angular/cli/node_modules/ora": {
-      "version": "5.4.1",
+    "node_modules/@csstools/css-color-parser": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
+      "integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools"
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "bl": "^4.1.0",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-spinners": "^2.5.0",
-        "is-interactive": "^1.0.0",
-        "is-unicode-supported": "^0.1.0",
-        "log-symbols": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "wcwidth": "^1.0.1"
+        "@csstools/color-helpers": "^5.1.0",
+        "@csstools/css-calc": "^2.1.4"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@csstools/css-parser-algorithms": "^3.0.5",
+        "@csstools/css-tokenizer": "^3.0.4"
       }
     },
-    "node_modules/@angular/cli/node_modules/pacote": {
-      "version": "20.0.0",
+    "node_modules/@csstools/css-parser-algorithms": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
+      "integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "@npmcli/git": "^6.0.0",
-        "@npmcli/installed-package-contents": "^3.0.0",
-        "@npmcli/package-json": "^6.0.0",
-        "@npmcli/promise-spawn": "^8.0.0",
-        "@npmcli/run-script": "^9.0.0",
-        "cacache": "^19.0.0",
-        "fs-minipass": "^3.0.0",
-        "minipass": "^7.0.2",
-        "npm-package-arg": "^12.0.0",
-        "npm-packlist": "^9.0.0",
-        "npm-pick-manifest": "^10.0.0",
-        "npm-registry-fetch": "^18.0.0",
-        "proc-log": "^5.0.0",
-        "promise-retry": "^2.0.1",
-        "sigstore": "^3.0.0",
-        "ssri": "^12.0.0",
-        "tar": "^6.1.11"
-      },
-      "bin": {
-        "pacote": "bin/index.js"
-      },
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools"
+        }
+      ],
+      "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=18"
+      },
+      "peerDependencies": {
+        "@csstools/css-tokenizer": "^3.0.4"
       }
     },
-    "node_modules/@angular/cli/node_modules/restore-cursor": {
-      "version": "3.1.0",
+    "node_modules/@csstools/css-tokenizer": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
+      "integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
       "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/csstools"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/csstools"
+        }
+      ],
       "license": "MIT",
-      "dependencies": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
-      },
+      "peer": true,
       "engines": {
-        "node": ">=8"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/cli/node_modules/rxjs": {
-      "version": "7.8.1",
-      "dev": true,
-      "license": "Apache-2.0",
+    "node_modules/@dxup/nuxt": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/@dxup/nuxt/-/nuxt-0.3.2.tgz",
+      "integrity": "sha512-2f2usP4oLNsIGjPprvABe3f3GWuIhIDp0169pGLFxTDRI5A4d4sBbGpR+tD9bGZCT+1Btb6Q2GKlyv3LkDCW5g==",
+      "license": "MIT",
       "dependencies": {
-        "tslib": "^2.1.0"
+        "@dxup/unimport": "^0.1.2",
+        "@nuxt/kit": "^4.2.2",
+        "chokidar": "^5.0.0",
+        "pathe": "^2.0.3",
+        "tinyglobby": "^0.2.15"
       }
     },
-    "node_modules/@angular/cli/node_modules/semver": {
-      "version": "7.7.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/@angular/cli/node_modules/signal-exit": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "ISC"
+    "node_modules/@dxup/unimport": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/@dxup/unimport/-/unimport-0.1.2.tgz",
+      "integrity": "sha512-/B8YJGPzaYq1NbsQmwgP8EZqg40NpTw4ZB3suuI0TplbxKHeK94jeaawLmVhCv+YwUnOpiWEz9U6SeThku/8JQ==",
+      "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/string-width": {
-      "version": "7.2.0",
-      "dev": true,
+    "node_modules/@emnapi/core": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.8.1.tgz",
+      "integrity": "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg==",
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@emnapi/wasi-threads": "1.1.0",
+        "tslib": "^2.4.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/string-width/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
+    "node_modules/@emnapi/runtime": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.8.1.tgz",
+      "integrity": "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg==",
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "tslib": "^2.4.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/tar": {
-      "version": "6.2.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@emnapi/wasi-threads": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz",
+      "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==",
+      "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^5.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
+        "tslib": "^2.4.0"
       }
     },
-    "node_modules/@angular/cli/node_modules/tar/node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
+    "node_modules/@emotion/unitless": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz",
+      "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==",
+      "license": "MIT"
     },
-    "node_modules/@angular/cli/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/@epic-web/invariant": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/@epic-web/invariant/-/invariant-1.0.0.tgz",
+      "integrity": "sha512-lrTPqgvfFQtR/eY/qkIzp98OGdNJu0m5ji3q/nJI8v3SXkRKEnWiOxMmbvcSoAIzv/cGiuvRy57k4suKQSAdwA==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
+      "license": "MIT"
+    },
+    "node_modules/@esbuild/aix-ppc64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
+      "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
+      "cpu": [
+        "ppc64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "aix"
+      ],
       "engines": {
-        "node": ">=8"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/cli/node_modules/tar/node_modules/minipass": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@esbuild/android-arm": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
+      "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=8"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/cli/node_modules/wrap-ansi": {
-      "version": "9.0.0",
-      "dev": true,
+    "node_modules/@esbuild/android-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
+      "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "string-width": "^7.0.0",
-        "strip-ansi": "^7.1.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
         "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@angular/cli/node_modules/wrap-ansi/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
+    "node_modules/@esbuild/android-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
+      "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/cli/node_modules/yallist": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/@angular/common": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/darwin-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
+      "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
-      },
-      "peerDependencies": {
-        "@angular/core": "20.0.3",
-        "rxjs": "^6.5.3 || ^7.4.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/compiler": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/darwin-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
+      "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/compiler-cli": {
-      "version": "19.2.14",
-      "dev": true,
+    "node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
+      "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/core": "7.26.9",
-        "@jridgewell/sourcemap-codec": "^1.4.14",
-        "chokidar": "^4.0.0",
-        "convert-source-map": "^1.5.1",
-        "reflect-metadata": "^0.2.0",
-        "semver": "^7.0.0",
-        "tslib": "^2.3.0",
-        "yargs": "^17.2.1"
-      },
-      "bin": {
-        "ng-xi18n": "bundles/src/bin/ng_xi18n.js",
-        "ngc": "bundles/src/bin/ngc.js",
-        "ngcc": "bundles/ngcc/index.js"
-      },
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler": "19.2.14",
-        "typescript": ">=5.5 <5.9"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/compiler-cli/node_modules/@babel/core": {
-      "version": "7.26.9",
-      "dev": true,
+    "node_modules/@esbuild/freebsd-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
+      "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.26.2",
-        "@babel/generator": "^7.26.9",
-        "@babel/helper-compilation-targets": "^7.26.5",
-        "@babel/helper-module-transforms": "^7.26.0",
-        "@babel/helpers": "^7.26.9",
-        "@babel/parser": "^7.26.9",
-        "@babel/template": "^7.26.9",
-        "@babel/traverse": "^7.26.9",
-        "@babel/types": "^7.26.9",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
-      },
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+    "node_modules/@esbuild/linux-arm": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
+      "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/core": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/linux-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
+      "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler": "20.0.3",
-        "rxjs": "^6.5.3 || ^7.4.0",
-        "zone.js": "~0.15.0"
-      },
-      "peerDependenciesMeta": {
-        "@angular/compiler": {
-          "optional": true
-        },
-        "zone.js": {
-          "optional": true
-        }
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/forms": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/linux-ia32": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
+      "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
+      "cpu": [
+        "ia32"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
-      },
-      "peerDependencies": {
-        "@angular/common": "20.0.3",
-        "@angular/core": "20.0.3",
-        "@angular/platform-browser": "20.0.3",
-        "rxjs": "^6.5.3 || ^7.4.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/platform-browser": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/linux-loong64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
+      "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
+      "cpu": [
+        "loong64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
-      },
-      "peerDependencies": {
-        "@angular/animations": "20.0.3",
-        "@angular/common": "20.0.3",
-        "@angular/core": "20.0.3"
-      },
-      "peerDependenciesMeta": {
-        "@angular/animations": {
-          "optional": true
-        }
+        "node": ">=18"
       }
     },
-    "node_modules/@angular/router": {
-      "version": "20.0.3",
+    "node_modules/@esbuild/linux-mips64el": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
+      "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
+      "cpu": [
+        "mips64el"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.3.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
-      },
-      "peerDependencies": {
-        "@angular/common": "20.0.3",
-        "@angular/core": "20.0.3",
-        "@angular/platform-browser": "20.0.3",
-        "rxjs": "^6.5.3 || ^7.4.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@antfu/install-pkg": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/@esbuild/linux-ppc64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
+      "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
+      "cpu": [
+        "ppc64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "package-manager-detector": "^1.3.0",
-        "tinyexec": "^1.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@antfu/utils": {
-      "version": "8.1.1",
-      "dev": true,
+    "node_modules/@esbuild/linux-riscv64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
+      "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
+      "cpu": [
+        "riscv64"
+      ],
       "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@asamuzakjp/css-color": {
-      "version": "3.2.0",
-      "dev": true,
+    "node_modules/@esbuild/linux-s390x": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
+      "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
+      "cpu": [
+        "s390x"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@csstools/css-calc": "^2.1.3",
-        "@csstools/css-color-parser": "^3.0.9",
-        "@csstools/css-parser-algorithms": "^3.0.4",
-        "@csstools/css-tokenizer": "^3.0.3",
-        "lru-cache": "^10.4.3"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@asamuzakjp/css-color/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/@axe-core/playwright": {
-      "version": "4.11.0",
-      "dev": true,
-      "license": "MPL-2.0",
-      "dependencies": {
-        "axe-core": "~4.11.0"
-      },
-      "peerDependencies": {
-        "playwright-core": ">= 1.0.0"
+    "node_modules/@esbuild/linux-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
+      "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/code-frame": {
-      "version": "7.27.1",
+    "node_modules/@esbuild/netbsd-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
+      "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-validator-identifier": "^7.27.1",
-        "js-tokens": "^4.0.0",
-        "picocolors": "^1.1.1"
-      },
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/compat-data": {
-      "version": "7.27.5",
+    "node_modules/@esbuild/netbsd-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
+      "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/core": {
-      "version": "7.27.1",
+    "node_modules/@esbuild/openbsd-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
+      "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.27.1",
-        "@babel/generator": "^7.27.1",
-        "@babel/helper-compilation-targets": "^7.27.1",
-        "@babel/helper-module-transforms": "^7.27.1",
-        "@babel/helpers": "^7.27.1",
-        "@babel/parser": "^7.27.1",
-        "@babel/template": "^7.27.1",
-        "@babel/traverse": "^7.27.1",
-        "@babel/types": "^7.27.1",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
-      },
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/core/node_modules/@babel/generator": {
-      "version": "7.27.5",
+    "node_modules/@esbuild/openbsd-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
+      "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.5",
-        "@babel/types": "^7.27.3",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^3.0.2"
-      },
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/core/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "license": "MIT"
-    },
-    "node_modules/@babel/core/node_modules/semver": {
-      "version": "6.3.1",
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+    "node_modules/@esbuild/openharmony-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
+      "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/generator": {
-      "version": "7.26.10",
-      "dev": true,
+    "node_modules/@esbuild/sunos-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
+      "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.26.10",
-        "@babel/types": "^7.26.10",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^3.0.2"
-      },
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.27.1",
+    "node_modules/@esbuild/win32-arm64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
+      "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.27.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.27.2",
+    "node_modules/@esbuild/win32-ia32": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
+      "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
+      "cpu": [
+        "ia32"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@babel/compat-data": "^7.27.2",
-        "@babel/helper-validator-option": "^7.27.1",
-        "browserslist": "^4.24.0",
-        "lru-cache": "^5.1.1",
-        "semver": "^6.3.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-      "version": "6.3.1",
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+    "node_modules/@esbuild/win32-x64": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
+      "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.27.1",
+    "node_modules/@eslint-community/eslint-utils": {
+      "version": "4.9.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz",
+      "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "@babel/helper-member-expression-to-functions": "^7.27.1",
-        "@babel/helper-optimise-call-expression": "^7.27.1",
-        "@babel/helper-replace-supers": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
-        "@babel/traverse": "^7.27.1",
-        "semver": "^6.3.1"
+        "eslint-visitor-keys": "^3.4.3"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
       }
     },
-    "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
-      "version": "6.3.1",
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+    "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+      "version": "3.4.3",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+      "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+      "devOptional": true,
+      "license": "Apache-2.0",
+      "engines": {
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@eslint-community/regexpp": {
+      "version": "4.12.2",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz",
+      "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "regexpu-core": "^6.2.0",
-        "semver": "^6.3.1"
-      },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
       }
     },
-    "node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.6.4",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@eslint/config-array": {
+      "version": "0.21.1",
+      "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz",
+      "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
-        "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
+        "@eslint/object-schema": "^2.1.7",
+        "debug": "^4.3.1",
+        "minimatch": "^3.1.2"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@eslint/config-helpers": {
+      "version": "0.4.2",
+      "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz",
+      "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@babel/traverse": "^7.27.1",
-        "@babel/types": "^7.27.1"
+        "@eslint/core": "^0.17.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@babel/helper-module-imports": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@eslint/core": {
+      "version": "0.17.0",
+      "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz",
+      "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@babel/traverse": "^7.27.1",
-        "@babel/types": "^7.27.1"
+        "@types/json-schema": "^7.0.15"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@babel/helper-module-transforms": {
-      "version": "7.27.3",
+    "node_modules/@eslint/eslintrc": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz",
+      "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "^7.27.1",
-        "@babel/helper-validator-identifier": "^7.27.1",
-        "@babel/traverse": "^7.27.3"
+        "ajv": "^6.12.4",
+        "debug": "^4.3.2",
+        "espree": "^10.0.1",
+        "globals": "^14.0.0",
+        "ignore": "^5.2.0",
+        "import-fresh": "^3.2.1",
+        "js-yaml": "^4.1.1",
+        "minimatch": "^3.1.2",
+        "strip-json-comments": "^3.1.1"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.27.1",
+    "node_modules/@eslint/js": {
+      "version": "9.39.2",
+      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz",
+      "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.27.1"
-      },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "url": "https://eslint.org/donate"
       }
     },
-    "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@eslint/object-schema": {
+      "version": "2.1.7",
+      "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz",
+      "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.27.1",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@eslint/plugin-kit": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz",
+      "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "@babel/helper-wrap-function": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
+        "@eslint/core": "^0.17.0",
+        "levn": "^0.4.1"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@babel/helper-replace-supers": {
-      "version": "7.27.1",
+    "node_modules/@fastify/busboy": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
+      "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-member-expression-to-functions": "^7.27.1",
-        "@babel/helper-optimise-call-expression": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
-      },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "node": ">=14"
       }
     },
-    "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.27.1",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/traverse": "^7.27.1",
-        "@babel/types": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+    "node_modules/@fontsource-variable/material-symbols-outlined": {
+      "version": "5.2.33",
+      "resolved": "https://registry.npmjs.org/@fontsource-variable/material-symbols-outlined/-/material-symbols-outlined-5.2.33.tgz",
+      "integrity": "sha512-pGEtkwxGD6h2PI7rd5ljWS4CK9Vi35PooPOAVDwKpzq4Yj5CjAJjPRxJ9+kwJqsjexUJbmwvK3mbAhvJdErwvQ==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
       }
     },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.24.7",
+    "node_modules/@fontsource-variable/material-symbols-rounded": {
+      "version": "5.2.33",
+      "resolved": "https://registry.npmjs.org/@fontsource-variable/material-symbols-rounded/-/material-symbols-rounded-5.2.33.tgz",
+      "integrity": "sha512-hGGdP2HUlq58u8NAQ7i6f6XRVcmTOnqNUy14tSiMRX1ETPCburmcAKLt3NcXBJ4p51l6BsYBOZXM/RDIDQe0hw==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
+      }
+    },
+    "node_modules/@fontsource-variable/material-symbols-sharp": {
+      "version": "5.2.33",
+      "resolved": "https://registry.npmjs.org/@fontsource-variable/material-symbols-sharp/-/material-symbols-sharp-5.2.33.tgz",
+      "integrity": "sha512-XHEofjMtqH0JfmfBGqBCiRI38iruWOtoSXK4pD7hijnk3CJsNX893MBwQSj+zAMV4UqIJoxm/HN5i9dZsILPTg==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
+      }
+    },
+    "node_modules/@fontsource/material-icons": {
+      "version": "5.2.7",
+      "resolved": "https://registry.npmjs.org/@fontsource/material-icons/-/material-icons-5.2.7.tgz",
+      "integrity": "sha512-crPmK0L34lPGmS5GSGLasKpRGQzl95SxMsLM+QhBHPgR9uxSsyI5CUTb0cgoMpjtR+Bf1bC9QOe6pavoybbBwg==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
+      }
+    },
+    "node_modules/@fontsource/material-icons-outlined": {
+      "version": "5.2.6",
+      "resolved": "https://registry.npmjs.org/@fontsource/material-icons-outlined/-/material-icons-outlined-5.2.6.tgz",
+      "integrity": "sha512-99XKAkwnCg0s0/ywax+o3m01HSNM5gGzSBw+WnlWG2+WY3wOjcN+wXMfm4zP37Yme7Yze2DvKxF78tHWOrlwFw==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
+      }
+    },
+    "node_modules/@fontsource/noto-sans": {
+      "version": "5.2.10",
+      "resolved": "https://registry.npmjs.org/@fontsource/noto-sans/-/noto-sans-5.2.10.tgz",
+      "integrity": "sha512-J58RVfS/C0Z2VBF+PoU260Tx8cdRGYuS+e3yQe4hYaIYDl0sEVn5CzlLo5zVRvQD0HaIUTV8AZMfqR7rtdEpqQ==",
+      "dev": true,
+      "license": "OFL-1.1",
+      "funding": {
+        "url": "https://github.com/sponsors/ayuhito"
+      }
+    },
+    "node_modules/@hono/node-server": {
+      "version": "1.19.9",
+      "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz",
+      "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.24.7"
+      "engines": {
+        "node": ">=18.14.1"
       },
+      "peerDependencies": {
+        "hono": "^4"
+      }
+    },
+    "node_modules/@humanfs/core": {
+      "version": "0.19.1",
+      "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+      "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18.18.0"
       }
     },
-    "node_modules/@babel/helper-string-parser": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@humanfs/node": {
+      "version": "0.16.7",
+      "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz",
+      "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==",
+      "devOptional": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@humanfs/core": "^0.19.1",
+        "@humanwhocodes/retry": "^0.4.0"
+      },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18.18.0"
       }
     },
-    "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@humanwhocodes/module-importer": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+      "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12.22"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
       }
     },
-    "node_modules/@babel/helper-validator-option": {
-      "version": "7.27.1",
-      "license": "MIT",
+    "node_modules/@humanwhocodes/retry": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
+      "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
+      "devOptional": true,
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18.18"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/nzakas"
       }
     },
-    "node_modules/@babel/helper-wrap-function": {
-      "version": "7.27.1",
+    "node_modules/@iconify-json/simple-icons": {
+      "version": "1.2.68",
+      "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.68.tgz",
+      "integrity": "sha512-bQPl1zuZlX6AnofreA1v7J+hoPncrFMppqGboe/SH54jZO37meiBUGBqNOxEpc0HKfZGxJaVVJwZd4gdMYu3hw==",
       "dev": true,
-      "license": "MIT",
+      "license": "CC0-1.0",
       "dependencies": {
-        "@babel/template": "^7.27.1",
-        "@babel/traverse": "^7.27.1",
-        "@babel/types": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+        "@iconify/types": "*"
       }
     },
-    "node_modules/@babel/helpers": {
-      "version": "7.27.6",
+    "node_modules/@iconify/types": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@iconify/types/-/types-2.0.0.tgz",
+      "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@iconify/utils": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@iconify/utils/-/utils-3.1.0.tgz",
+      "integrity": "sha512-Zlzem1ZXhI1iHeeERabLNzBHdOa4VhQbqAcOQaMKuTuyZCpwKbC2R4Dd0Zo3g9EAc+Y4fiarO8HIHRAth7+skw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/template": "^7.27.2",
-        "@babel/types": "^7.27.6"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+        "@antfu/install-pkg": "^1.1.0",
+        "@iconify/types": "^2.0.0",
+        "mlly": "^1.8.0"
       }
     },
-    "node_modules/@babel/parser": {
-      "version": "7.27.5",
+    "node_modules/@inquirer/ansi": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.2.tgz",
+      "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.27.3"
-      },
-      "bin": {
-        "parser": "bin/babel-parser.js"
-      },
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/checkbox": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.2.tgz",
+      "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
+        "@inquirer/ansi": "^1.0.2",
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/figures": "^1.0.15",
+        "@inquirer/type": "^3.0.10",
+        "yoctocolors-cjs": "^2.1.3"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/confirm": {
+      "version": "5.1.21",
+      "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.21.tgz",
+      "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
+      }
     },
-    "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/core": {
+      "version": "10.3.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.2.tgz",
+      "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@inquirer/ansi": "^1.0.2",
+        "@inquirer/figures": "^1.0.15",
+        "@inquirer/type": "^3.0.10",
+        "cli-width": "^4.1.0",
+        "mute-stream": "^2.0.0",
+        "signal-exit": "^4.1.0",
+        "wrap-ansi": "^6.2.0",
+        "yoctocolors-cjs": "^2.1.3"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/core/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
-        "@babel/plugin-transform-optional-chaining": "^7.27.1"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=14"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.13.0"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/core/node_modules/wrap-ansi": {
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
+      "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
+        "ansi-styles": "^4.0.0",
+        "string-width": "^4.1.0",
+        "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-proposal-private-property-in-object": {
-      "version": "7.21.0-placeholder-for-preset-env.2",
+    "node_modules/@inquirer/editor": {
+      "version": "4.2.23",
+      "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.23.tgz",
+      "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/external-editor": "^1.0.3",
+        "@inquirer/type": "^3.0.10"
+      },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
+    "node_modules/@inquirer/expand": {
+      "version": "4.0.23",
+      "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.23.tgz",
+      "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10",
+        "yoctocolors-cjs": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-bigint": {
-      "version": "7.8.3",
+    "node_modules/@inquirer/external-editor": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.3.tgz",
+      "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "chardet": "^2.1.1",
+        "iconv-lite": "^0.7.0"
+      },
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
+    "node_modules/@inquirer/figures": {
+      "version": "1.0.15",
+      "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.15.tgz",
+      "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
+    "node_modules/@inquirer/input": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.3.1.tgz",
+      "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-import-assertions": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/number": {
+      "version": "3.0.23",
+      "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.23.tgz",
+      "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-import-attributes": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/password": {
+      "version": "4.0.23",
+      "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.23.tgz",
+      "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@inquirer/ansi": "^1.0.2",
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
+    "node_modules/@inquirer/prompts": {
+      "version": "7.10.1",
+      "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.10.1.tgz",
+      "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
+        "@inquirer/checkbox": "^4.3.2",
+        "@inquirer/confirm": "^5.1.21",
+        "@inquirer/editor": "^4.2.23",
+        "@inquirer/expand": "^4.0.23",
+        "@inquirer/input": "^4.3.1",
+        "@inquirer/number": "^3.0.23",
+        "@inquirer/password": "^4.0.23",
+        "@inquirer/rawlist": "^4.1.11",
+        "@inquirer/search": "^3.2.2",
+        "@inquirer/select": "^4.4.2"
+      },
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
+    "node_modules/@inquirer/rawlist": {
+      "version": "4.1.11",
+      "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.11.tgz",
+      "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/type": "^3.0.10",
+        "yoctocolors-cjs": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-jsx": {
-      "version": "7.27.1",
+    "node_modules/@inquirer/search": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.2.tgz",
+      "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/figures": "^1.0.15",
+        "@inquirer/type": "^3.0.10",
+        "yoctocolors-cjs": "^2.1.3"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
+    "node_modules/@inquirer/select": {
+      "version": "4.4.2",
+      "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.2.tgz",
+      "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
+        "@inquirer/ansi": "^1.0.2",
+        "@inquirer/core": "^10.3.2",
+        "@inquirer/figures": "^1.0.15",
+        "@inquirer/type": "^3.0.10",
+        "yoctocolors-cjs": "^2.1.3"
+      },
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
+    "node_modules/@inquirer/type": {
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.10.tgz",
+      "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+      "engines": {
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/node": ">=18"
+      },
+      "peerDependenciesMeta": {
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "dev": true,
+    "node_modules/@ioredis/commands": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.5.0.tgz",
+      "integrity": "sha512-eUgLqrMf8nJkZxT24JvVRrQya1vZkQh8BBeYNwGDqa5I0VUi8ACx7uFvAaLxintokpTenkK6DASvo/bvNbBGow==",
+      "license": "MIT"
+    },
+    "node_modules/@isaacs/balanced-match": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
+      "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "engines": {
+        "node": "20 || >=22"
       }
     },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "dev": true,
+    "node_modules/@isaacs/brace-expansion": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
+      "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "@isaacs/balanced-match": "^4.0.1"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "engines": {
+        "node": "20 || >=22"
       }
     },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@isaacs/cliui": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+      "license": "ISC",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "string-width": "^5.1.2",
+        "string-width-cjs": "npm:string-width@^4.2.0",
+        "strip-ansi": "^7.0.1",
+        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+        "wrap-ansi": "^8.1.0",
+        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "dev": true,
+    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+      "engines": {
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "dev": true,
+    "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "dev": true,
+    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+      "license": "MIT"
+    },
+    "node_modules/@isaacs/cliui/node_modules/string-width": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
+        "eastasianwidth": "^0.2.0",
+        "emoji-regex": "^9.2.2",
+        "strip-ansi": "^7.0.1"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@babel/plugin-syntax-typescript": {
-      "version": "7.27.1",
+    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
-      "version": "7.18.6",
-      "dev": true,
+    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.18.6",
-        "@babel/helper-plugin-utils": "^7.18.6"
+        "ansi-styles": "^6.1.0",
+        "string-width": "^5.0.1",
+        "strip-ansi": "^7.0.1"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.27.1",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@isaacs/fs-minipass": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+      "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
+      "license": "ISC",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "minipass": "^7.0.4"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-async-generator-functions": {
-      "version": "7.26.8",
+    "node_modules/@istanbuljs/load-nyc-config": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+      "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.26.5",
-        "@babel/helper-remap-async-to-generator": "^7.25.9",
-        "@babel/traverse": "^7.26.8"
+        "camelcase": "^5.3.1",
+        "find-up": "^4.1.0",
+        "get-package-type": "^0.1.0",
+        "js-yaml": "^3.13.1",
+        "resolve-from": "^5.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.25.9",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "^7.25.9",
-        "@babel/helper-plugin-utils": "^7.25.9",
-        "@babel/helper-remap-async-to-generator": "^7.25.9"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "sprintf-js": "~1.0.2"
       }
     },
-    "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.27.1",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.27.5",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+      "version": "3.14.2",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+      "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+        "argparse": "^1.0.7",
+        "esprima": "^4.0.0"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "bin": {
+        "js-yaml": "bin/js-yaml.js"
       }
     },
-    "node_modules/@babel/plugin-transform-class-properties": {
-      "version": "7.27.1",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "p-locate": "^4.1.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-class-static-block": {
-      "version": "7.27.1",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "p-try": "^2.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=6"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.12.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.27.1",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "@babel/helper-compilation-targets": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-replace-supers": "^7.27.1",
-        "@babel/traverse": "^7.27.1",
-        "globals": "^11.1.0"
+        "p-limit": "^2.2.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.27.1",
+    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/template": "^7.27.1"
-      },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.27.3",
+    "node_modules/@istanbuljs/schema": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+      "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=8"
       }
     },
-    "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.27.1",
+    "node_modules/@jest/console": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+      "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "jest-message-util": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "slash": "^3.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.27.1",
+    "node_modules/@jest/core": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+      "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/console": "^29.7.0",
+        "@jest/reporters": "^29.7.0",
+        "@jest/test-result": "^29.7.0",
+        "@jest/transform": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "exit": "^0.1.2",
+        "graceful-fs": "^4.2.9",
+        "jest-changed-files": "^29.7.0",
+        "jest-config": "^29.7.0",
+        "jest-haste-map": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-regex-util": "^29.6.3",
+        "jest-resolve": "^29.7.0",
+        "jest-resolve-dependencies": "^29.7.0",
+        "jest-runner": "^29.7.0",
+        "jest-runtime": "^29.7.0",
+        "jest-snapshot": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "jest-validate": "^29.7.0",
+        "jest-watcher": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^29.7.0",
+        "slash": "^3.0.0",
+        "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+      },
+      "peerDependenciesMeta": {
+        "node-notifier": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
-      "version": "7.27.1",
+    "node_modules/@jest/environment": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+      "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/fake-timers": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "jest-mock": "^29.7.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-dynamic-import": {
-      "version": "7.27.1",
+    "node_modules/@jest/expect": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+      "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "expect": "^29.7.0",
+        "jest-snapshot": "^29.7.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.27.1",
+    "node_modules/@jest/expect-utils": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+      "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "jest-get-type": "^29.6.3"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-export-namespace-from": {
-      "version": "7.27.1",
+    "node_modules/@jest/fake-timers": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+      "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/types": "^29.6.3",
+        "@sinonjs/fake-timers": "^10.0.2",
+        "@types/node": "*",
+        "jest-message-util": "^29.7.0",
+        "jest-mock": "^29.7.0",
+        "jest-util": "^29.7.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.27.1",
+    "node_modules/@jest/globals": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+      "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+        "@jest/environment": "^29.7.0",
+        "@jest/expect": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "jest-mock": "^29.7.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.27.1",
+    "node_modules/@jest/reporters": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+      "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
+        "@bcoe/v8-coverage": "^0.2.3",
+        "@jest/console": "^29.7.0",
+        "@jest/test-result": "^29.7.0",
+        "@jest/transform": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@jridgewell/trace-mapping": "^0.3.18",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "collect-v8-coverage": "^1.0.0",
+        "exit": "^0.1.2",
+        "glob": "^7.1.3",
+        "graceful-fs": "^4.2.9",
+        "istanbul-lib-coverage": "^3.0.0",
+        "istanbul-lib-instrument": "^6.0.0",
+        "istanbul-lib-report": "^3.0.0",
+        "istanbul-lib-source-maps": "^4.0.0",
+        "istanbul-reports": "^3.1.3",
+        "jest-message-util": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "jest-worker": "^29.7.0",
+        "slash": "^3.0.0",
+        "string-length": "^4.0.1",
+        "strip-ansi": "^6.0.0",
+        "v8-to-istanbul": "^9.0.1"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+      },
+      "peerDependenciesMeta": {
+        "node-notifier": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@babel/plugin-transform-json-strings": {
-      "version": "7.27.1",
+    "node_modules/@jest/schemas": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+      "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@sinclair/typebox": "^0.27.8"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.27.1",
+    "node_modules/@jest/source-map": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+      "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jridgewell/trace-mapping": "^0.3.18",
+        "callsites": "^3.0.0",
+        "graceful-fs": "^4.2.9"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-logical-assignment-operators": {
-      "version": "7.27.1",
+    "node_modules/@jest/test-result": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+      "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/console": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/istanbul-lib-coverage": "^2.0.0",
+        "collect-v8-coverage": "^1.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.27.1",
+    "node_modules/@jest/test-sequencer": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+      "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/test-result": "^29.7.0",
+        "graceful-fs": "^4.2.9",
+        "jest-haste-map": "^29.7.0",
+        "slash": "^3.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.27.1",
+    "node_modules/@jest/transform": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+      "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@babel/core": "^7.11.6",
+        "@jest/types": "^29.6.3",
+        "@jridgewell/trace-mapping": "^0.3.18",
+        "babel-plugin-istanbul": "^6.1.1",
+        "chalk": "^4.0.0",
+        "convert-source-map": "^2.0.0",
+        "fast-json-stable-stringify": "^2.1.0",
+        "graceful-fs": "^4.2.9",
+        "jest-haste-map": "^29.7.0",
+        "jest-regex-util": "^29.6.3",
+        "jest-util": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "pirates": "^4.0.4",
+        "slash": "^3.0.0",
+        "write-file-atomic": "^4.0.2"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.27.1",
+    "node_modules/@jest/types": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+      "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@jest/schemas": "^29.6.3",
+        "@types/istanbul-lib-coverage": "^2.0.0",
+        "@types/istanbul-reports": "^3.0.0",
+        "@types/node": "*",
+        "@types/yargs": "^17.0.8",
+        "chalk": "^4.0.0"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@jridgewell/gen-mapping": {
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-validator-identifier": "^7.27.1",
-        "@babel/traverse": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@jridgewell/sourcemap-codec": "^1.5.0",
+        "@jridgewell/trace-mapping": "^0.3.24"
       }
     },
-    "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@jridgewell/remapping": {
+      "version": "2.3.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+      "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.24"
+      }
+    },
+    "node_modules/@jridgewell/resolve-uri": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+      "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+      "license": "MIT",
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@jridgewell/source-map": {
+      "version": "0.3.11",
+      "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz",
+      "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "@jridgewell/gen-mapping": "^0.3.5",
+        "@jridgewell/trace-mapping": "^0.3.25"
       }
     },
-    "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@jridgewell/sourcemap-codec": {
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "license": "MIT"
+    },
+    "node_modules/@jridgewell/trace-mapping": {
+      "version": "0.3.31",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+      "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@jridgewell/resolve-uri": "^3.1.0",
+        "@jridgewell/sourcemap-codec": "^1.4.14"
       }
     },
-    "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
-      "version": "7.27.1",
+    "node_modules/@jsdevtools/ez-spawn": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@jsdevtools/ez-spawn/-/ez-spawn-3.0.4.tgz",
+      "integrity": "sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "call-me-maybe": "^1.0.1",
+        "cross-spawn": "^7.0.3",
+        "string-argv": "^0.3.1",
+        "type-detect": "^4.0.8"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=10"
       }
     },
-    "node_modules/@babel/plugin-transform-numeric-separator": {
-      "version": "7.27.1",
-      "dev": true,
+    "node_modules/@kwsites/file-exists": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz",
+      "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==",
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "debug": "^4.1.1"
       }
     },
-    "node_modules/@babel/plugin-transform-object-rest-spread": {
-      "version": "7.27.3",
+    "node_modules/@kwsites/promise-deferred": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz",
+      "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==",
+      "license": "MIT"
+    },
+    "node_modules/@listr2/prompt-adapter-inquirer": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.5.tgz",
+      "integrity": "sha512-WELs+hj6xcilkloBXYf9XXK8tYEnKsgLj01Xl5ONUJpKjmT5hGVUzNUS5tooUxs7pGMrw+jFD/41WpqW4V3LDA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.27.2",
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/plugin-transform-destructuring": "^7.27.3",
-        "@babel/plugin-transform-parameters": "^7.27.1"
+        "@inquirer/type": "^3.0.8"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=20.0.0"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@inquirer/prompts": ">= 3 < 8",
+        "listr2": "9.0.5"
       }
     },
-    "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.27.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-replace-supers": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
+    "node_modules/@lit/react": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@lit/react/-/react-1.0.8.tgz",
+      "integrity": "sha512-p2+YcF+JE67SRX3mMlJ1TKCSTsgyOVdAwd/nxp3NuV1+Cb6MWALbN6nT7Ld4tpmYofcE5kcaSY1YBB9erY+6fw==",
+      "license": "BSD-3-Clause",
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@types/react": "17 || 18 || 19"
       }
     },
-    "node_modules/@babel/plugin-transform-optional-catch-binding": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-darwin-arm64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.4.tgz",
+      "integrity": "sha512-XaKL705gDWd6XVls3ATDj13ZdML/LqSIxwgnYpG8xTzH2ifArx8fMMDdvqGE/Emd+W6R90W2fveZcJ0AyS8Y0w==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/@babel/plugin-transform-optional-chaining": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-darwin-x64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.4.tgz",
+      "integrity": "sha512-GPHGEVcwJlkD01GmIr7B4kvbIcUDS2+kBadVEd7lU4can1RZaZQLDDBJRrrNfS2Kavvl0VLI/cMv7UASAXGrww==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-linux-arm": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.4.tgz",
+      "integrity": "sha512-cmev5/dZr5ACKri9f6GU6lZCXTjMhV72xujlbOhFCgFXrt4W0TxGsmY8kA1BITvH60JBKE50cSxsiulybAbrrw==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-private-methods": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-linux-arm64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.4.tgz",
+      "integrity": "sha512-mALqr7DE42HsiwVTKpQWxacjHoJk+e9p00RWIJqTACh/hpucxp/0lK/XMh5XzWnU/TDCZLukq1+vNqnNumTP/Q==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-private-property-in-object": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-linux-x64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.4.tgz",
+      "integrity": "sha512-QjLs8OcmCNcraAcLoZyFlo0atzBJniQLLwhtR+ymQqS5kLYpV5RqwriL87BW+ZiR9ZiGgZx3evrz5vnWPtJ1fQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "@babel/helper-create-class-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-win32-arm64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.4.tgz",
+      "integrity": "sha512-tr/pwHDlZ33forLGAr0tI04cRmP4SgF93yHbb+2zvZiDEyln5yMHhbKDySxY66aUOkhvBvTuHq9q/3YmTj6ZHQ==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@babel/plugin-transform-react-jsx-self": {
-      "version": "7.27.1",
+    "node_modules/@lmdb/lmdb-win32-x64": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.4.tgz",
+      "integrity": "sha512-KRzfocJzB/mgoTCqnMawuLSKheHRVTqWfSmouIgYpFs6Hx4zvZSvsZKSCEb5gHmICy7qsx9l06jk3MFTtiFVAQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@babel/plugin-transform-react-jsx-source": {
-      "version": "7.27.1",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@mapbox/node-pre-gyp": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-2.0.3.tgz",
+      "integrity": "sha512-uwPAhccfFJlsfCxMYTwOdVfOz3xqyj8xYL3zJj8f0pb30tLohnnFPhLuqp4/qoEz8sNxe4SESZedcBojRefIzg==",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "consola": "^3.2.3",
+        "detect-libc": "^2.0.0",
+        "https-proxy-agent": "^7.0.5",
+        "node-fetch": "^2.6.7",
+        "nopt": "^8.0.0",
+        "semver": "^7.5.3",
+        "tar": "^7.4.0"
       },
-      "engines": {
-        "node": ">=6.9.0"
+      "bin": {
+        "node-pre-gyp": "bin/node-pre-gyp"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.27.5",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+    "node_modules/@mapbox/node-pre-gyp/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">=10"
       }
     },
-    "node_modules/@babel/plugin-transform-regexp-modifiers": {
-      "version": "7.27.1",
+    "node_modules/@mermaid-js/mermaid-mindmap": {
+      "version": "9.3.0",
+      "resolved": "https://registry.npmjs.org/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz",
+      "integrity": "sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw==",
       "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "@braintree/sanitize-url": "^6.0.0",
+        "cytoscape": "^3.23.0",
+        "cytoscape-cose-bilkent": "^4.1.0",
+        "cytoscape-fcose": "^2.1.0",
+        "d3": "^7.0.0",
+        "khroma": "^2.0.0",
+        "non-layered-tidy-tree-layout": "^2.0.2"
       }
     },
-    "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.27.1",
+    "node_modules/@mermaid-js/mermaid-mindmap/node_modules/@braintree/sanitize-url": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz",
+      "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true
     },
-    "node_modules/@babel/plugin-transform-runtime": {
-      "version": "7.26.10",
+    "node_modules/@mermaid-js/parser": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/@mermaid-js/parser/-/parser-0.6.3.tgz",
+      "integrity": "sha512-lnjOhe7zyHjc+If7yT4zoedx2vo4sHaTmtkl1+or8BRTnCtDmcTpAjpzDSfCZrshM5bCoz0GyidzadJAH1xobA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "^7.25.9",
-        "@babel/helper-plugin-utils": "^7.26.5",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.11.0",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "langium": "3.3.1"
       }
     },
-    "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
-      "version": "6.3.1",
+    "node_modules/@mixmark-io/domino": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/@mixmark-io/domino/-/domino-2.2.0.tgz",
+      "integrity": "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==",
       "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
+      "license": "BSD-2-Clause"
     },
-    "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.27.1",
+    "node_modules/@modelcontextprotocol/sdk": {
+      "version": "1.25.2",
+      "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz",
+      "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
+        "@hono/node-server": "^1.19.7",
+        "ajv": "^8.17.1",
+        "ajv-formats": "^3.0.1",
+        "content-type": "^1.0.5",
+        "cors": "^2.8.5",
+        "cross-spawn": "^7.0.5",
+        "eventsource": "^3.0.2",
+        "eventsource-parser": "^3.0.0",
+        "express": "^5.0.1",
+        "express-rate-limit": "^7.5.0",
+        "jose": "^6.1.1",
+        "json-schema-typed": "^8.0.2",
+        "pkce-challenge": "^5.0.0",
+        "raw-body": "^3.0.0",
+        "zod": "^3.25 || ^4.0",
+        "zod-to-json-schema": "^3.25.0"
       },
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "@cfworker/json-schema": "^4.1.1",
+        "zod": "^3.25 || ^4.0"
+      },
+      "peerDependenciesMeta": {
+        "@cfworker/json-schema": {
+          "optional": true
+        },
+        "zod": {
+          "optional": false
+        }
       }
     },
-    "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.27.1",
+    "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.27.1",
+    "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "license": "MIT"
     },
-    "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz",
+      "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz",
+      "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/@babel/plugin-transform-typescript": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz",
+      "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.27.1",
-        "@babel/helper-create-class-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
-        "@babel/plugin-syntax-typescript": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz",
+      "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-unicode-property-regex": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz",
+      "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.27.1",
+    "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz",
+      "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/@napi-rs/nice": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz",
+      "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Brooooooklyn"
+      },
+      "optionalDependencies": {
+        "@napi-rs/nice-android-arm-eabi": "1.1.1",
+        "@napi-rs/nice-android-arm64": "1.1.1",
+        "@napi-rs/nice-darwin-arm64": "1.1.1",
+        "@napi-rs/nice-darwin-x64": "1.1.1",
+        "@napi-rs/nice-freebsd-x64": "1.1.1",
+        "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1",
+        "@napi-rs/nice-linux-arm64-gnu": "1.1.1",
+        "@napi-rs/nice-linux-arm64-musl": "1.1.1",
+        "@napi-rs/nice-linux-ppc64-gnu": "1.1.1",
+        "@napi-rs/nice-linux-riscv64-gnu": "1.1.1",
+        "@napi-rs/nice-linux-s390x-gnu": "1.1.1",
+        "@napi-rs/nice-linux-x64-gnu": "1.1.1",
+        "@napi-rs/nice-linux-x64-musl": "1.1.1",
+        "@napi-rs/nice-openharmony-arm64": "1.1.1",
+        "@napi-rs/nice-win32-arm64-msvc": "1.1.1",
+        "@napi-rs/nice-win32-ia32-msvc": "1.1.1",
+        "@napi-rs/nice-win32-x64-msvc": "1.1.1"
+      }
+    },
+    "node_modules/@napi-rs/nice-android-arm-eabi": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz",
+      "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==",
+      "cpu": [
+        "arm"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/plugin-transform-unicode-sets-regex": {
-      "version": "7.27.1",
+    "node_modules/@napi-rs/nice-android-arm64": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz",
+      "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
-        "@babel/helper-plugin-utils": "^7.27.1"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/preset-env": {
-      "version": "7.26.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/compat-data": "^7.26.8",
-        "@babel/helper-compilation-targets": "^7.26.5",
-        "@babel/helper-plugin-utils": "^7.26.5",
-        "@babel/helper-validator-option": "^7.25.9",
-        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9",
-        "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9",
-        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9",
-        "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
-        "@babel/plugin-syntax-import-assertions": "^7.26.0",
-        "@babel/plugin-syntax-import-attributes": "^7.26.0",
-        "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
-        "@babel/plugin-transform-arrow-functions": "^7.25.9",
-        "@babel/plugin-transform-async-generator-functions": "^7.26.8",
-        "@babel/plugin-transform-async-to-generator": "^7.25.9",
-        "@babel/plugin-transform-block-scoped-functions": "^7.26.5",
-        "@babel/plugin-transform-block-scoping": "^7.25.9",
-        "@babel/plugin-transform-class-properties": "^7.25.9",
-        "@babel/plugin-transform-class-static-block": "^7.26.0",
-        "@babel/plugin-transform-classes": "^7.25.9",
-        "@babel/plugin-transform-computed-properties": "^7.25.9",
-        "@babel/plugin-transform-destructuring": "^7.25.9",
-        "@babel/plugin-transform-dotall-regex": "^7.25.9",
-        "@babel/plugin-transform-duplicate-keys": "^7.25.9",
-        "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9",
-        "@babel/plugin-transform-dynamic-import": "^7.25.9",
-        "@babel/plugin-transform-exponentiation-operator": "^7.26.3",
-        "@babel/plugin-transform-export-namespace-from": "^7.25.9",
-        "@babel/plugin-transform-for-of": "^7.26.9",
-        "@babel/plugin-transform-function-name": "^7.25.9",
-        "@babel/plugin-transform-json-strings": "^7.25.9",
-        "@babel/plugin-transform-literals": "^7.25.9",
-        "@babel/plugin-transform-logical-assignment-operators": "^7.25.9",
-        "@babel/plugin-transform-member-expression-literals": "^7.25.9",
-        "@babel/plugin-transform-modules-amd": "^7.25.9",
-        "@babel/plugin-transform-modules-commonjs": "^7.26.3",
-        "@babel/plugin-transform-modules-systemjs": "^7.25.9",
-        "@babel/plugin-transform-modules-umd": "^7.25.9",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9",
-        "@babel/plugin-transform-new-target": "^7.25.9",
-        "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6",
-        "@babel/plugin-transform-numeric-separator": "^7.25.9",
-        "@babel/plugin-transform-object-rest-spread": "^7.25.9",
-        "@babel/plugin-transform-object-super": "^7.25.9",
-        "@babel/plugin-transform-optional-catch-binding": "^7.25.9",
-        "@babel/plugin-transform-optional-chaining": "^7.25.9",
-        "@babel/plugin-transform-parameters": "^7.25.9",
-        "@babel/plugin-transform-private-methods": "^7.25.9",
-        "@babel/plugin-transform-private-property-in-object": "^7.25.9",
-        "@babel/plugin-transform-property-literals": "^7.25.9",
-        "@babel/plugin-transform-regenerator": "^7.25.9",
-        "@babel/plugin-transform-regexp-modifiers": "^7.26.0",
-        "@babel/plugin-transform-reserved-words": "^7.25.9",
-        "@babel/plugin-transform-shorthand-properties": "^7.25.9",
-        "@babel/plugin-transform-spread": "^7.25.9",
-        "@babel/plugin-transform-sticky-regex": "^7.25.9",
-        "@babel/plugin-transform-template-literals": "^7.26.8",
-        "@babel/plugin-transform-typeof-symbol": "^7.26.7",
-        "@babel/plugin-transform-unicode-escapes": "^7.25.9",
-        "@babel/plugin-transform-unicode-property-regex": "^7.25.9",
-        "@babel/plugin-transform-unicode-regex": "^7.25.9",
-        "@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
-        "@babel/preset-modules": "0.1.6-no-external-plugins",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.11.0",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
-        "core-js-compat": "^3.40.0",
-        "semver": "^6.3.1"
-      },
+    "node_modules/@napi-rs/nice-darwin-arm64": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz",
+      "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/preset-env/node_modules/semver": {
-      "version": "6.3.1",
+    "node_modules/@napi-rs/nice-darwin-x64": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz",
+      "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/preset-modules": {
-      "version": "0.1.6-no-external-plugins",
+    "node_modules/@napi-rs/nice-freebsd-x64": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz",
+      "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@babel/types": "^7.4.4",
-        "esutils": "^2.0.2"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/runtime": {
-      "version": "7.26.10",
+    "node_modules/@napi-rs/nice-linux-arm-gnueabihf": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz",
+      "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "regenerator-runtime": "^0.14.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/template": {
-      "version": "7.27.2",
+    "node_modules/@napi-rs/nice-linux-arm64-gnu": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz",
+      "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/code-frame": "^7.27.1",
-        "@babel/parser": "^7.27.2",
-        "@babel/types": "^7.27.1"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/traverse": {
-      "version": "7.27.4",
+    "node_modules/@napi-rs/nice-linux-arm64-musl": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz",
+      "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/code-frame": "^7.27.1",
-        "@babel/generator": "^7.27.3",
-        "@babel/parser": "^7.27.4",
-        "@babel/template": "^7.27.2",
-        "@babel/types": "^7.27.3",
-        "debug": "^4.3.1",
-        "globals": "^11.1.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/traverse/node_modules/@babel/generator": {
-      "version": "7.27.5",
+    "node_modules/@napi-rs/nice-linux-ppc64-gnu": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz",
+      "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==",
+      "cpu": [
+        "ppc64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.5",
-        "@babel/types": "^7.27.3",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^3.0.2"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@babel/types": {
-      "version": "7.27.6",
+    "node_modules/@napi-rs/nice-linux-riscv64-gnu": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz",
+      "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/helper-string-parser": "^7.27.1",
-        "@babel/helper-validator-identifier": "^7.27.1"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@bcoe/v8-coverage": {
-      "version": "0.2.3",
+    "node_modules/@napi-rs/nice-linux-s390x-gnu": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz",
+      "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==",
+      "cpu": [
+        "s390x"
+      ],
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@braintree/sanitize-url": {
-      "version": "7.1.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@chevrotain/cst-dts-gen": {
-      "version": "11.0.3",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@chevrotain/gast": "11.0.3",
-        "@chevrotain/types": "11.0.3",
-        "lodash-es": "4.17.21"
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@chevrotain/gast": {
-      "version": "11.0.3",
+    "node_modules/@napi-rs/nice-linux-x64-gnu": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz",
+      "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@chevrotain/types": "11.0.3",
-        "lodash-es": "4.17.21"
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10"
       }
     },
-    "node_modules/@chevrotain/regexp-to-ast": {
-      "version": "11.0.3",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/@chevrotain/types": {
-      "version": "11.0.3",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/@chevrotain/utils": {
-      "version": "11.0.3",
+    "node_modules/@napi-rs/nice-linux-x64-musl": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz",
+      "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/@cloudflare/kv-asset-handler": {
-      "version": "0.4.0",
-      "license": "MIT OR Apache-2.0",
-      "dependencies": {
-        "mime": "^3.0.0"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@cloudflare/kv-asset-handler/node_modules/mime": {
-      "version": "3.0.0",
+    "node_modules/@napi-rs/nice-openharmony-arm64": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz",
+      "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "bin": {
-        "mime": "cli.js"
-      },
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
       "engines": {
-        "node": ">=10.0.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/@colors/colors": {
-      "version": "1.6.0",
+    "node_modules/@napi-rs/nice-win32-arm64-msvc": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz",
+      "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=0.1.90"
+        "node": ">= 10"
       }
     },
-    "node_modules/@csstools/color-helpers": {
-      "version": "5.0.2",
+    "node_modules/@napi-rs/nice-win32-ia32-msvc": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz",
+      "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/csstools"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/csstools"
-        }
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
       ],
-      "license": "MIT-0",
       "engines": {
-        "node": ">=18"
+        "node": ">= 10"
       }
     },
-    "node_modules/@csstools/css-calc": {
-      "version": "2.1.4",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/csstools"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/csstools"
-        }
+    "node_modules/@napi-rs/nice-win32-x64-msvc": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz",
+      "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==",
+      "cpu": [
+        "x64"
       ],
+      "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@csstools/css-parser-algorithms": "^3.0.5",
-        "@csstools/css-tokenizer": "^3.0.4"
+        "node": ">= 10"
       }
     },
-    "node_modules/@csstools/css-color-parser": {
-      "version": "3.0.10",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/csstools"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/csstools"
-        }
-      ],
+    "node_modules/@napi-rs/wasm-runtime": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.1.tgz",
+      "integrity": "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A==",
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "@csstools/color-helpers": "^5.0.2",
-        "@csstools/css-calc": "^2.1.4"
+        "@emnapi/core": "^1.7.1",
+        "@emnapi/runtime": "^1.7.1",
+        "@tybys/wasm-util": "^0.10.1"
       },
-      "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@csstools/css-parser-algorithms": "^3.0.5",
-        "@csstools/css-tokenizer": "^3.0.4"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/Brooooooklyn"
       }
     },
-    "node_modules/@csstools/css-parser-algorithms": {
-      "version": "3.0.5",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/csstools"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/csstools"
-        }
-      ],
+    "node_modules/@nodelib/fs.scandir": {
+      "version": "2.1.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
+      "dependencies": {
+        "@nodelib/fs.stat": "2.0.5",
+        "run-parallel": "^1.1.9"
       },
-      "peerDependencies": {
-        "@csstools/css-tokenizer": "^3.0.4"
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/@csstools/css-tokenizer": {
-      "version": "3.0.4",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/csstools"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/csstools"
-        }
-      ],
+    "node_modules/@nodelib/fs.stat": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
       "license": "MIT",
       "engines": {
-        "node": ">=18"
+        "node": ">= 8"
       }
     },
-    "node_modules/@dabh/diagnostics": {
-      "version": "2.0.3",
+    "node_modules/@nodelib/fs.walk": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
       "license": "MIT",
       "dependencies": {
-        "colorspace": "1.1.x",
-        "enabled": "2.0.x",
-        "kuler": "^2.0.0"
+        "@nodelib/fs.scandir": "2.1.5",
+        "fastq": "^1.6.0"
+      },
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/@dependents/detective-less": {
-      "version": "5.0.1",
-      "license": "MIT",
+    "node_modules/@npmcli/agent": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz",
+      "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "gonzales-pe": "^4.3.0",
-        "node-source-walk": "^7.0.1"
+        "agent-base": "^7.1.0",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.1",
+        "lru-cache": "^11.2.1",
+        "socks-proxy-agent": "^8.0.3"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@discoveryjs/json-ext": {
-      "version": "0.6.3",
+    "node_modules/@npmcli/agent/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
       "dev": true,
-      "license": "MIT",
+      "license": "BlueOak-1.0.0",
       "engines": {
-        "node": ">=14.17.0"
+        "node": "20 || >=22"
       }
     },
-    "node_modules/@docsearch/css": {
-      "version": "3.9.0",
+    "node_modules/@npmcli/fs": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz",
+      "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==",
       "dev": true,
-      "license": "MIT"
+      "license": "ISC",
+      "dependencies": {
+        "semver": "^7.3.5"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
+      }
     },
-    "node_modules/@docsearch/js": {
-      "version": "3.9.0",
+    "node_modules/@npmcli/fs/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@docsearch/react": "3.9.0",
-        "preact": "^10.0.0"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@docsearch/js/node_modules/@docsearch/react": {
-      "version": "3.9.0",
+    "node_modules/@npmcli/git": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz",
+      "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@algolia/autocomplete-core": "1.17.9",
-        "@algolia/autocomplete-preset-algolia": "1.17.9",
-        "@docsearch/css": "3.9.0",
-        "algoliasearch": "^5.14.2"
+        "@npmcli/promise-spawn": "^9.0.0",
+        "ini": "^6.0.0",
+        "lru-cache": "^11.2.1",
+        "npm-pick-manifest": "^11.0.1",
+        "proc-log": "^6.0.0",
+        "promise-retry": "^2.0.1",
+        "semver": "^7.3.5",
+        "which": "^6.0.0"
       },
-      "peerDependencies": {
-        "@types/react": ">= 16.8.0 < 20.0.0",
-        "react": ">= 16.8.0 < 20.0.0",
-        "react-dom": ">= 16.8.0 < 20.0.0",
-        "search-insights": ">= 1 < 3"
-      },
-      "peerDependenciesMeta": {
-        "@types/react": {
-          "optional": true
-        },
-        "react": {
-          "optional": true
-        },
-        "react-dom": {
-          "optional": true
-        },
-        "search-insights": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@esbuild/linux-x64": {
-      "version": "0.25.5",
-      "cpu": [
-        "x64"
-      ],
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ],
       "engines": {
-        "node": ">=18"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@eslint-community/eslint-utils": {
-      "version": "4.7.0",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "eslint-visitor-keys": "^3.4.3"
-      },
+    "node_modules/@npmcli/git/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+        "node": ">=16"
       }
     },
-    "node_modules/@eslint-community/regexpp": {
-      "version": "4.12.1",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/@npmcli/git/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
+      "dev": true,
+      "license": "BlueOak-1.0.0",
       "engines": {
-        "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+        "node": "20 || >=22"
       }
     },
-    "node_modules/@eslint/eslintrc": {
-      "version": "2.1.4",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "ajv": "^6.12.4",
-        "debug": "^4.3.2",
-        "espree": "^9.6.0",
-        "globals": "^13.19.0",
-        "ignore": "^5.2.0",
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^4.1.0",
-        "minimatch": "^3.1.2",
-        "strip-json-comments": "^3.1.1"
+    "node_modules/@npmcli/git/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+        "node": ">=10"
       }
     },
-    "node_modules/@eslint/eslintrc/node_modules/ajv": {
-      "version": "6.12.6",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/@npmcli/git/node_modules/which": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+      "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
+        "isexe": "^3.1.1"
       },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@eslint/eslintrc/node_modules/globals": {
-      "version": "13.24.0",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/@npmcli/installed-package-contents": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz",
+      "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "type-fest": "^0.20.2"
+        "npm-bundled": "^5.0.0",
+        "npm-normalize-package-bin": "^5.0.0"
       },
-      "engines": {
-        "node": ">=8"
+      "bin": {
+        "installed-package-contents": "bin/index.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/@eslint/eslintrc/node_modules/type-fest": {
-      "version": "0.20.2",
-      "devOptional": true,
-      "license": "(MIT OR CC0-1.0)",
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@eslint/js": {
-      "version": "8.57.1",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/@npmcli/installed-package-contents/node_modules/npm-normalize-package-bin": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
+      "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@fastify/busboy": {
-      "version": "3.1.1",
-      "license": "MIT"
-    },
-    "node_modules/@fontsource-variable/material-symbols-outlined": {
-      "version": "5.2.22",
+    "node_modules/@npmcli/node-gyp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz",
+      "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==",
       "dev": true,
-      "license": "OFL-1.1",
-      "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+      "license": "ISC",
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@fontsource-variable/material-symbols-rounded": {
-      "version": "5.2.22",
+    "node_modules/@npmcli/package-json": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.4.tgz",
+      "integrity": "sha512-0wInJG3j/K40OJt/33ax47WfWMzZTm6OQxB9cDhTt5huCP2a9g2GnlsxmfN+PulItNPIpPrZ+kfwwUil7eHcZQ==",
       "dev": true,
-      "license": "OFL-1.1",
-      "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+      "license": "ISC",
+      "dependencies": {
+        "@npmcli/git": "^7.0.0",
+        "glob": "^13.0.0",
+        "hosted-git-info": "^9.0.0",
+        "json-parse-even-better-errors": "^5.0.0",
+        "proc-log": "^6.0.0",
+        "semver": "^7.5.3",
+        "validate-npm-package-license": "^3.0.4"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@fontsource-variable/material-symbols-sharp": {
-      "version": "5.2.22",
+    "node_modules/@npmcli/package-json/node_modules/glob": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+      "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
       "dev": true,
-      "license": "OFL-1.1",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "minimatch": "^10.1.1",
+        "minipass": "^7.1.2",
+        "path-scurry": "^2.0.0"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
       "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@fontsource/material-icons": {
-      "version": "5.2.5",
+    "node_modules/@npmcli/package-json/node_modules/json-parse-even-better-errors": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-5.0.0.tgz",
+      "integrity": "sha512-ZF1nxZ28VhQouRWhUcVlUIN3qwSgPuswK05s/HIaoetAoE/9tngVmCHjSxmSQPav1nd+lPtTL0YZ/2AFdR/iYQ==",
       "dev": true,
-      "license": "OFL-1.1",
-      "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+      "license": "MIT",
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@fontsource/material-icons-outlined": {
-      "version": "5.2.5",
+    "node_modules/@npmcli/package-json/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
       "dev": true,
-      "license": "OFL-1.1",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "@isaacs/brace-expansion": "^5.0.0"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
       "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@fontsource/noto-sans": {
-      "version": "5.2.7",
+    "node_modules/@npmcli/package-json/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "OFL-1.1",
-      "funding": {
-        "url": "https://github.com/sponsors/ayuhito"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/@humanwhocodes/config-array": {
-      "version": "0.13.0",
-      "devOptional": true,
-      "license": "Apache-2.0",
+    "node_modules/@npmcli/promise-spawn": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz",
+      "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "@humanwhocodes/object-schema": "^2.0.3",
-        "debug": "^4.3.1",
-        "minimatch": "^3.0.5"
+        "which": "^6.0.0"
       },
       "engines": {
-        "node": ">=10.10.0"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@humanwhocodes/module-importer": {
-      "version": "1.0.1",
-      "devOptional": true,
-      "license": "Apache-2.0",
+    "node_modules/@npmcli/promise-spawn/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": ">=12.22"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/nzakas"
+        "node": ">=16"
       }
     },
-    "node_modules/@humanwhocodes/object-schema": {
-      "version": "2.0.3",
-      "devOptional": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/@iconify-json/simple-icons": {
-      "version": "1.2.38",
+    "node_modules/@npmcli/promise-spawn/node_modules/which": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+      "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
       "dev": true,
-      "license": "CC0-1.0",
+      "license": "ISC",
       "dependencies": {
-        "@iconify/types": "*"
+        "isexe": "^3.1.1"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@iconify/types": {
-      "version": "2.0.0",
+    "node_modules/@npmcli/redact": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-4.0.0.tgz",
+      "integrity": "sha512-gOBg5YHMfZy+TfHArfVogwgfBeQnKbbGo3pSUyK/gSI0AVu+pEiDVcKlQb0D8Mg1LNRZILZ6XG8I5dJ4KuAd9Q==",
       "dev": true,
-      "license": "MIT"
+      "license": "ISC",
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
+      }
     },
-    "node_modules/@iconify/utils": {
-      "version": "2.3.0",
+    "node_modules/@npmcli/run-script": {
+      "version": "10.0.3",
+      "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.3.tgz",
+      "integrity": "sha512-ER2N6itRkzWbbtVmZ9WKaWxVlKlOeBFF1/7xx+KA5J1xKa4JjUwBdb6tDpk0v1qA+d+VDwHI9qmLcXSWcmi+Rw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@antfu/install-pkg": "^1.0.0",
-        "@antfu/utils": "^8.1.0",
-        "@iconify/types": "^2.0.0",
-        "debug": "^4.4.0",
-        "globals": "^15.14.0",
-        "kolorist": "^1.8.0",
-        "local-pkg": "^1.0.0",
-        "mlly": "^1.7.4"
+        "@npmcli/node-gyp": "^5.0.0",
+        "@npmcli/package-json": "^7.0.0",
+        "@npmcli/promise-spawn": "^9.0.0",
+        "node-gyp": "^12.1.0",
+        "proc-log": "^6.0.0",
+        "which": "^6.0.0"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@iconify/utils/node_modules/globals": {
-      "version": "15.15.0",
+    "node_modules/@npmcli/run-script/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=16"
       }
     },
-    "node_modules/@inquirer/checkbox": {
-      "version": "4.2.2",
+    "node_modules/@npmcli/run-script/node_modules/which": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+      "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/figures": "^1.0.13",
-        "@inquirer/type": "^3.0.8",
-        "ansi-escapes": "^4.3.2",
-        "yoctocolors-cjs": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=18"
+        "isexe": "^3.1.1"
       },
-      "peerDependencies": {
-        "@types/node": ">=18"
+      "bin": {
+        "node-which": "bin/which.js"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/@inquirer/confirm": {
-      "version": "5.1.10",
-      "dev": true,
+    "node_modules/@nuxt/cli": {
+      "version": "3.32.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/cli/-/cli-3.32.0.tgz",
+      "integrity": "sha512-n2f3SRjPlhthPvo2qWjLRRiTrUtB6WFwg0BGsvtqcqZVeQpNEU371zuKWBaFrWgqDZHV1r/aD9jrVCo+C8Pmrw==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.1.11",
-        "@inquirer/type": "^3.0.6"
+        "@bomb.sh/tab": "^0.0.11",
+        "@clack/prompts": "1.0.0-alpha.9",
+        "c12": "^3.3.3",
+        "citty": "^0.1.6",
+        "confbox": "^0.2.2",
+        "consola": "^3.4.2",
+        "copy-paste": "^2.2.0",
+        "debug": "^4.4.3",
+        "defu": "^6.1.4",
+        "exsolve": "^1.0.8",
+        "fuse.js": "^7.1.0",
+        "giget": "^2.0.0",
+        "jiti": "^2.6.1",
+        "listhen": "^1.9.0",
+        "nypm": "^0.6.2",
+        "ofetch": "^1.5.1",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.0.0",
+        "pkg-types": "^2.3.0",
+        "scule": "^1.3.0",
+        "semver": "^7.7.3",
+        "srvx": "^0.10.0",
+        "std-env": "^3.10.0",
+        "tinyexec": "^1.0.2",
+        "ufo": "^1.6.1",
+        "youch": "^4.1.0-beta.13"
+      },
+      "bin": {
+        "nuxi": "bin/nuxi.mjs",
+        "nuxi-ng": "bin/nuxi.mjs",
+        "nuxt": "bin/nuxi.mjs",
+        "nuxt-cli": "bin/nuxi.mjs"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^16.10.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@nuxt/cli/node_modules/@bomb.sh/tab": {
+      "version": "0.0.11",
+      "resolved": "https://registry.npmjs.org/@bomb.sh/tab/-/tab-0.0.11.tgz",
+      "integrity": "sha512-RSqyreeicYBALcMaNxIUJTBknftXsyW45VRq5gKDNwKroh0Re5SDoWwXZaphb+OTEzVdpm/BA8Uq6y0P+AtVYw==",
+      "license": "MIT",
+      "bin": {
+        "tab": "dist/bin/cli.js"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
+        "cac": "^6.7.14",
+        "citty": "^0.1.6",
+        "commander": "^13.1.0"
       },
       "peerDependenciesMeta": {
-        "@types/node": {
+        "cac": {
+          "optional": true
+        },
+        "citty": {
+          "optional": true
+        },
+        "commander": {
           "optional": true
         }
       }
     },
-    "node_modules/@inquirer/core": {
-      "version": "10.2.0",
-      "dev": true,
+    "node_modules/@nuxt/cli/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/cli/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/figures": "^1.0.13",
-        "@inquirer/type": "^3.0.8",
-        "ansi-escapes": "^4.3.2",
-        "cli-width": "^4.1.0",
-        "mute-stream": "^2.0.0",
-        "signal-exit": "^4.1.0",
-        "wrap-ansi": "^6.2.0",
-        "yoctocolors-cjs": "^2.1.2"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/@nuxt/cli/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+        "node": ">=10"
       }
     },
-    "node_modules/@inquirer/editor": {
-      "version": "4.2.18",
-      "dev": true,
+    "node_modules/@nuxt/devalue": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/@nuxt/devalue/-/devalue-2.0.2.tgz",
+      "integrity": "sha512-GBzP8zOc7CGWyFQS6dv1lQz8VVpz5C2yRszbXufwG/9zhStTIH50EtD87NmWbTMwXDvZLNg8GIpb1UFdH93JCA==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/devtools": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@nuxt/devtools/-/devtools-3.1.1.tgz",
+      "integrity": "sha512-UG8oKQqcSyzwBe1l0z24zypmwn6FLW/HQMHK/F/gscUU5LeMHzgBhLPD+cuLlDvwlGAbifexWNMsS/I7n95KlA==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/external-editor": "^1.0.1",
-        "@inquirer/type": "^3.0.8"
+        "@nuxt/devtools-kit": "3.1.1",
+        "@nuxt/devtools-wizard": "3.1.1",
+        "@nuxt/kit": "^4.2.1",
+        "@vue/devtools-core": "^8.0.5",
+        "@vue/devtools-kit": "^8.0.5",
+        "birpc": "^2.8.0",
+        "consola": "^3.4.2",
+        "destr": "^2.0.5",
+        "error-stack-parser-es": "^1.0.5",
+        "execa": "^8.0.1",
+        "fast-npm-meta": "^0.4.7",
+        "get-port-please": "^3.2.0",
+        "hookable": "^5.5.3",
+        "image-meta": "^0.2.2",
+        "is-installed-globally": "^1.0.0",
+        "launch-editor": "^2.12.0",
+        "local-pkg": "^1.1.2",
+        "magicast": "^0.5.1",
+        "nypm": "^0.6.2",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.0.0",
+        "pkg-types": "^2.3.0",
+        "semver": "^7.7.3",
+        "simple-git": "^3.30.0",
+        "sirv": "^3.0.2",
+        "structured-clone-es": "^1.0.0",
+        "tinyglobby": "^0.2.15",
+        "vite-plugin-inspect": "^11.3.3",
+        "vite-plugin-vue-tracer": "^1.1.3",
+        "which": "^5.0.0",
+        "ws": "^8.18.3"
       },
-      "engines": {
-        "node": ">=18"
+      "bin": {
+        "devtools": "cli.mjs"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
+        "@vitejs/devtools": "*",
+        "vite": ">=6.0"
       },
       "peerDependenciesMeta": {
-        "@types/node": {
+        "@vitejs/devtools": {
           "optional": true
         }
       }
     },
-    "node_modules/@inquirer/expand": {
-      "version": "4.0.18",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@nuxt/devtools-kit/-/devtools-kit-3.1.1.tgz",
+      "integrity": "sha512-sjiKFeDCOy1SyqezSgyV4rYNfQewC64k/GhOsuJgRF+wR2qr6KTVhO6u2B+csKs74KrMrnJprQBgud7ejvOXAQ==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8",
-        "yoctocolors-cjs": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=18"
+        "@nuxt/kit": "^4.2.1",
+        "execa": "^8.0.1"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+        "vite": ">=6.0"
       }
     },
-    "node_modules/@inquirer/external-editor": {
-      "version": "1.0.1",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/execa": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+      "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
       "license": "MIT",
       "dependencies": {
-        "chardet": "^2.1.0",
-        "iconv-lite": "^0.6.3"
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^8.0.1",
+        "human-signals": "^5.0.0",
+        "is-stream": "^3.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^5.1.0",
+        "onetime": "^6.0.0",
+        "signal-exit": "^4.1.0",
+        "strip-final-newline": "^3.0.0"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=16.17"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/@inquirer/external-editor/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/get-stream": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+      "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
       "license": "MIT",
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/figures": {
-      "version": "1.0.13",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@nuxt/devtools-kit/node_modules/human-signals": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+      "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=18"
+        "node": ">=16.17.0"
       }
     },
-    "node_modules/@inquirer/input": {
-      "version": "4.2.2",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/is-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+      "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
       "license": "MIT",
-      "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/number": {
-      "version": "3.0.18",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/mimic-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+      "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
       "license": "MIT",
-      "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/password": {
-      "version": "4.0.18",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/npm-run-path": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+      "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8",
-        "ansi-escapes": "^4.3.2"
+        "path-key": "^4.0.0"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/prompts": {
-      "version": "7.5.1",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/onetime": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+      "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/checkbox": "^4.1.6",
-        "@inquirer/confirm": "^5.1.10",
-        "@inquirer/editor": "^4.2.11",
-        "@inquirer/expand": "^4.0.13",
-        "@inquirer/input": "^4.1.10",
-        "@inquirer/number": "^3.0.13",
-        "@inquirer/password": "^4.0.13",
-        "@inquirer/rawlist": "^4.1.1",
-        "@inquirer/search": "^3.0.13",
-        "@inquirer/select": "^4.2.1"
+        "mimic-fn": "^4.0.0"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/rawlist": {
-      "version": "4.1.6",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
       "license": "MIT",
-      "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8",
-        "yoctocolors-cjs": "^2.1.2"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/search": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/figures": "^1.0.13",
-        "@inquirer/type": "^3.0.8",
-        "yoctocolors-cjs": "^2.1.2"
-      },
+    "node_modules/@nuxt/devtools-kit/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "license": "ISC",
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=14"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@inquirer/select": {
-      "version": "4.3.2",
-      "dev": true,
+    "node_modules/@nuxt/devtools-kit/node_modules/strip-final-newline": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+      "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
       "license": "MIT",
-      "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/figures": "^1.0.13",
-        "@inquirer/type": "^3.0.8",
-        "ansi-escapes": "^4.3.2",
-        "yoctocolors-cjs": "^2.1.2"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@inquirer/type": {
-      "version": "3.0.8",
-      "dev": true,
+    "node_modules/@nuxt/devtools-wizard": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@nuxt/devtools-wizard/-/devtools-wizard-3.1.1.tgz",
+      "integrity": "sha512-6UORjapNKko2buv+3o57DQp69n5Z91TeJ75qdtNKcTvOfCTJrO78Ew0nZSgMMGrjbIJ4pFsHQEqXfgYLw3pNxg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
+      "dependencies": {
+        "consola": "^3.4.2",
+        "diff": "^8.0.2",
+        "execa": "^8.0.1",
+        "magicast": "^0.5.1",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "prompts": "^2.4.2",
+        "semver": "^7.7.3"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "bin": {
+        "devtools-wizard": "cli.mjs"
       }
     },
-    "node_modules/@ioredis/commands": {
-      "version": "1.2.0",
+    "node_modules/@nuxt/devtools-wizard/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
       "license": "MIT"
     },
-    "node_modules/@isaacs/cliui": {
-      "version": "8.0.2",
-      "license": "ISC",
+    "node_modules/@nuxt/devtools-wizard/node_modules/execa": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+      "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
+      "license": "MIT",
       "dependencies": {
-        "string-width": "^5.1.2",
-        "string-width-cjs": "npm:string-width@^4.2.0",
-        "strip-ansi": "^7.0.1",
-        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
-        "wrap-ansi": "^8.1.0",
-        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^8.0.1",
+        "human-signals": "^5.0.0",
+        "is-stream": "^3.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^5.1.0",
+        "onetime": "^6.0.0",
+        "signal-exit": "^4.1.0",
+        "strip-final-newline": "^3.0.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=16.17"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/@nuxt/devtools-wizard/node_modules/get-stream": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+      "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">=16"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/@nuxt/devtools-wizard/node_modules/human-signals": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+      "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=16.17.0"
+      }
+    },
+    "node_modules/@nuxt/devtools-wizard/node_modules/is-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+      "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/@nuxt/devtools-wizard/node_modules/mimic-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+      "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
       "engines": {
         "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
-      "version": "8.1.0",
+    "node_modules/@nuxt/devtools-wizard/node_modules/npm-run-path": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+      "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.1.0",
-        "string-width": "^5.0.1",
-        "strip-ansi": "^7.0.1"
+        "path-key": "^4.0.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@isaacs/fs-minipass": {
-      "version": "4.0.1",
-      "license": "ISC",
+    "node_modules/@nuxt/devtools-wizard/node_modules/onetime": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+      "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
+      "license": "MIT",
       "dependencies": {
-        "minipass": "^7.0.4"
+        "mimic-fn": "^4.0.0"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "camelcase": "^5.3.1",
-        "find-up": "^4.1.0",
-        "get-package-type": "^0.1.0",
-        "js-yaml": "^3.13.1",
-        "resolve-from": "^5.0.0"
-      },
+    "node_modules/@nuxt/devtools-wizard/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+      "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
-      "version": "1.0.10",
-      "dev": true,
+    "node_modules/@nuxt/devtools-wizard/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "sprintf-js": "~1.0.2"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
+    "node_modules/@nuxt/devtools-wizard/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
-      "version": "3.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "argparse": "^1.0.7",
-        "esprima": "^4.0.0"
+    "node_modules/@nuxt/devtools-wizard/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=14"
       },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
-      "version": "5.0.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools-wizard/node_modules/strip-final-newline": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+      "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
       "license": "MIT",
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": {
-      "version": "2.3.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/devtools/node_modules/execa": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+      "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
       "license": "MIT",
       "dependencies": {
-        "p-try": "^2.0.0"
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^8.0.1",
+        "human-signals": "^5.0.0",
+        "is-stream": "^3.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^5.1.0",
+        "onetime": "^6.0.0",
+        "signal-exit": "^4.1.0",
+        "strip-final-newline": "^3.0.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=16.17"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
-      "version": "4.1.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/get-stream": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+      "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
       "license": "MIT",
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+    "node_modules/@nuxt/devtools/node_modules/human-signals": {
       "version": "5.0.0",
-      "dev": true,
-      "license": "MIT",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+      "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=8"
+        "node": ">=16.17.0"
       }
     },
-    "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": {
-      "version": "1.0.3",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/@istanbuljs/schema": {
-      "version": "0.1.3",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/is-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+      "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/console": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "jest-message-util": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "slash": "^3.0.0"
-      },
+    "node_modules/@nuxt/devtools/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+      "license": "ISC",
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=16"
       }
     },
-    "node_modules/@jest/console/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/mimic-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+      "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/core": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/npm-run-path": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+      "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
       "license": "MIT",
       "dependencies": {
-        "@jest/console": "^29.7.0",
-        "@jest/reporters": "^29.7.0",
-        "@jest/test-result": "^29.7.0",
-        "@jest/transform": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.9",
-        "jest-changed-files": "^29.7.0",
-        "jest-config": "^29.7.0",
-        "jest-haste-map": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-regex-util": "^29.6.3",
-        "jest-resolve": "^29.7.0",
-        "jest-resolve-dependencies": "^29.7.0",
-        "jest-runner": "^29.7.0",
-        "jest-runtime": "^29.7.0",
-        "jest-snapshot": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "jest-validate": "^29.7.0",
-        "jest-watcher": "^29.7.0",
-        "micromatch": "^4.0.4",
-        "pretty-format": "^29.7.0",
-        "slash": "^3.0.0",
-        "strip-ansi": "^6.0.0"
+        "path-key": "^4.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/core/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/onetime": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+      "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
       "license": "MIT",
+      "dependencies": {
+        "mimic-fn": "^4.0.0"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/diff-sequences": {
-      "version": "30.0.1",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
       "license": "MIT",
-      "peer": true,
       "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/environment": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@jest/fake-timers": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "jest-mock": "^29.7.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/@nuxt/devtools/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@jest/expect": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "expect": "^29.7.0",
-        "jest-snapshot": "^29.7.0"
-      },
+    "node_modules/@nuxt/devtools/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "license": "ISC",
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/@jest/expect-utils": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/devtools/node_modules/strip-final-newline": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+      "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
       "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/@nuxt/devtools/node_modules/which": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
+      "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
+      "license": "ISC",
       "dependencies": {
-        "jest-get-type": "^29.6.3"
+        "isexe": "^3.1.1"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/@jest/fake-timers": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/kit": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-4.3.0.tgz",
+      "integrity": "sha512-cD/0UU9RQmlnTbmyJTDyzN8f6CzpziDLv3tFQCnwl0Aoxt3KmFu4k/XA4Sogxqj7jJ/3cdX1kL+Lnsh34sxcQQ==",
       "license": "MIT",
       "dependencies": {
-        "@jest/types": "^29.6.3",
-        "@sinonjs/fake-timers": "^10.0.2",
-        "@types/node": "*",
-        "jest-message-util": "^29.7.0",
-        "jest-mock": "^29.7.0",
-        "jest-util": "^29.7.0"
+        "c12": "^3.3.3",
+        "consola": "^3.4.2",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "errx": "^0.1.0",
+        "exsolve": "^1.0.8",
+        "ignore": "^7.0.5",
+        "jiti": "^2.6.1",
+        "klona": "^2.0.6",
+        "mlly": "^1.8.0",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "rc9": "^2.1.2",
+        "scule": "^1.3.0",
+        "semver": "^7.7.3",
+        "tinyglobby": "^0.2.15",
+        "ufo": "^1.6.3",
+        "unctx": "^2.5.0",
+        "untyped": "^2.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=18.12.0"
       }
     },
-    "node_modules/@jest/get-type": {
-      "version": "30.1.0",
-      "dev": true,
+    "node_modules/@nuxt/kit/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/kit/node_modules/ignore": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "license": "MIT",
-      "peer": true,
       "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+        "node": ">= 4"
       }
     },
-    "node_modules/@jest/globals": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/kit/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@jest/environment": "^29.7.0",
-        "@jest/expect": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "jest-mock": "^29.7.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/@nuxt/kit/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@jest/pattern": {
-      "version": "30.0.1",
-      "dev": true,
+    "node_modules/@nuxt/nitro-server": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/nitro-server/-/nitro-server-4.3.0.tgz",
+      "integrity": "sha512-NkI8q8211BTLfQr6m24PjBp9GGyKWJMxRGSqe5WGgpQD5BpSnlvM8l1HaaP4xn9/P4v1Hp/LxX+vYElY2fw/zw==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "@types/node": "*",
-        "jest-regex-util": "30.0.1"
+        "@nuxt/devalue": "^2.0.2",
+        "@nuxt/kit": "4.3.0",
+        "@unhead/vue": "^2.1.2",
+        "@vue/shared": "^3.5.27",
+        "consola": "^3.4.2",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "devalue": "^5.6.2",
+        "errx": "^0.1.0",
+        "escape-string-regexp": "^5.0.0",
+        "exsolve": "^1.0.8",
+        "h3": "^1.15.5",
+        "impound": "^1.0.0",
+        "klona": "^2.0.6",
+        "mocked-exports": "^0.1.1",
+        "nitropack": "^2.13.1",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "rou3": "^0.7.12",
+        "std-env": "^3.10.0",
+        "ufo": "^1.6.3",
+        "unctx": "^2.5.0",
+        "unstorage": "^1.17.4",
+        "vue": "^3.5.27",
+        "vue-bundle-renderer": "^2.2.0",
+        "vue-devtools-stub": "^0.1.0"
       },
       "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "peerDependencies": {
+        "nuxt": "^4.3.0"
       }
     },
-    "node_modules/@jest/pattern/node_modules/jest-regex-util": {
-      "version": "30.0.1",
-      "dev": true,
+    "node_modules/@nuxt/nitro-server/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/nitro-server/node_modules/escape-string-regexp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
       "license": "MIT",
-      "peer": true,
       "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/reporters": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/nitro-server/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@bcoe/v8-coverage": "^0.2.3",
-        "@jest/console": "^29.7.0",
-        "@jest/test-result": "^29.7.0",
-        "@jest/transform": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@jridgewell/trace-mapping": "^0.3.18",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "exit": "^0.1.2",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.9",
-        "istanbul-lib-coverage": "^3.0.0",
-        "istanbul-lib-instrument": "^6.0.0",
-        "istanbul-lib-report": "^3.0.0",
-        "istanbul-lib-source-maps": "^4.0.0",
-        "istanbul-reports": "^3.1.3",
-        "jest-message-util": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "jest-worker": "^29.7.0",
-        "slash": "^3.0.0",
-        "string-length": "^4.0.1",
-        "strip-ansi": "^6.0.0",
-        "v8-to-istanbul": "^9.0.1"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/@jest/reporters/node_modules/glob": {
-      "version": "7.2.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@nuxt/schema": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/schema/-/schema-4.3.0.tgz",
+      "integrity": "sha512-+Ps3exseMFH3MOapbBmDdpaHpPV7wqcB6+Ir9w8h91771HwMOWrQomAZpqDvw7FtFraoD5Xw7dhSKDhkwJRSmQ==",
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@vue/shared": "^3.5.27",
+        "defu": "^6.1.4",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "std-env": "^3.10.0"
       },
       "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": "^14.18.0 || >=16.10.0"
       }
     },
-    "node_modules/@jest/reporters/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/@nuxt/schema/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/schema/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/@jest/schemas": {
-      "version": "29.6.3",
-      "dev": true,
+    "node_modules/@nuxt/telemetry": {
+      "version": "2.6.6",
+      "resolved": "https://registry.npmjs.org/@nuxt/telemetry/-/telemetry-2.6.6.tgz",
+      "integrity": "sha512-Zh4HJLjzvm3Cq9w6sfzIFyH9ozK5ePYVfCUzzUQNiZojFsI2k1QkSBrVI9BGc6ArKXj/O6rkI6w7qQ+ouL8Cag==",
       "license": "MIT",
       "dependencies": {
-        "@sinclair/typebox": "^0.27.8"
+        "@nuxt/kit": "^3.15.4",
+        "citty": "^0.1.6",
+        "consola": "^3.4.2",
+        "destr": "^2.0.3",
+        "dotenv": "^16.4.7",
+        "git-url-parse": "^16.0.1",
+        "is-docker": "^3.0.0",
+        "ofetch": "^1.4.1",
+        "package-manager-detector": "^1.1.0",
+        "pathe": "^2.0.3",
+        "rc9": "^2.1.2",
+        "std-env": "^3.8.1"
+      },
+      "bin": {
+        "nuxt-telemetry": "bin/nuxt-telemetry.mjs"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=18.12.0"
       }
     },
-    "node_modules/@jest/source-map": {
-      "version": "29.6.3",
-      "dev": true,
+    "node_modules/@nuxt/telemetry/node_modules/@nuxt/kit": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/kit/-/kit-3.21.0.tgz",
+      "integrity": "sha512-KMTLK/dsGaQioZzkYUvgfN9le4grNW54aNcA1jqzgVZLcFVy4jJfrJr5WZio9NT2EMfajdoZ+V28aD7BRr4Zfw==",
       "license": "MIT",
       "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.18",
-        "callsites": "^3.0.0",
-        "graceful-fs": "^4.2.9"
+        "c12": "^3.3.3",
+        "consola": "^3.4.2",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "errx": "^0.1.0",
+        "exsolve": "^1.0.8",
+        "ignore": "^7.0.5",
+        "jiti": "^2.6.1",
+        "klona": "^2.0.6",
+        "knitwork": "^1.3.0",
+        "mlly": "^1.8.0",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "rc9": "^2.1.2",
+        "scule": "^1.3.0",
+        "semver": "^7.7.3",
+        "tinyglobby": "^0.2.15",
+        "ufo": "^1.6.3",
+        "unctx": "^2.5.0",
+        "untyped": "^2.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=18.12.0"
       }
     },
-    "node_modules/@jest/test-result": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/telemetry/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/@nuxt/telemetry/node_modules/ignore": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "license": "MIT",
-      "dependencies": {
-        "@jest/console": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "collect-v8-coverage": "^1.0.0"
-      },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 4"
       }
     },
-    "node_modules/@jest/test-sequencer": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/telemetry/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@jest/test-result": "^29.7.0",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^29.7.0",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/@jest/test-sequencer/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/@nuxt/telemetry/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       }
     },
-    "node_modules/@jest/transform": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/@nuxt/vite-builder": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/@nuxt/vite-builder/-/vite-builder-4.3.0.tgz",
+      "integrity": "sha512-qOVevlukWUztfJ9p/OtujRxwaXIsnoTo2ZW4pPY1zQcuR1DtBtBsiePLzftoDz1VGx9JF5GAx9YyrgTn/EmcWQ==",
       "license": "MIT",
       "dependencies": {
-        "@babel/core": "^7.11.6",
-        "@jest/types": "^29.6.3",
-        "@jridgewell/trace-mapping": "^0.3.18",
-        "babel-plugin-istanbul": "^6.1.1",
-        "chalk": "^4.0.0",
-        "convert-source-map": "^2.0.0",
-        "fast-json-stable-stringify": "^2.1.0",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^29.7.0",
-        "jest-regex-util": "^29.6.3",
-        "jest-util": "^29.7.0",
-        "micromatch": "^4.0.4",
-        "pirates": "^4.0.4",
-        "slash": "^3.0.0",
-        "write-file-atomic": "^4.0.2"
+        "@nuxt/kit": "4.3.0",
+        "@rollup/plugin-replace": "^6.0.3",
+        "@vitejs/plugin-vue": "^6.0.3",
+        "@vitejs/plugin-vue-jsx": "^5.1.3",
+        "autoprefixer": "^10.4.23",
+        "consola": "^3.4.2",
+        "cssnano": "^7.1.2",
+        "defu": "^6.1.4",
+        "esbuild": "^0.27.2",
+        "escape-string-regexp": "^5.0.0",
+        "exsolve": "^1.0.8",
+        "get-port-please": "^3.2.0",
+        "jiti": "^2.6.1",
+        "knitwork": "^1.3.0",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "mocked-exports": "^0.1.1",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0",
+        "postcss": "^8.5.6",
+        "rollup-plugin-visualizer": "^6.0.5",
+        "seroval": "^1.4.2",
+        "std-env": "^3.10.0",
+        "ufo": "^1.6.3",
+        "unenv": "^2.0.0-rc.24",
+        "vite": "^7.3.1",
+        "vite-node": "^5.3.0",
+        "vite-plugin-checker": "^0.12.0",
+        "vue-bundle-renderer": "^2.2.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "peerDependencies": {
+        "nuxt": "4.3.0",
+        "rolldown": "^1.0.0-beta.38",
+        "vue": "^3.3.4"
+      },
+      "peerDependenciesMeta": {
+        "rolldown": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@jest/transform/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
+    "node_modules/@nuxt/vite-builder/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
       "license": "MIT"
     },
-    "node_modules/@jest/transform/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/@nuxt/vite-builder/node_modules/escape-string-regexp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@jest/types": {
-      "version": "29.6.3",
-      "dev": true,
+    "node_modules/@nuxt/vite-builder/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "@jest/schemas": "^29.6.3",
-        "@types/istanbul-lib-coverage": "^2.0.0",
-        "@types/istanbul-reports": "^3.0.0",
-        "@types/node": "*",
-        "@types/yargs": "^17.0.8",
-        "chalk": "^4.0.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.8",
+    "node_modules/@octokit/action": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@octokit/action/-/action-6.1.0.tgz",
+      "integrity": "sha512-lo+nHx8kAV86bxvOVOI3vFjX3gXPd/L7guAUbvs3pUvnR2KC+R7yjBkA1uACt4gYhs4LcWP3AXSGQzsbeN2XXw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jridgewell/set-array": "^1.2.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
-        "@jridgewell/trace-mapping": "^0.3.24"
+        "@octokit/auth-action": "^4.0.0",
+        "@octokit/core": "^5.0.0",
+        "@octokit/plugin-paginate-rest": "^9.0.0",
+        "@octokit/plugin-rest-endpoint-methods": "^10.0.0",
+        "@octokit/types": "^12.0.0",
+        "undici": "^6.0.0"
       },
       "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/resolve-uri": {
-      "version": "3.1.2",
-      "license": "MIT",
-      "engines": {
-        "node": ">=6.0.0"
+        "node": ">= 18"
       }
     },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.2.1",
+    "node_modules/@octokit/action/node_modules/undici": {
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
+      "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=18.17"
       }
     },
-    "node_modules/@jridgewell/source-map": {
-      "version": "0.3.6",
+    "node_modules/@octokit/auth-action": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/@octokit/auth-action/-/auth-action-4.1.0.tgz",
+      "integrity": "sha512-m+3t7K46IYyMk7Bl6/lF4Rv09GqDZjYmNg8IWycJ2Fa3YE3DE7vQcV6G2hUPmR9NDqenefNJwVtlisMjzymPiQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25"
+        "@octokit/auth-token": "^4.0.0",
+        "@octokit/types": "^13.0.0"
+      },
+      "engines": {
+        "node": ">= 18"
       }
     },
-    "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.5.0",
+    "node_modules/@octokit/auth-action/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.25",
+    "node_modules/@octokit/auth-action/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jridgewell/resolve-uri": "^3.1.0",
-        "@jridgewell/sourcemap-codec": "^1.4.14"
+        "@octokit/openapi-types": "^24.2.0"
       }
     },
-    "node_modules/@jsdevtools/ez-spawn": {
-      "version": "3.0.4",
+    "node_modules/@octokit/auth-token": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
+      "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "call-me-maybe": "^1.0.1",
-        "cross-spawn": "^7.0.3",
-        "string-argv": "^0.3.1",
-        "type-detect": "^4.0.8"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">= 18"
       }
     },
-    "node_modules/@jsonjoy.com/base64": {
-      "version": "1.1.2",
+    "node_modules/@octokit/core": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
+      "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
       "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=10.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/streamich"
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "@octokit/auth-token": "^4.0.0",
+        "@octokit/graphql": "^7.1.0",
+        "@octokit/request": "^8.4.1",
+        "@octokit/request-error": "^5.1.1",
+        "@octokit/types": "^13.0.0",
+        "before-after-hook": "^2.2.0",
+        "universal-user-agent": "^6.0.0"
       },
-      "peerDependencies": {
-        "tslib": "2"
+      "engines": {
+        "node": ">= 18"
       }
     },
-    "node_modules/@jsonjoy.com/json-pack": {
-      "version": "1.2.0",
+    "node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT"
+    },
+    "node_modules/@octokit/core/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/openapi-types": "^24.2.0"
+      }
+    },
+    "node_modules/@octokit/endpoint": {
+      "version": "9.0.6",
+      "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
+      "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "@jsonjoy.com/base64": "^1.1.1",
-        "@jsonjoy.com/util": "^1.1.2",
-        "hyperdyperid": "^1.2.0",
-        "thingies": "^1.20.0"
+        "@octokit/types": "^13.1.0",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": ">=10.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/streamich"
-      },
-      "peerDependencies": {
-        "tslib": "2"
+        "node": ">= 18"
       }
     },
-    "node_modules/@jsonjoy.com/util": {
-      "version": "1.6.0",
+    "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
       "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=10.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/streamich"
-      },
-      "peerDependencies": {
-        "tslib": "2"
+      "license": "MIT"
+    },
+    "node_modules/@octokit/endpoint/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/openapi-types": "^24.2.0"
       }
     },
-    "node_modules/@kwsites/file-exists": {
-      "version": "1.1.1",
+    "node_modules/@octokit/graphql": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
+      "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "debug": "^4.1.1"
+        "@octokit/request": "^8.4.1",
+        "@octokit/types": "^13.0.0",
+        "universal-user-agent": "^6.0.0"
+      },
+      "engines": {
+        "node": ">= 18"
       }
     },
-    "node_modules/@kwsites/promise-deferred": {
-      "version": "1.1.1",
+    "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/@leichtgewicht/ip-codec": {
-      "version": "2.0.5",
+    "node_modules/@octokit/graphql/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/openapi-types": "^24.2.0"
+      }
+    },
+    "node_modules/@octokit/openapi-types": {
+      "version": "20.0.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-20.0.0.tgz",
+      "integrity": "sha512-EtqRBEjp1dL/15V7WiX5LJMIxxkdiGJnabzYx5Apx4FkQIFgAfKumXeYAqqJCj1s+BMX4cPFIFC4OLCR6stlnA==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/@listr2/prompt-adapter-inquirer": {
-      "version": "2.0.22",
+    "node_modules/@octokit/plugin-paginate-rest": {
+      "version": "9.2.2",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.2.2.tgz",
+      "integrity": "sha512-u3KYkGF7GcZnSD/3UP0S7K5XUFT2FkOQdcfXZGZQPGv3lm4F2Xbf71lvjldr8c1H3nNbF+33cLEkWYbokGWqiQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@inquirer/type": "^1.5.5"
+        "@octokit/types": "^12.6.0"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">= 18"
       },
       "peerDependencies": {
-        "@inquirer/prompts": ">= 3 < 8"
+        "@octokit/core": "5"
       }
     },
-    "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": {
-      "version": "1.5.5",
+    "node_modules/@octokit/plugin-rest-endpoint-methods": {
+      "version": "10.4.1",
+      "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.4.1.tgz",
+      "integrity": "sha512-xV1b+ceKV9KytQe3zCVqjg+8GTGfDYwaT1ATU5isiUyVtlVAO3HNdzpS4sr4GBx4hxQ46s7ITtZrAsxG22+rVg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "mute-stream": "^1.0.0"
+        "@octokit/types": "^12.6.0"
       },
       "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/@listr2/prompt-adapter-inquirer/node_modules/mute-stream": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      }
-    },
-    "node_modules/@lit/react": {
-      "version": "1.0.7",
-      "license": "BSD-3-Clause",
+        "node": ">= 18"
+      },
       "peerDependencies": {
-        "@types/react": "17 || 18 || 19"
+        "@octokit/core": "5"
       }
     },
-    "node_modules/@lmdb/lmdb-linux-x64": {
-      "version": "3.3.0",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/@octokit/request": {
+      "version": "8.4.1",
+      "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
+      "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
       "dev": true,
       "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@mapbox/node-pre-gyp": {
-      "version": "2.0.0",
-      "license": "BSD-3-Clause",
       "dependencies": {
-        "consola": "^3.2.3",
-        "detect-libc": "^2.0.0",
-        "https-proxy-agent": "^7.0.5",
-        "node-fetch": "^2.6.7",
-        "nopt": "^8.0.0",
-        "semver": "^7.5.3",
-        "tar": "^7.4.0"
-      },
-      "bin": {
-        "node-pre-gyp": "bin/node-pre-gyp"
+        "@octokit/endpoint": "^9.0.6",
+        "@octokit/request-error": "^5.1.1",
+        "@octokit/types": "^13.1.0",
+        "universal-user-agent": "^6.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">= 18"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/node-fetch": {
-      "version": "2.7.0",
+    "node_modules/@octokit/request-error": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
+      "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "whatwg-url": "^5.0.0"
+        "@octokit/types": "^13.1.0",
+        "deprecation": "^2.0.0",
+        "once": "^1.4.0"
       },
       "engines": {
-        "node": "4.x || >=6.0.0"
-      },
-      "peerDependencies": {
-        "encoding": "^0.1.0"
-      },
-      "peerDependenciesMeta": {
-        "encoding": {
-          "optional": true
-        }
+        "node": ">= 18"
       }
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/tr46": {
-      "version": "0.0.3",
+    "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/webidl-conversions": {
-      "version": "3.0.1",
-      "license": "BSD-2-Clause"
-    },
-    "node_modules/@mapbox/node-pre-gyp/node_modules/whatwg-url": {
-      "version": "5.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "tr46": "~0.0.3",
-        "webidl-conversions": "^3.0.0"
-      }
-    },
-    "node_modules/@mermaid-js/mermaid-mindmap": {
-      "version": "9.3.0",
+    "node_modules/@octokit/request-error/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
       "dev": true,
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "@braintree/sanitize-url": "^6.0.0",
-        "cytoscape": "^3.23.0",
-        "cytoscape-cose-bilkent": "^4.1.0",
-        "cytoscape-fcose": "^2.1.0",
-        "d3": "^7.0.0",
-        "khroma": "^2.0.0",
-        "non-layered-tidy-tree-layout": "^2.0.2"
+        "@octokit/openapi-types": "^24.2.0"
       }
     },
-    "node_modules/@mermaid-js/mermaid-mindmap/node_modules/@braintree/sanitize-url": {
-      "version": "6.0.4",
+    "node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
+      "version": "24.2.0",
+      "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+      "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
       "dev": true,
-      "license": "MIT",
-      "optional": true
+      "license": "MIT"
     },
-    "node_modules/@mermaid-js/parser": {
-      "version": "0.6.2",
+    "node_modules/@octokit/request/node_modules/@octokit/types": {
+      "version": "13.10.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+      "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "langium": "3.3.1"
+        "@octokit/openapi-types": "^24.2.0"
       }
     },
-    "node_modules/@mixmark-io/domino": {
-      "version": "2.2.0",
+    "node_modules/@octokit/types": {
+      "version": "12.6.0",
+      "resolved": "https://registry.npmjs.org/@octokit/types/-/types-12.6.0.tgz",
+      "integrity": "sha512-1rhSOfRa6H9w4YwK0yrf5faDaDTb+yLyBUKOCV4xtCDB5VmIPqd/v9yr9o6SAzOAlRxMiRiCic6JVM1/kunVkw==",
       "dev": true,
-      "license": "BSD-2-Clause"
+      "license": "MIT",
+      "dependencies": {
+        "@octokit/openapi-types": "^20.0.0"
+      }
     },
-    "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
-      "version": "3.0.3",
+    "node_modules/@oxc-minify/binding-android-arm-eabi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-android-arm-eabi/-/binding-android-arm-eabi-0.110.0.tgz",
+      "integrity": "sha512-43fMTO8/5bMlqfOiNSZNKUzIqeLIYuB9Hr1Ohyf58B1wU11S2dPGibTXOGNaWsfgHy99eeZ1bSgeIHy/fEYqbw==",
       "cpu": [
-        "x64"
+        "arm"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
-        "linux"
-      ]
+        "android"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
     },
-    "node_modules/@napi-rs/nice": {
-      "version": "1.0.1",
-      "dev": true,
+    "node_modules/@oxc-minify/binding-android-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-android-arm64/-/binding-android-arm64-0.110.0.tgz",
+      "integrity": "sha512-5oQrnn9eK/ccOp80PTrNj0Vq893NPNNRryjGpOIVsYNgWFuoGCfpnKg68oEFcN8bArizYAqw4nvgHljEnar69w==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
       "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">= 10"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/Brooooooklyn"
-      },
-      "optionalDependencies": {
-        "@napi-rs/nice-android-arm-eabi": "1.0.1",
-        "@napi-rs/nice-android-arm64": "1.0.1",
-        "@napi-rs/nice-darwin-arm64": "1.0.1",
-        "@napi-rs/nice-darwin-x64": "1.0.1",
-        "@napi-rs/nice-freebsd-x64": "1.0.1",
-        "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1",
-        "@napi-rs/nice-linux-arm64-gnu": "1.0.1",
-        "@napi-rs/nice-linux-arm64-musl": "1.0.1",
-        "@napi-rs/nice-linux-ppc64-gnu": "1.0.1",
-        "@napi-rs/nice-linux-riscv64-gnu": "1.0.1",
-        "@napi-rs/nice-linux-s390x-gnu": "1.0.1",
-        "@napi-rs/nice-linux-x64-gnu": "1.0.1",
-        "@napi-rs/nice-linux-x64-musl": "1.0.1",
-        "@napi-rs/nice-win32-arm64-msvc": "1.0.1",
-        "@napi-rs/nice-win32-ia32-msvc": "1.0.1",
-        "@napi-rs/nice-win32-x64-msvc": "1.0.1"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@napi-rs/nice-linux-x64-gnu": {
-      "version": "1.0.1",
+    "node_modules/@oxc-minify/binding-darwin-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-darwin-arm64/-/binding-darwin-arm64-0.110.0.tgz",
+      "integrity": "sha512-dqBDgTG9tF2z2lrZp9E8wU+Godz1i8gCGSei2eFKS2hRploBOD5dmOLp1j4IMornkPvSQmbwB3uSjPq7fjx4EA==",
       "cpu": [
-        "x64"
+        "arm64"
       ],
-      "dev": true,
       "license": "MIT",
       "optional": true,
       "os": [
-        "linux"
+        "darwin"
       ],
       "engines": {
-        "node": ">= 10"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/binary-info": {
-      "version": "1.0.0",
-      "license": "Apache 2"
-    },
-    "node_modules/@netlify/dev-utils": {
-      "version": "2.2.0",
+    "node_modules/@oxc-minify/binding-darwin-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-darwin-x64/-/binding-darwin-x64-0.110.0.tgz",
+      "integrity": "sha512-U0AqabqaooDOpYmeeOye8wClv8PSScELXgOfYqyqgrwH9J9KrpCE1jL8Rlqgz68QbL4mPw3V6sKiiHssI4CLeQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@whatwg-node/server": "^0.9.60",
-        "chokidar": "^4.0.1",
-        "decache": "^4.6.2",
-        "dot-prop": "9.0.0",
-        "env-paths": "^3.0.0",
-        "find-up": "7.0.0",
-        "lodash.debounce": "^4.0.8",
-        "netlify": "^13.3.5",
-        "parse-gitignore": "^2.0.0",
-        "uuid": "^11.1.0",
-        "write-file-atomic": "^6.0.0"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^14.16.0 || >=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/find-up": {
-      "version": "7.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "locate-path": "^7.2.0",
-        "path-exists": "^5.0.0",
-        "unicorn-magic": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@netlify/dev-utils/node_modules/locate-path": {
-      "version": "7.2.0",
+    "node_modules/@oxc-minify/binding-freebsd-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-freebsd-x64/-/binding-freebsd-x64-0.110.0.tgz",
+      "integrity": "sha512-H0w8o/Wo1072WSdLfhwwrpFpwZnPpjQODlHuRYkTfsSSSJbTxQtjJd4uxk7YJsRv5RQp69y0I7zvdH6f8Xueyw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "p-locate": "^6.0.0"
-      },
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/p-limit": {
-      "version": "4.0.0",
+    "node_modules/@oxc-minify/binding-linux-arm-gnueabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.110.0.tgz",
+      "integrity": "sha512-qd6sW0AvEVYZhbVVMGtmKZw3b1zDYGIW+54Uh42moWRAj6i4Jhk/LGr6r9YNZpOINeuvZfkFuEeDD/jbu7xPUA==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "yocto-queue": "^1.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/p-locate": {
-      "version": "6.0.0",
+    "node_modules/@oxc-minify/binding-linux-arm-musleabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.110.0.tgz",
+      "integrity": "sha512-7WXP0aXMrWSn0ScppUBi3jf68ebfBG0eri8kxLmBOVSBj6jw1repzkHMITJMBeLr5d0tT/51qFEptiAk2EP2iA==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "p-limit": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/path-exists": {
-      "version": "5.0.0",
+    "node_modules/@oxc-minify/binding-linux-arm64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.110.0.tgz",
+      "integrity": "sha512-LYfADrq5x1W5gs+u9OIbMbDQNYkAECTXX0ufnAuf3oGmO51rF98kGFR5qJqC/6/csokDyT3wwTpxhE0TkcF/Og==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/unicorn-magic": {
-      "version": "0.1.0",
+    "node_modules/@oxc-minify/binding-linux-arm64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.110.0.tgz",
+      "integrity": "sha512-53GjCVY8kvymk9P6qNDh6zyblcehF5QHstq9QgCjv13ONGRnSHjeds0PxIwiihD7h295bxsWs84DN39syLPH4Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/write-file-atomic": {
-      "version": "6.0.0",
-      "license": "ISC",
-      "dependencies": {
-        "imurmurhash": "^0.1.4",
-        "signal-exit": "^4.0.1"
-      },
+    "node_modules/@oxc-minify/binding-linux-ppc64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.110.0.tgz",
+      "integrity": "sha512-li8XcN81dxbJDMBESnTgGhoiAQ+CNIdM0QGscZ4duVPjCry1RpX+5FJySFbGqG3pk4s9ZzlL/vtQtbRzZIZOzg==",
+      "cpu": [
+        "ppc64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/dev-utils/node_modules/yocto-queue": {
-      "version": "1.2.1",
+    "node_modules/@oxc-minify/binding-linux-riscv64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.110.0.tgz",
+      "integrity": "sha512-SweKfsnLKShu6UFV8mwuj1d1wmlNoL/FlAxPUzwjEBgwiT2HQkY24KnjBH+TIA+//1O83kzmWKvvs4OuEhdIEQ==",
+      "cpu": [
+        "riscv64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12.20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/functions": {
-      "version": "3.1.10",
+    "node_modules/@oxc-minify/binding-linux-riscv64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.110.0.tgz",
+      "integrity": "sha512-oH8G4aFMP8XyTsEpdANC5PQyHgSeGlopHZuW1rpyYcaErg5YaK0vXjQ4EM5HVvPm+feBV24JjxgakTnZoF3aOQ==",
+      "cpu": [
+        "riscv64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@netlify/blobs": "9.1.2",
-        "@netlify/dev-utils": "2.2.0",
-        "@netlify/serverless-functions-api": "1.41.2",
-        "@netlify/zip-it-and-ship-it": "^12.1.0",
-        "cron-parser": "^4.9.0",
-        "decache": "^4.6.2",
-        "extract-zip": "^2.0.1",
-        "is-stream": "^4.0.1",
-        "jwt-decode": "^4.0.0",
-        "lambda-local": "^2.2.0",
-        "read-package-up": "^11.0.0",
-        "source-map-support": "^0.5.21"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=14.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/functions/node_modules/@netlify/blobs": {
-      "version": "9.1.2",
+    "node_modules/@oxc-minify/binding-linux-s390x-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.110.0.tgz",
+      "integrity": "sha512-W9na+Vza7XVUlpf8wMt4QBfH35KeTENEmnpPUq3NSlbQHz8lSlSvhAafvo43NcKvHAXV3ckD/mUf2VkqSdbklg==",
+      "cpu": [
+        "s390x"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@netlify/dev-utils": "2.2.0",
-        "@netlify/runtime-utils": "1.3.1"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^14.16.0 || >=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/open-api": {
-      "version": "2.37.0",
+    "node_modules/@oxc-minify/binding-linux-x64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.110.0.tgz",
+      "integrity": "sha512-XJdA4mmmXOjJxSRgNJXsDP7Xe8h3gQhmb56hUcCrvq5d+h5UcEi2pR8rxsdIrS8QmkLuBA3eHkGK8E27D7DTgQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=14.8.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/runtime-utils": {
-      "version": "1.3.1",
+    "node_modules/@oxc-minify/binding-linux-x64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-linux-x64-musl/-/binding-linux-x64-musl-0.110.0.tgz",
+      "integrity": "sha512-QqzvALuOTtSckI8x467R4GNArzYDb/yEh6aNzLoeaY1O7vfT7SPDwlOEcchaTznutpeS9Dy8gUS/AfqtUHaufw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/serverless-functions-api": {
-      "version": "1.41.2",
+    "node_modules/@oxc-minify/binding-openharmony-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-openharmony-arm64/-/binding-openharmony-arm64-0.110.0.tgz",
+      "integrity": "sha512-gAMssLs2Q3+uhLZxanh1DF+27Kaug3cf4PXb9AB7XK81DR+LVcKySXaoGYoOs20Co0fFSphd6rRzKge2qDK3dA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
       "engines": {
-        "node": ">=18.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it": {
-      "version": "12.1.4",
+    "node_modules/@oxc-minify/binding-wasm32-wasi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-wasm32-wasi/-/binding-wasm32-wasi-0.110.0.tgz",
+      "integrity": "sha512-7Wqi5Zjl022bs2zXq+ICdalDPeDuCH/Nhbi8q2isLihAonMVIT0YH2hqqnNEylRNGYck+FJ6gRZwMpGCgrNxPg==",
+      "cpu": [
+        "wasm32"
+      ],
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "@babel/parser": "^7.22.5",
-        "@babel/types": "7.27.6",
-        "@netlify/binary-info": "^1.0.0",
-        "@netlify/serverless-functions-api": "^2.1.1",
-        "@vercel/nft": "0.29.4",
-        "archiver": "^7.0.0",
-        "common-path-prefix": "^3.0.0",
-        "copy-file": "^11.0.0",
-        "es-module-lexer": "^1.0.0",
-        "esbuild": "0.25.5",
-        "execa": "^8.0.0",
-        "fast-glob": "^3.3.3",
-        "filter-obj": "^6.0.0",
-        "find-up": "^7.0.0",
-        "is-builtin-module": "^3.1.0",
-        "is-path-inside": "^4.0.0",
-        "junk": "^4.0.0",
-        "locate-path": "^7.0.0",
-        "merge-options": "^3.0.4",
-        "minimatch": "^9.0.0",
-        "normalize-path": "^3.0.0",
-        "p-map": "^7.0.0",
-        "path-exists": "^5.0.0",
-        "precinct": "^12.0.0",
-        "require-package-name": "^2.0.1",
-        "resolve": "^2.0.0-next.1",
-        "semver": "^7.3.8",
-        "tmp-promise": "^3.0.2",
-        "toml": "^3.0.0",
-        "unixify": "^1.0.0",
-        "urlpattern-polyfill": "8.0.2",
-        "yargs": "^17.0.0",
-        "zod": "^3.23.8"
-      },
-      "bin": {
-        "zip-it-and-ship-it": "bin.js"
+        "@napi-rs/wasm-runtime": "^1.1.1"
       },
       "engines": {
-        "node": ">=18.14.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/@netlify/serverless-functions-api": {
-      "version": "2.1.2",
+    "node_modules/@oxc-minify/binding-win32-arm64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.110.0.tgz",
+      "integrity": "sha512-ZPx+0Tj4dqn41ecyoGotlvekQKy6JxJCixn9Rw7h/dafZ3eDuBcEVh3c2ZoldXXsyMIt5ywI8IWzFZsjNedd5Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=18.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/brace-expansion": {
-      "version": "2.0.2",
+    "node_modules/@oxc-minify/binding-win32-ia32-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.110.0.tgz",
+      "integrity": "sha512-H0Oyd3RWBfpEyvJIrFK94RYiY7KKSQl11Ym7LMDwLEagelIAfRCkt1amHZhFa/S3ZRoaOJFXzEw4YKeSsjVFsg==",
+      "cpu": [
+        "ia32"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/execa": {
-      "version": "8.0.1",
+    "node_modules/@oxc-minify/binding-win32-x64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-minify/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.110.0.tgz",
+      "integrity": "sha512-Hr3nK90+qXKJ2kepXwFIcNfQQIOBecB4FFCyaMMypthoEEhVP08heRynj4eSXZ8NL9hLjs3fQzH8PJXfpznRnQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^8.0.1",
-        "human-signals": "^5.0.0",
-        "is-stream": "^3.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^5.1.0",
-        "onetime": "^6.0.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^3.0.0"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=16.17"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/find-up": {
-      "version": "7.0.0",
+    "node_modules/@oxc-parser/binding-android-arm-eabi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.110.0.tgz",
+      "integrity": "sha512-g6+kHTI/BRDJszaZkSgyu0pGuMIVYJ7/v0I4C9BkTeGn1LxF9GWI6jE22dBEELXMWbG7FTyNlD9RCuWlStAx6w==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "locate-path": "^7.2.0",
-        "path-exists": "^5.0.0",
-        "unicorn-magic": "^0.1.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/get-stream": {
-      "version": "8.0.1",
+    "node_modules/@oxc-parser/binding-android-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm64/-/binding-android-arm64-0.110.0.tgz",
+      "integrity": "sha512-tbr+uWFVUN6p9LYlR0cPyFA24HWlnRYU+oldWlEGis/tdMtya3BubQcKdylhFhhDLaW6ChCJfxogQranElGVsw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/human-signals": {
-      "version": "5.0.0",
-      "license": "Apache-2.0",
+    "node_modules/@oxc-parser/binding-darwin-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-arm64/-/binding-darwin-arm64-0.110.0.tgz",
+      "integrity": "sha512-jPBsXPc8hwmsUQyLMg7a5Ll/j/8rWCDFoB8WzLP6C0qQKX0zWQxbfSdLFg9GGNPuRo8J8ma9WfBQN5RmbFxNJA==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=16.17.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/is-path-inside": {
-      "version": "4.0.0",
+    "node_modules/@oxc-parser/binding-darwin-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-darwin-x64/-/binding-darwin-x64-0.110.0.tgz",
+      "integrity": "sha512-jt5G1eZj4sdMGc7Q0c6kfPRmqY1Mn3yzo6xuRr8EXozkh93O8KGFflABY7t56WIrmP+cloaCQkLcjlm6vdhzcQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/is-stream": {
-      "version": "3.0.0",
+    "node_modules/@oxc-parser/binding-freebsd-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-freebsd-x64/-/binding-freebsd-x64-0.110.0.tgz",
+      "integrity": "sha512-VJ7Hwf4dg7uf8b/DrLEhE6lgnNTfBZbTqXQBG3n0oCBoreE1c5aWf1la+o7fJjjTpACRts/vAZ2ngFNNqEFpJw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/locate-path": {
-      "version": "7.2.0",
+    "node_modules/@oxc-parser/binding-linux-arm-gnueabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.110.0.tgz",
+      "integrity": "sha512-w3OZ0pLKktM7k4qEbVj3dHnCvSMFnWugYxHfhpwncYUOxwDNL3mw++EOIrw997QYiEuJ+H6Od8K6mbj1p6Ae8w==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "p-locate": "^6.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/mimic-fn": {
-      "version": "4.0.0",
+    "node_modules/@oxc-parser/binding-linux-arm-musleabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.110.0.tgz",
+      "integrity": "sha512-BIaoW4W6QKb8Q6p3DErDtsAuDRAnr0W+gtwo7fQQkbAJpoPII0ZJXZn+tcQGCyNGKWSsilRNWHyd/XZfXXXpzw==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/minimatch": {
-      "version": "9.0.5",
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
+    "node_modules/@oxc-parser/binding-linux-arm64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.110.0.tgz",
+      "integrity": "sha512-3EQDJze28t0HdxXjMKBU6utNscXJePg2YV0Kd/ZnHx24VcIyfkNH6NKzBh0NeaWHovDTkpzYHPtF2tOevtbbfw==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/npm-run-path": {
-      "version": "5.3.0",
+    "node_modules/@oxc-parser/binding-linux-arm64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.110.0.tgz",
+      "integrity": "sha512-5xwm1hPrGGvjCVtTWNGJ39MmQGnyipoIDShneGBgSrnDh0XX+COAO7AZKajgNipqgNq5rGEItpzFkMtSDyx0bQ==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "path-key": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/onetime": {
-      "version": "6.0.0",
+    "node_modules/@oxc-parser/binding-linux-ppc64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.110.0.tgz",
+      "integrity": "sha512-I8Xop7z+enuvW1xe0AcRQ9XqFNkUYgeXusyGjCyW6TstRb62P90h+nL1AoGaUMy0E0518DJam5vRYVRgXaAzYg==",
+      "cpu": [
+        "ppc64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "mimic-fn": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/p-limit": {
-      "version": "4.0.0",
+    "node_modules/@oxc-parser/binding-linux-riscv64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.110.0.tgz",
+      "integrity": "sha512-XPM0jpght/AuHnweNaIo0twpId6rWFs8NrTkMijxcsRQMzNBeSQQgYm9ErrutmKQS6gb8XNAEIkYXHgPmhdDPg==",
+      "cpu": [
+        "riscv64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "yocto-queue": "^1.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/p-locate": {
-      "version": "6.0.0",
+    "node_modules/@oxc-parser/binding-linux-riscv64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.110.0.tgz",
+      "integrity": "sha512-ylJIuJyMzAqR191QeCwZLEkyo4Sx817TNILjNhT0W1EDQusGicOYKSsGXM/2DHCNYGcidV+MQ8pUVzNeVmuM6g==",
+      "cpu": [
+        "riscv64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "p-limit": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/p-map": {
-      "version": "7.0.3",
+    "node_modules/@oxc-parser/binding-linux-s390x-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.110.0.tgz",
+      "integrity": "sha512-DL6oR0PfYor9tBX9xlAxMUVwfm6+sKTL4H+KiQ6JKP3xkJTwBIdDCgeN2AjMht1D3N40uUwVq3v8/2fqnZRgLQ==",
+      "cpu": [
+        "s390x"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/path-exists": {
-      "version": "5.0.0",
+    "node_modules/@oxc-parser/binding-linux-x64-gnu": {
+      "version": "0.108.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.108.0.tgz",
+      "integrity": "sha512-uao/CmiUkSrfIF4WIT0c/mh+PqwIzux43/Q8NZvJrn4KLZaKR8veGPsJjUBN5igJerh+I5XJ4tjtYbFJV1So+A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/path-key": {
-      "version": "4.0.0",
+    "node_modules/@oxc-parser/binding-linux-x64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-musl/-/binding-linux-x64-musl-0.110.0.tgz",
+      "integrity": "sha512-6DiYhVdXKOzB01+j/tyrB6/d2o6b4XYFQvcbBRNbVHIimS6nl992y3V3mGG3NaA+uCZAzhT3M3btTdKAxE4A3A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/resolve": {
-      "version": "2.0.0-next.5",
+    "node_modules/@oxc-parser/binding-openharmony-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-openharmony-arm64/-/binding-openharmony-arm64-0.110.0.tgz",
+      "integrity": "sha512-U9KEK7tXdHrXl2eZpoHYGWj31ZSvdGiaXwjkJzeRN0elt89PXi+VcryRh6BAFbEz1EQpTteyMDwDXMgJVWM85A==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@oxc-parser/binding-wasm32-wasi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-wasm32-wasi/-/binding-wasm32-wasi-0.110.0.tgz",
+      "integrity": "sha512-cK2j/GbXGxP7k4qDM0OGjkbPrIOj8n9+U/27joH/M19z+jrQ5u1lvlvbAK/Aw2LnqE0waADnnuAc0MFab+Ea8w==",
+      "cpu": [
+        "wasm32"
+      ],
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "is-core-module": "^2.13.0",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      },
-      "bin": {
-        "resolve": "bin/resolve"
+        "@napi-rs/wasm-runtime": "^1.1.1"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/strip-final-newline": {
-      "version": "3.0.0",
+    "node_modules/@oxc-parser/binding-win32-arm64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.110.0.tgz",
+      "integrity": "sha512-ZW393ysGT5oZeGJRyw2JAz4tIfyTjVCSxuZoh8e+7J7e0QPDH/SAmyxJXb/aMxarIVa3OcYZ5p/Q6eooHZ0i1Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/unicorn-magic": {
-      "version": "0.1.0",
+    "node_modules/@oxc-parser/binding-win32-ia32-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.110.0.tgz",
+      "integrity": "sha512-NM50LT1PEnlMlw+z/TFVkWaDOF/s5DRHbU3XhEESNhDDT9qYA8N9B1V/FYxVr1ngu28JGK2HtkjpWKlKoF4E2Q==",
+      "cpu": [
+        "ia32"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@netlify/zip-it-and-ship-it/node_modules/yocto-queue": {
-      "version": "1.2.1",
+    "node_modules/@oxc-parser/binding-win32-x64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.110.0.tgz",
+      "integrity": "sha512-w1SzoXNaY59tbTz8/YhImByuj7kXP5EfPtv4+PPwPrvLrOWt8BOpK0wN8ysXqyWCdHv9vS1UBRrNd/aSp4Dy8A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=12.20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@ngtools/webpack": {
-      "version": "19.2.15",
-      "dev": true,
+    "node_modules/@oxc-project/types": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.110.0.tgz",
+      "integrity": "sha512-6Ct21OIlrEnFEJk5LT4e63pk3btsI6/TusD/GStLi7wYlGJNOl1GI9qvXAnRAxQU9zqA2Oz+UwhfTOU2rPZVow==",
       "license": "MIT",
-      "engines": {
-        "node": "^18.19.1 || ^20.11.1 || >=22.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0",
-        "typescript": ">=5.5 <5.9",
-        "webpack": "^5.54.0"
+      "funding": {
+        "url": "https://github.com/sponsors/Boshen"
       }
     },
-    "node_modules/@nodelib/fs.scandir": {
-      "version": "2.1.5",
+    "node_modules/@oxc-transform/binding-android-arm-eabi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-android-arm-eabi/-/binding-android-arm-eabi-0.110.0.tgz",
+      "integrity": "sha512-sE9dxvqqAax1YYJ3t7j+h5ZSI9jl6dYuDfngl6ieZUrIy5P89/8JKVgAzgp8o3wQSo7ndpJvYsi1K4ZqrmbP7w==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@nodelib/fs.stat": "2.0.5",
-        "run-parallel": "^1.1.9"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">= 8"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nodelib/fs.stat": {
-      "version": "2.0.5",
+    "node_modules/@oxc-transform/binding-android-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-android-arm64/-/binding-android-arm64-0.110.0.tgz",
+      "integrity": "sha512-nqtbP4aMCtsCZ6qpHlHaQoWVHSBtlKzwaAgwEOvR+9DWqHjk31BHvpGiDXlMeed6CVNpl3lCbWgygb3RcSjcfw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">= 8"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nodelib/fs.walk": {
-      "version": "1.2.8",
+    "node_modules/@oxc-transform/binding-darwin-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-darwin-arm64/-/binding-darwin-arm64-0.110.0.tgz",
+      "integrity": "sha512-oeSeHnL4Z4cMXtc8V0/rwoVn0dgwlS9q0j6LcHn9dIhtFEdp3W0iSBF8YmMQA+E7sILeLDjsHmHE4Kp0sOScXw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@nodelib/fs.scandir": "2.1.5",
-        "fastq": "^1.6.0"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">= 8"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/agent": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "agent-base": "^7.1.0",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.1",
-        "lru-cache": "^10.0.1",
-        "socks-proxy-agent": "^8.0.3"
-      },
+    "node_modules/@oxc-transform/binding-darwin-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-darwin-x64/-/binding-darwin-x64-0.110.0.tgz",
+      "integrity": "sha512-nL9K5x7OuZydobAGPylsEW9d4APs2qEkIBLMgQPA+kY8dtVD3IR87QsTbs4l4DBQYyun/+ay6qVCDlxqxdX2Jg==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/agent/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/@npmcli/fs": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "semver": "^7.3.5"
-      },
+    "node_modules/@oxc-transform/binding-freebsd-x64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-freebsd-x64/-/binding-freebsd-x64-0.110.0.tgz",
+      "integrity": "sha512-GS29zXXirDQhZEUq8xKJ1azAWMuUy3Ih3W5Bc5ddk12LRthO5wRLFcKIyeHpAXCoXymQ+LmxbMtbPf84GPxouw==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/git": {
-      "version": "6.0.3",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "@npmcli/promise-spawn": "^8.0.0",
-        "ini": "^5.0.0",
-        "lru-cache": "^10.0.1",
-        "npm-pick-manifest": "^10.0.0",
-        "proc-log": "^5.0.0",
-        "promise-retry": "^2.0.1",
-        "semver": "^7.3.5",
-        "which": "^5.0.0"
-      },
+    "node_modules/@oxc-transform/binding-linux-arm-gnueabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-0.110.0.tgz",
+      "integrity": "sha512-glzDHak8ISyZJemCUi7RCvzNSl+MQ1ly9RceT2qRufhUsvNZ4C/2QLJ1HJwd2N6E88bO4laYn+RofdRzNnGGEA==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/git/node_modules/isexe": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-linux-arm-musleabihf": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm-musleabihf/-/binding-linux-arm-musleabihf-0.110.0.tgz",
+      "integrity": "sha512-8JThvgJ2FRoTVfbp7e4wqeZqCZbtudM06SfZmNzND9kPNu/LVYygIR+72RWs+xm4bWkuYHg/islo/boNPtMT5Q==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/git/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
+    "node_modules/@oxc-transform/binding-linux-arm64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-0.110.0.tgz",
+      "integrity": "sha512-IRh21Ub/g4bkHoErZ0AUWMlWfoZaS0A6EaOVtbcY70RSYIMlrsbjiFwJCzM+b/1DD1rXbH5tsGcH7GweTbfRqg==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
     },
-    "node_modules/@npmcli/git/node_modules/which": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
-      },
+    "node_modules/@oxc-transform/binding-linux-arm64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-arm64-musl/-/binding-linux-arm64-musl-0.110.0.tgz",
+      "integrity": "sha512-e5JN94/oy+wevk76q+LMr+2klTTcO60uXa+Wkq558Ms7mdF2TvkKFI++d/JeiuIwJLTi/BxQ4qdT5FWcsHM/ug==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/installed-package-contents": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "npm-bundled": "^4.0.0",
-        "npm-normalize-package-bin": "^4.0.0"
-      },
-      "bin": {
-        "installed-package-contents": "bin/index.js"
-      },
+    "node_modules/@oxc-transform/binding-linux-ppc64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-ppc64-gnu/-/binding-linux-ppc64-gnu-0.110.0.tgz",
+      "integrity": "sha512-Y3/Tnnz1GvDpmv8FXBIKtdZPsdZklOEPdrL6NHrN5i2u54BOkybFaDSptgWF53wOrJlTrcmAVSE6fRKK9XCM2Q==",
+      "cpu": [
+        "ppc64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/node-gyp": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-linux-riscv64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-riscv64-gnu/-/binding-linux-riscv64-gnu-0.110.0.tgz",
+      "integrity": "sha512-Y0E35iA9/v9jlkNcP6tMJ+ZFOS0rLsWDqG6rU9z+X2R3fBFJBO9UARIK6ngx8upxk81y1TFR2CmBFhupfYdH6Q==",
+      "cpu": [
+        "riscv64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/package-json": {
-      "version": "6.2.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "@npmcli/git": "^6.0.0",
-        "glob": "^10.2.2",
-        "hosted-git-info": "^8.0.0",
-        "json-parse-even-better-errors": "^4.0.0",
-        "proc-log": "^5.0.0",
-        "semver": "^7.5.3",
-        "validate-npm-package-license": "^3.0.4"
-      },
+    "node_modules/@oxc-transform/binding-linux-riscv64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-riscv64-musl/-/binding-linux-riscv64-musl-0.110.0.tgz",
+      "integrity": "sha512-JOUSYFfHjBUs7xp2FHmZHb8eTYD/oEu0NklS6JgUauqnoXZHiTLPLVW2o2uVCqldnabYHcomuwI2iqVFYJNhTw==",
+      "cpu": [
+        "riscv64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/promise-spawn": {
-      "version": "8.0.2",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "which": "^5.0.0"
-      },
+    "node_modules/@oxc-transform/binding-linux-s390x-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-s390x-gnu/-/binding-linux-s390x-gnu-0.110.0.tgz",
+      "integrity": "sha512-7blgoXF9D3Ngzb7eun23pNrHJpoV/TtE6LObwlZ3Nmb4oZ6Z+yMvBVaoW68NarbmvNGfZ95zrOjgm6cVETLYBA==",
+      "cpu": [
+        "s390x"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/promise-spawn/node_modules/isexe": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-linux-x64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.110.0.tgz",
+      "integrity": "sha512-YQ2joGWCVDZVEU2cD/r/w49hVjDm/Qu1BvC/7zs8LvprzdLS/HyMXGF2oA0puw0b+AqgYaz3bhwKB2xexHyITQ==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/promise-spawn/node_modules/which": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
-      },
+    "node_modules/@oxc-transform/binding-linux-x64-musl": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-linux-x64-musl/-/binding-linux-x64-musl-0.110.0.tgz",
+      "integrity": "sha512-fkjr5qE632ULmNgvFXWDR/8668WxERz3tU7TQFp6JebPBneColitjSkdx6VKNVXEoMmQnOvBIGeP5tUNT384oA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/redact": {
-      "version": "3.2.2",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-openharmony-arm64": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-openharmony-arm64/-/binding-openharmony-arm64-0.110.0.tgz",
+      "integrity": "sha512-HWH9Zj+lMrdSTqFRCZsvDWMz7OnMjbdGsm3xURXWfRZpuaz0bVvyuZNDQXc4FyyhRDsemICaJbU1bgeIpUJDGw==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/run-script": {
-      "version": "9.1.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-wasm32-wasi": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-wasm32-wasi/-/binding-wasm32-wasi-0.110.0.tgz",
+      "integrity": "sha512-ejdxHmYfIcHDPhZUe3WklViLt9mDEJE5BzcW7+R1vc5i/5JFA8D0l7NUSsHBJ7FB8Bu9gF+5iMDm6cXGAgaghw==",
+      "cpu": [
+        "wasm32"
+      ],
+      "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "@npmcli/node-gyp": "^4.0.0",
-        "@npmcli/package-json": "^6.0.0",
-        "@npmcli/promise-spawn": "^8.0.0",
-        "node-gyp": "^11.0.0",
-        "proc-log": "^5.0.0",
-        "which": "^5.0.0"
+        "@napi-rs/wasm-runtime": "^1.1.1"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@npmcli/run-script/node_modules/isexe": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@oxc-transform/binding-win32-arm64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-0.110.0.tgz",
+      "integrity": "sha512-9VTwpXCZs7xkV+mKhQ62dVk7KLnLXtEUxNS2T4nLz3iMl1IJbA4h5oltK0JoobtiUAnbkV53QmMVGW8+Nh3bDQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=16"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@npmcli/run-script/node_modules/which": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
-      },
+    "node_modules/@oxc-transform/binding-win32-ia32-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-0.110.0.tgz",
+      "integrity": "sha512-5y0fzuNON7/F2hh2P94vANFaRPJ/3DI1hVl5rseCT8VUVqOGIjWaza0YS/D1g6t1WwycW2LWDMi2raOKoWU5GQ==",
+      "cpu": [
+        "ia32"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/cli": {
-      "version": "3.25.1",
+    "node_modules/@oxc-transform/binding-win32-x64-msvc": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-transform/binding-win32-x64-msvc/-/binding-win32-x64-msvc-0.110.0.tgz",
+      "integrity": "sha512-QROrowwlrApI1fEScMknGWKM6GTM/Z2xwMnDqvSaEmzNazBsDUlE08Jasw610hFEsYAVU2K5sp/YaCa9ORdP4A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "c12": "^3.0.3",
-        "chokidar": "^4.0.3",
-        "citty": "^0.1.6",
-        "clipboardy": "^4.0.0",
-        "consola": "^3.4.2",
-        "defu": "^6.1.4",
-        "fuse.js": "^7.1.0",
-        "giget": "^2.0.0",
-        "h3": "^1.15.3",
-        "httpxy": "^0.1.7",
-        "jiti": "^2.4.2",
-        "listhen": "^1.9.0",
-        "nypm": "^0.6.0",
-        "ofetch": "^1.4.1",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "scule": "^1.3.0",
-        "semver": "^7.7.1",
-        "std-env": "^3.9.0",
-        "tinyexec": "^1.0.1",
-        "ufo": "^1.6.1",
-        "youch": "^4.1.0-beta.7"
-      },
-      "bin": {
-        "nuxi": "bin/nuxi.mjs",
-        "nuxi-ng": "bin/nuxi.mjs",
-        "nuxt": "bin/nuxi.mjs",
-        "nuxt-cli": "bin/nuxi.mjs"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^16.10.0 || >=18.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/cli/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@nuxt/devalue": {
-      "version": "2.0.2",
-      "license": "MIT"
-    },
-    "node_modules/@nuxt/devtools": {
-      "version": "2.5.0",
+    "node_modules/@parcel/watcher": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.6.tgz",
+      "integrity": "sha512-tmmZ3lQxAe/k/+rNnXQRawJ4NjxO2hqiOLTHvWchtGZULp4RyFeh6aU4XdOYBFe2KE1oShQTv4AblOs2iOrNnQ==",
+      "hasInstallScript": true,
       "license": "MIT",
       "dependencies": {
-        "@nuxt/devtools-kit": "2.5.0",
-        "@nuxt/devtools-wizard": "2.5.0",
-        "@nuxt/kit": "^3.17.4",
-        "@vue/devtools-core": "^7.7.6",
-        "@vue/devtools-kit": "^7.7.6",
-        "birpc": "^2.3.0",
-        "consola": "^3.4.2",
-        "destr": "^2.0.5",
-        "error-stack-parser-es": "^1.0.5",
-        "execa": "^8.0.1",
-        "fast-npm-meta": "^0.4.3",
-        "get-port-please": "^3.1.2",
-        "hookable": "^5.5.3",
-        "image-meta": "^0.2.1",
-        "is-installed-globally": "^1.0.0",
-        "launch-editor": "^2.10.0",
-        "local-pkg": "^1.1.1",
-        "magicast": "^0.3.5",
-        "nypm": "^0.6.0",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "semver": "^7.7.2",
-        "simple-git": "^3.27.0",
-        "sirv": "^3.0.1",
-        "structured-clone-es": "^1.0.0",
-        "tinyglobby": "^0.2.14",
-        "vite-plugin-inspect": "^11.1.0",
-        "vite-plugin-vue-tracer": "^0.1.4",
-        "which": "^5.0.0",
-        "ws": "^8.18.2"
+        "detect-libc": "^2.0.3",
+        "is-glob": "^4.0.3",
+        "node-addon-api": "^7.0.0",
+        "picomatch": "^4.0.3"
       },
-      "bin": {
-        "devtools": "cli.mjs"
+      "engines": {
+        "node": ">= 10.0.0"
       },
-      "peerDependencies": {
-        "vite": ">=6.0"
-      }
-    },
-    "node_modules/@nuxt/devtools-kit": {
-      "version": "2.5.0",
-      "license": "MIT",
-      "dependencies": {
-        "@nuxt/kit": "^3.17.4",
-        "@nuxt/schema": "^3.17.4",
-        "execa": "^8.0.1"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       },
-      "peerDependencies": {
-        "vite": ">=6.0"
-      }
-    },
-    "node_modules/@nuxt/devtools-kit/node_modules/execa": {
-      "version": "8.0.1",
+      "optionalDependencies": {
+        "@parcel/watcher-android-arm64": "2.5.6",
+        "@parcel/watcher-darwin-arm64": "2.5.6",
+        "@parcel/watcher-darwin-x64": "2.5.6",
+        "@parcel/watcher-freebsd-x64": "2.5.6",
+        "@parcel/watcher-linux-arm-glibc": "2.5.6",
+        "@parcel/watcher-linux-arm-musl": "2.5.6",
+        "@parcel/watcher-linux-arm64-glibc": "2.5.6",
+        "@parcel/watcher-linux-arm64-musl": "2.5.6",
+        "@parcel/watcher-linux-x64-glibc": "2.5.6",
+        "@parcel/watcher-linux-x64-musl": "2.5.6",
+        "@parcel/watcher-win32-arm64": "2.5.6",
+        "@parcel/watcher-win32-ia32": "2.5.6",
+        "@parcel/watcher-win32-x64": "2.5.6"
+      }
+    },
+    "node_modules/@parcel/watcher-android-arm64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.6.tgz",
+      "integrity": "sha512-YQxSS34tPF/6ZG7r/Ih9xy+kP/WwediEUsqmtf0cuCV5TPPKw/PQHRhueUo6JdeFJaqV3pyjm0GdYjZotbRt/A==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^8.0.1",
-        "human-signals": "^5.0.0",
-        "is-stream": "^3.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^5.1.0",
-        "onetime": "^6.0.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^3.0.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=16.17"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/get-stream": {
-      "version": "8.0.1",
+    "node_modules/@parcel/watcher-darwin-arm64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.6.tgz",
+      "integrity": "sha512-Z2ZdrnwyXvvvdtRHLmM4knydIdU9adO3D4n/0cVipF3rRiwP+3/sfzpAwA/qKFL6i1ModaabkU7IbpeMBgiVEA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=16"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@nuxt/devtools-kit/node_modules/human-signals": {
-      "version": "5.0.0",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=16.17.0"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/is-stream": {
-      "version": "3.0.0",
+    "node_modules/@parcel/watcher-darwin-x64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.6.tgz",
+      "integrity": "sha512-HgvOf3W9dhithcwOWX9uDZyn1lW9R+7tPZ4sug+NGrGIo4Rk1hAXLEbcH1TQSqxts0NYXXlOWqVpvS1SFS4fRg==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/mimic-fn": {
-      "version": "4.0.0",
+    "node_modules/@parcel/watcher-freebsd-x64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.6.tgz",
+      "integrity": "sha512-vJVi8yd/qzJxEKHkeemh7w3YAn6RJCtYlE4HPMoVnCpIXEzSrxErBW5SJBgKLbXU3WdIpkjBTeUNtyBVn8TRng==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/npm-run-path": {
-      "version": "5.3.0",
+    "node_modules/@parcel/watcher-linux-arm-glibc": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.6.tgz",
+      "integrity": "sha512-9JiYfB6h6BgV50CCfasfLf/uvOcJskMSwcdH1PHH9rvS1IrNy8zad6IUVPVUfmXr+u+Km9IxcfMLzgdOudz9EQ==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "path-key": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/onetime": {
-      "version": "6.0.0",
+    "node_modules/@parcel/watcher-linux-arm-musl": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.6.tgz",
+      "integrity": "sha512-Ve3gUCG57nuUUSyjBq/MAM0CzArtuIOxsBdQ+ftz6ho8n7s1i9E1Nmk/xmP323r2YL0SONs1EuwqBp2u1k5fxg==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "mimic-fn": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/path-key": {
-      "version": "4.0.0",
+    "node_modules/@parcel/watcher-linux-arm64-glibc": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.6.tgz",
+      "integrity": "sha512-f2g/DT3NhGPdBmMWYoxixqYr3v/UXcmLOYy16Bx0TM20Tchduwr4EaCbmxh1321TABqPGDpS8D/ggOTaljijOA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-kit/node_modules/strip-final-newline": {
-      "version": "3.0.0",
+    "node_modules/@parcel/watcher-linux-arm64-musl": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.6.tgz",
+      "integrity": "sha512-qb6naMDGlbCwdhLj6hgoVKJl2odL34z2sqkC7Z6kzir8b5W65WYDpLB6R06KabvZdgoHI/zxke4b3zR0wAbDTA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard": {
-      "version": "2.5.0",
+    "node_modules/@parcel/watcher-linux-x64-glibc": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.6.tgz",
+      "integrity": "sha512-kbT5wvNQlx7NaGjzPFu8nVIW1rWqV780O7ZtkjuWaPUgpv2NMFpjYERVi0UYj1msZNyCzGlaCWEtzc+exjMGbQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "consola": "^3.4.2",
-        "diff": "^8.0.2",
-        "execa": "^8.0.1",
-        "magicast": "^0.3.5",
-        "pathe": "^2.0.3",
-        "pkg-types": "^2.1.0",
-        "prompts": "^2.4.2",
-        "semver": "^7.7.2"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">= 10.0.0"
       },
-      "bin": {
-        "devtools-wizard": "cli.mjs"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/diff": {
-      "version": "8.0.2",
-      "license": "BSD-3-Clause",
+    "node_modules/@parcel/watcher-linux-x64-musl": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.6.tgz",
+      "integrity": "sha512-1JRFeC+h7RdXwldHzTsmdtYR/Ku8SylLgTU/reMuqdVD7CtLwf0VR1FqeprZ0eHQkO0vqsbvFLXUmYm/uNKJBg==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=0.3.1"
+        "node": ">= 10.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/execa": {
-      "version": "8.0.1",
+    "node_modules/@parcel/watcher-wasm": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-wasm/-/watcher-wasm-2.5.6.tgz",
+      "integrity": "sha512-byAiBZ1t3tXQvc8dMD/eoyE7lTXYorhn+6uVW5AC+JGI1KtJC/LvDche5cfUE+qiefH+Ybq0bUCJU0aB1cSHUA==",
+      "bundleDependencies": [
+        "napi-wasm"
+      ],
       "license": "MIT",
       "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^8.0.1",
-        "human-signals": "^5.0.0",
-        "is-stream": "^3.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^5.1.0",
-        "onetime": "^6.0.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^3.0.0"
+        "is-glob": "^4.0.3",
+        "napi-wasm": "^1.1.0",
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": ">=16.17"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/get-stream": {
-      "version": "8.0.1",
+    "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": {
+      "version": "1.1.0",
+      "inBundle": true,
+      "license": "MIT"
+    },
+    "node_modules/@parcel/watcher-wasm/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
       "engines": {
-        "node": ">=16"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@nuxt/devtools-wizard/node_modules/human-signals": {
-      "version": "5.0.0",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=16.17.0"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/is-stream": {
-      "version": "3.0.0",
+    "node_modules/@parcel/watcher-win32-arm64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.6.tgz",
+      "integrity": "sha512-3ukyebjc6eGlw9yRt678DxVF7rjXatWiHvTXqphZLvo7aC5NdEgFufVwjFfY51ijYEWpXbqF5jtrK275z52D4Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/mimic-fn": {
-      "version": "4.0.0",
+    "node_modules/@parcel/watcher-win32-ia32": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.6.tgz",
+      "integrity": "sha512-k35yLp1ZMwwee3Ez/pxBi5cf4AoBKYXj00CZ80jUz5h8prpiaQsiRPKQMxoLstNuqe2vR4RNPEAEcjEFzhEz/g==",
+      "cpu": [
+        "ia32"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=12"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/npm-run-path": {
-      "version": "5.3.0",
+    "node_modules/@parcel/watcher-win32-x64": {
+      "version": "2.5.6",
+      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.6.tgz",
+      "integrity": "sha512-hbQlYcCq5dlAX9Qx+kFb0FHue6vbjlf0FrNzSKdYK2APUf7tGfGxQCk2ihEREmbR6ZMc0MVAD5RIX/41gpUzTw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "path-key": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">= 10.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/parcel"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/onetime": {
-      "version": "6.0.0",
+    "node_modules/@parcel/watcher/node_modules/node-addon-api": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
+      "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
+      "license": "MIT"
+    },
+    "node_modules/@parcel/watcher/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "dependencies": {
-        "mimic-fn": "^4.0.0"
-      },
       "engines": {
         "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/path-key": {
-      "version": "4.0.0",
+    "node_modules/@pkgjs/parseargs": {
+      "version": "0.11.0",
+      "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+      "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
       "license": "MIT",
+      "optional": true,
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=14"
       }
     },
-    "node_modules/@nuxt/devtools-wizard/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@nuxt/devtools-wizard/node_modules/strip-final-newline": {
-      "version": "3.0.0",
+    "node_modules/@pkgr/core": {
+      "version": "0.2.9",
+      "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+      "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://opencollective.com/pkgr"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/execa": {
-      "version": "8.0.1",
-      "license": "MIT",
+    "node_modules/@playwright/test": {
+      "version": "1.58.0",
+      "resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.0.tgz",
+      "integrity": "sha512-fWza+Lpbj6SkQKCrU6si4iu+fD2dD3gxNHFhUPxsfXBPhnv3rRSQVd0NtBUT9Z/RhF/boCBcuUaMUSTRTopjZg==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "peer": true,
       "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^8.0.1",
-        "human-signals": "^5.0.0",
-        "is-stream": "^3.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^5.1.0",
-        "onetime": "^6.0.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^3.0.0"
+        "playwright": "1.58.0"
       },
-      "engines": {
-        "node": ">=16.17"
+      "bin": {
+        "playwright": "cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
-      }
-    },
-    "node_modules/@nuxt/devtools/node_modules/get-stream": {
-      "version": "8.0.1",
-      "license": "MIT",
       "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=18"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/human-signals": {
-      "version": "5.0.0",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=16.17.0"
-      }
+    "node_modules/@polka/url": {
+      "version": "1.0.0-next.29",
+      "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz",
+      "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==",
+      "license": "MIT"
     },
-    "node_modules/@nuxt/devtools/node_modules/is-stream": {
-      "version": "3.0.0",
+    "node_modules/@popperjs/core": {
+      "version": "2.11.8",
+      "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz",
+      "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@nuxt/devtools/node_modules/isexe": {
-      "version": "3.1.1",
-      "license": "ISC",
-      "engines": {
-        "node": ">=16"
+        "type": "opencollective",
+        "url": "https://opencollective.com/popperjs"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/mimic-fn": {
-      "version": "4.0.0",
+    "node_modules/@poppinss/colors": {
+      "version": "4.1.6",
+      "resolved": "https://registry.npmjs.org/@poppinss/colors/-/colors-4.1.6.tgz",
+      "integrity": "sha512-H9xkIdFswbS8n1d6vmRd8+c10t2Qe+rZITbbDHHkQixH5+2x1FDGmi/0K+WgWiqQFKPSlIYB7jlH6Kpfn6Fleg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "kleur": "^4.1.5"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/npm-run-path": {
-      "version": "5.3.0",
+    "node_modules/@poppinss/colors/node_modules/kleur": {
+      "version": "4.1.5",
+      "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+      "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
       "license": "MIT",
-      "dependencies": {
-        "path-key": "^4.0.0"
-      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/onetime": {
-      "version": "6.0.0",
+    "node_modules/@poppinss/dumper": {
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/@poppinss/dumper/-/dumper-0.6.5.tgz",
+      "integrity": "sha512-NBdYIb90J7LfOI32dOewKI1r7wnkiH6m920puQ3qHUeZkxNkQiFnXVWoE6YtFSv6QOiPPf7ys6i+HWWecDz7sw==",
       "license": "MIT",
       "dependencies": {
-        "mimic-fn": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@poppinss/colors": "^4.1.5",
+        "@sindresorhus/is": "^7.0.2",
+        "supports-color": "^10.0.0"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/path-key": {
-      "version": "4.0.0",
+    "node_modules/@poppinss/dumper/node_modules/supports-color": {
+      "version": "10.2.2",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz",
+      "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/@poppinss/exception": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/@poppinss/exception/-/exception-1.2.3.tgz",
+      "integrity": "sha512-dCED+QRChTVatE9ibtoaxc+WkdzOSjYTKi/+uacHWIsfodVfpsueo3+DKpgU5Px8qXjgmXkSvhXvSCz3fnP9lw==",
       "license": "MIT"
     },
-    "node_modules/@nuxt/devtools/node_modules/strip-final-newline": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@nuxt/devtools/node_modules/tinyglobby": {
-      "version": "0.2.14",
-      "license": "MIT",
+    "node_modules/@puppeteer/browsers": {
+      "version": "2.11.1",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.11.1.tgz",
+      "integrity": "sha512-YmhAxs7XPuxN0j7LJloHpfD1ylhDuFmmwMvfy/+6nBSrETT2ycL53LrhgPtR+f+GcPSybQVuQ5inWWu5MrWCpA==",
+      "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "fdir": "^6.4.4",
-        "picomatch": "^4.0.2"
+        "debug": "^4.4.3",
+        "extract-zip": "^2.0.1",
+        "progress": "^2.0.3",
+        "proxy-agent": "^6.5.0",
+        "semver": "^7.7.3",
+        "tar-fs": "^3.1.1",
+        "yargs": "^17.7.2"
       },
-      "engines": {
-        "node": ">=12.0.0"
+      "bin": {
+        "browsers": "lib/cjs/main-cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/SuperchupuDev"
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/@nuxt/devtools/node_modules/which": {
-      "version": "5.0.0",
+    "node_modules/@puppeteer/browsers/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
       "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
       "bin": {
-        "node-which": "bin/which.js"
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=10"
       }
     },
-    "node_modules/@nuxt/kit": {
-      "version": "3.17.5",
+    "node_modules/@rolldown/binding-android-arm64": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.58.tgz",
+      "integrity": "sha512-mWj5eE4Qc8TbPdGGaaLvBb9XfDPvE1EmZkJQgiGKwchkWH4oAJcRAKMTw7ZHnb1L+t7Ah41sBkAecaIsuUgsug==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "c12": "^3.0.4",
-        "consola": "^3.4.2",
-        "defu": "^6.1.4",
-        "destr": "^2.0.5",
-        "errx": "^0.1.0",
-        "exsolve": "^1.0.5",
-        "ignore": "^7.0.5",
-        "jiti": "^2.4.2",
-        "klona": "^2.0.6",
-        "knitwork": "^1.2.0",
-        "mlly": "^1.7.4",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "pkg-types": "^2.1.0",
-        "scule": "^1.3.0",
-        "semver": "^7.7.2",
-        "std-env": "^3.9.0",
-        "tinyglobby": "^0.2.14",
-        "ufo": "^1.6.1",
-        "unctx": "^2.4.1",
-        "unimport": "^5.0.1",
-        "untyped": "^2.0.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=18.12.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/kit/node_modules/ignore": {
-      "version": "7.0.5",
+    "node_modules/@rolldown/binding-darwin-arm64": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.58.tgz",
+      "integrity": "sha512-wFxUymI/5R8bH8qZFYDfAxAN9CyISEIYke+95oZPiv6EWo88aa5rskjVcCpKA532R+klFmdqjbbaD56GNmTF4Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">= 4"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/kit/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@nuxt/kit/node_modules/tinyglobby": {
-      "version": "0.2.14",
+    "node_modules/@rolldown/binding-darwin-x64": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.58.tgz",
+      "integrity": "sha512-ybp3MkPj23VDV9PhtRwdU5qrGhlViWRV5BjKwO6epaSlUD5lW0WyY+roN3ZAzbma/9RrMTgZ/a/gtQq8YXOcqw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "fdir": "^6.4.4",
-        "picomatch": "^4.0.2"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=12.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/SuperchupuDev"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/schema": {
-      "version": "3.17.5",
+    "node_modules/@rolldown/binding-freebsd-x64": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.58.tgz",
+      "integrity": "sha512-Evxj3yh7FWvyklUYZa0qTVT9N2zX9TPDqGF056hl8hlCZ9/ndQ2xMv6uw9PD1VlLpukbsqL+/C6M0qwipL0QMg==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@vue/shared": "^3.5.16",
-        "consola": "^3.4.2",
-        "defu": "^6.1.4",
-        "pathe": "^2.0.3",
-        "std-env": "^3.9.0"
-      },
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
-        "node": "^14.18.0 || >=16.10.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/schema/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
+    "node_modules/@rolldown/binding-linux-arm-gnueabihf": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.58.tgz",
+      "integrity": "sha512-tYeXprDOrEgVHUbPXH6MPso4cM/c6RTkmJNICMQlYdki4hGMh92aj3yU6CKs+4X5gfG0yj5kVUw/L4M685SYag==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
     },
-    "node_modules/@nuxt/telemetry": {
-      "version": "2.6.6",
+    "node_modules/@rolldown/binding-linux-arm64-gnu": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.58.tgz",
+      "integrity": "sha512-N78vmZzP6zG967Ohr+MasCjmKtis0geZ1SOVmxrA0/bklTQSzH5kHEjW5Qn+i1taFno6GEre1E40v0wuWsNOQw==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@nuxt/kit": "^3.15.4",
-        "citty": "^0.1.6",
-        "consola": "^3.4.2",
-        "destr": "^2.0.3",
-        "dotenv": "^16.4.7",
-        "git-url-parse": "^16.0.1",
-        "is-docker": "^3.0.0",
-        "ofetch": "^1.4.1",
-        "package-manager-detector": "^1.1.0",
-        "pathe": "^2.0.3",
-        "rc9": "^2.1.2",
-        "std-env": "^3.8.1"
-      },
-      "bin": {
-        "nuxt-telemetry": "bin/nuxt-telemetry.mjs"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=18.12.0"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/telemetry/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
+    "node_modules/@rolldown/binding-linux-arm64-musl": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.58.tgz",
+      "integrity": "sha512-l+p4QVtG72C7wI2SIkNQw/KQtSjuYwS3rV6AKcWrRBF62ClsFUcif5vLaZIEbPrCXu5OFRXigXFJnxYsVVZqdQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
     },
-    "node_modules/@nuxt/vite-builder": {
-      "version": "3.17.5",
+    "node_modules/@rolldown/binding-linux-x64-gnu": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.58.tgz",
+      "integrity": "sha512-urzJX0HrXxIh0FfxwWRjfPCMeInU9qsImLQxHBgLp5ivji1EEUnOfux8KxPPnRQthJyneBrN2LeqUix9DYrNaQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@nuxt/kit": "3.17.5",
-        "@rollup/plugin-replace": "^6.0.2",
-        "@vitejs/plugin-vue": "^5.2.4",
-        "@vitejs/plugin-vue-jsx": "^4.2.0",
-        "autoprefixer": "^10.4.21",
-        "consola": "^3.4.2",
-        "cssnano": "^7.0.7",
-        "defu": "^6.1.4",
-        "esbuild": "^0.25.5",
-        "escape-string-regexp": "^5.0.0",
-        "exsolve": "^1.0.5",
-        "externality": "^1.0.2",
-        "get-port-please": "^3.1.2",
-        "h3": "^1.15.3",
-        "jiti": "^2.4.2",
-        "knitwork": "^1.2.0",
-        "magic-string": "^0.30.17",
-        "mlly": "^1.7.4",
-        "mocked-exports": "^0.1.1",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "postcss": "^8.5.4",
-        "rollup-plugin-visualizer": "^6.0.1",
-        "std-env": "^3.9.0",
-        "ufo": "^1.6.1",
-        "unenv": "^2.0.0-rc.17",
-        "unplugin": "^2.3.5",
-        "vite": "^6.3.5",
-        "vite-node": "^3.2.0",
-        "vite-plugin-checker": "^0.9.3",
-        "vue-bundle-renderer": "^2.1.1"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0.0"
-      },
-      "peerDependencies": {
-        "vue": "^3.3.4"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/@rolldown/binding-linux-x64-musl": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.58.tgz",
+      "integrity": "sha512-7ijfVK3GISnXIwq/1FZo+KyAUJjL3kWPJ7rViAL6MWeEBhEgRzJ0yEd9I8N9aut8Y8ab+EKFJyRNMWZuUBwQ0A==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/autoprefixer": {
-      "version": "10.4.21",
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/autoprefixer"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
+    "node_modules/@rolldown/binding-openharmony-arm64": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.58.tgz",
+      "integrity": "sha512-/m7sKZCS+cUULbzyJTIlv8JbjNohxbpAOA6cM+lgWgqVzPee3U6jpwydrib328JFN/gF9A99IZEnuGYqEDJdww==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-wasm32-wasi": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.58.tgz",
+      "integrity": "sha512-6SZk7zMgv+y3wFFQ9qE5P9NnRHcRsptL1ypmudD26PDY+PvFCvfHRkJNfclWnvacVGxjowr7JOL3a9fd1wWhUw==",
+      "cpu": [
+        "wasm32"
       ],
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "browserslist": "^4.24.4",
-        "caniuse-lite": "^1.0.30001702",
-        "fraction.js": "^4.3.7",
-        "normalize-range": "^0.1.2",
-        "picocolors": "^1.1.1",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "bin": {
-        "autoprefixer": "bin/autoprefixer"
+        "@napi-rs/wasm-runtime": "^1.1.1"
       },
       "engines": {
-        "node": "^10 || ^12 || >=14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/escape-string-regexp": {
-      "version": "5.0.0",
+    "node_modules/@rolldown/binding-win32-arm64-msvc": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.58.tgz",
+      "integrity": "sha512-sFqfYPnBZ6xBhMkadB7UD0yjEDRvs7ipR3nCggblN+N4ODCXY6qhg/bKL39+W+dgQybL7ErD4EGERVbW9DAWvg==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      }
+    },
+    "node_modules/@rolldown/binding-win32-x64-msvc": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.58.tgz",
+      "integrity": "sha512-AnFWJdAqB8+IDPcGrATYs67Kik/6tnndNJV2jGRmwlbeNiQQ8GhRJU8ETRlINfII0pqi9k4WWLnb00p1QCxw/Q==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/@rolldown/pluginutils": {
+      "version": "1.0.0-beta.53",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.53.tgz",
+      "integrity": "sha512-vENRlFU4YbrwVqNDZ7fLvy+JR1CRkyr01jhSiDpE1u6py3OMzQfztQU2jxykW3ALNxO4kSlqIDeYyD0Y9RcQeQ==",
       "license": "MIT"
     },
-    "node_modules/@nuxt/vite-builder/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/@rollup/plugin-alias": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-6.0.0.tgz",
+      "integrity": "sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==",
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
       "engines": {
-        "node": ">=12"
+        "node": ">=20.19.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+      "peerDependencies": {
+        "rollup": ">=4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/vite-plugin-checker": {
-      "version": "0.9.3",
+    "node_modules/@rollup/plugin-commonjs": {
+      "version": "29.0.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-29.0.0.tgz",
+      "integrity": "sha512-U2YHaxR2cU/yAiwKJtJRhnyLk7cifnQw0zUpISsocBDoHDJn+HTV74ABqnwr5bEgWUwFZC9oFL6wLe21lHu5eQ==",
       "license": "MIT",
       "dependencies": {
-        "@babel/code-frame": "^7.27.1",
-        "chokidar": "^4.0.3",
-        "npm-run-path": "^6.0.0",
-        "picocolors": "^1.1.1",
-        "picomatch": "^4.0.2",
-        "strip-ansi": "^7.1.0",
-        "tiny-invariant": "^1.3.3",
-        "tinyglobby": "^0.2.13",
-        "vscode-uri": "^3.1.0"
+        "@rollup/pluginutils": "^5.0.1",
+        "commondir": "^1.0.1",
+        "estree-walker": "^2.0.2",
+        "fdir": "^6.2.0",
+        "is-reference": "1.2.1",
+        "magic-string": "^0.30.3",
+        "picomatch": "^4.0.2"
       },
       "engines": {
-        "node": ">=14.16"
+        "node": ">=16.0.0 || 14 >= 14.17"
       },
       "peerDependencies": {
-        "@biomejs/biome": ">=1.7",
-        "eslint": ">=7",
-        "meow": "^13.2.0",
-        "optionator": "^0.9.4",
-        "stylelint": ">=16",
-        "typescript": "*",
-        "vite": ">=2.0.0",
-        "vls": "*",
-        "vti": "*",
-        "vue-tsc": "~2.2.10"
+        "rollup": "^2.68.0||^3.0.0||^4.0.0"
       },
       "peerDependenciesMeta": {
-        "@biomejs/biome": {
-          "optional": true
-        },
-        "eslint": {
-          "optional": true
-        },
-        "meow": {
-          "optional": true
-        },
-        "optionator": {
-          "optional": true
-        },
-        "stylelint": {
-          "optional": true
-        },
-        "typescript": {
-          "optional": true
-        },
-        "vls": {
-          "optional": true
-        },
-        "vti": {
-          "optional": true
-        },
-        "vue-tsc": {
+        "rollup": {
           "optional": true
         }
       }
     },
-    "node_modules/@nuxt/vite-builder/node_modules/vscode-uri": {
-      "version": "3.1.0",
-      "license": "MIT"
-    },
-    "node_modules/@octokit/action": {
-      "version": "6.1.0",
-      "dev": true,
+    "node_modules/@rollup/plugin-commonjs/node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
       "license": "MIT",
-      "dependencies": {
-        "@octokit/auth-action": "^4.0.0",
-        "@octokit/core": "^5.0.0",
-        "@octokit/plugin-paginate-rest": "^9.0.0",
-        "@octokit/plugin-rest-endpoint-methods": "^10.0.0",
-        "@octokit/types": "^12.0.0",
-        "undici": "^6.0.0"
+      "engines": {
+        "node": ">=12.0.0"
       },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@rollup/plugin-commonjs/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": ">= 18"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/@octokit/auth-action": {
-      "version": "4.1.0",
-      "dev": true,
+    "node_modules/@rollup/plugin-inject": {
+      "version": "5.0.5",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-inject/-/plugin-inject-5.0.5.tgz",
+      "integrity": "sha512-2+DEJbNBoPROPkgTDNe8/1YXWcqxbN5DTjASVIOx8HS+pITXushyNiBV56RB08zuptzz8gT3YfkqriTBVycepg==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/auth-token": "^4.0.0",
-        "@octokit/types": "^13.0.0"
+        "@rollup/pluginutils": "^5.0.1",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.3"
       },
       "engines": {
-        "node": ">= 18"
-      }
-    },
-    "node_modules/@octokit/auth-action/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/auth-action/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
-      }
-    },
-    "node_modules/@octokit/auth-token": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 18"
-      }
-    },
-    "node_modules/@octokit/core": {
-      "version": "5.2.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@octokit/auth-token": "^4.0.0",
-        "@octokit/graphql": "^7.1.0",
-        "@octokit/request": "^8.4.1",
-        "@octokit/request-error": "^5.1.1",
-        "@octokit/types": "^13.0.0",
-        "before-after-hook": "^2.2.0",
-        "universal-user-agent": "^6.0.0"
+        "node": ">=14.0.0"
       },
-      "engines": {
-        "node": ">= 18"
-      }
-    },
-    "node_modules/@octokit/core/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/core/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/endpoint": {
-      "version": "9.0.6",
-      "dev": true,
+    "node_modules/@rollup/plugin-json": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz",
+      "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/types": "^13.1.0",
-        "universal-user-agent": "^6.0.0"
+        "@rollup/pluginutils": "^5.1.0"
       },
       "engines": {
-        "node": ">= 18"
-      }
-    },
-    "node_modules/@octokit/endpoint/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/endpoint/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/graphql": {
-      "version": "7.1.1",
-      "dev": true,
+    "node_modules/@rollup/plugin-node-resolve": {
+      "version": "16.0.3",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.3.tgz",
+      "integrity": "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/request": "^8.4.1",
-        "@octokit/types": "^13.0.0",
-        "universal-user-agent": "^6.0.0"
+        "@rollup/pluginutils": "^5.0.1",
+        "@types/resolve": "1.20.2",
+        "deepmerge": "^4.2.2",
+        "is-module": "^1.0.0",
+        "resolve": "^1.22.1"
       },
       "engines": {
-        "node": ">= 18"
-      }
-    },
-    "node_modules/@octokit/graphql/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/graphql/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^2.78.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/openapi-types": {
-      "version": "20.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/plugin-paginate-rest": {
-      "version": "9.2.2",
-      "dev": true,
+    "node_modules/@rollup/plugin-replace": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-6.0.3.tgz",
+      "integrity": "sha512-J4RZarRvQAm5IF0/LwUUg+obsm+xZhYnbMXmXROyoSE1ATJe3oXSb9L5MMppdxP2ylNSjv6zFBwKYjcKMucVfA==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/types": "^12.6.0"
+        "@rollup/pluginutils": "^5.0.1",
+        "magic-string": "^0.30.3"
       },
       "engines": {
-        "node": ">= 18"
+        "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "@octokit/core": "5"
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/plugin-rest-endpoint-methods": {
-      "version": "10.4.1",
-      "dev": true,
+    "node_modules/@rollup/plugin-terser": {
+      "version": "0.4.4",
+      "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+      "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/types": "^12.6.0"
+        "serialize-javascript": "^6.0.1",
+        "smob": "^1.0.0",
+        "terser": "^5.17.4"
       },
       "engines": {
-        "node": ">= 18"
+        "node": ">=14.0.0"
       },
       "peerDependencies": {
-        "@octokit/core": "5"
+        "rollup": "^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/request": {
-      "version": "8.4.1",
-      "dev": true,
+    "node_modules/@rollup/pluginutils": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+      "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
       "license": "MIT",
       "dependencies": {
-        "@octokit/endpoint": "^9.0.6",
-        "@octokit/request-error": "^5.1.1",
-        "@octokit/types": "^13.1.0",
-        "universal-user-agent": "^6.0.0"
+        "@types/estree": "^1.0.0",
+        "estree-walker": "^2.0.2",
+        "picomatch": "^4.0.2"
       },
       "engines": {
-        "node": ">= 18"
+        "node": ">=14.0.0"
+      },
+      "peerDependencies": {
+        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+      },
+      "peerDependenciesMeta": {
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/@octokit/request-error": {
-      "version": "5.1.1",
-      "dev": true,
+    "node_modules/@rollup/pluginutils/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "dependencies": {
-        "@octokit/types": "^13.1.0",
-        "deprecation": "^2.0.0",
-        "once": "^1.4.0"
-      },
       "engines": {
-        "node": ">= 18"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/@octokit/request-error/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@octokit/request-error/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
+    "node_modules/@rollup/rollup-android-arm-eabi": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz",
+      "integrity": "sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==",
+      "cpu": [
+        "arm"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
-      }
-    },
-    "node_modules/@octokit/request/node_modules/@octokit/openapi-types": {
-      "version": "24.2.0",
-      "dev": true,
-      "license": "MIT"
+      "optional": true,
+      "os": [
+        "android"
+      ]
     },
-    "node_modules/@octokit/request/node_modules/@octokit/types": {
-      "version": "13.10.0",
-      "dev": true,
+    "node_modules/@rollup/rollup-android-arm64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz",
+      "integrity": "sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^24.2.0"
-      }
+      "optional": true,
+      "os": [
+        "android"
+      ]
     },
-    "node_modules/@octokit/types": {
-      "version": "12.6.0",
-      "dev": true,
+    "node_modules/@rollup/rollup-darwin-arm64": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.9.tgz",
+      "integrity": "sha512-0CY3/K54slrzLDjOA7TOjN1NuLKERBgk9nY5V34mhmuu673YNb+7ghaDUs6N0ujXR7fz5XaS5Aa6d2TNxZd0OQ==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@octokit/openapi-types": "^20.0.0"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/@oxc-parser/binding-linux-x64-gnu": {
-      "version": "0.72.3",
+    "node_modules/@rollup/rollup-darwin-x64": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.9.tgz",
+      "integrity": "sha512-eOojSEAi/acnsJVYRxnMkPFqcxSMFfrw7r2iD9Q32SGkb/Q9FpUY1UlAu1DH9T7j++gZ0lHjnm4OyH2vCI7l7Q==",
       "cpu": [
         "x64"
       ],
       "license": "MIT",
       "optional": true,
       "os": [
-        "linux"
-      ],
-      "engines": {
-        "node": ">=14.0.0"
-      }
+        "darwin"
+      ]
     },
-    "node_modules/@oxc-project/types": {
-      "version": "0.72.3",
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/Boshen"
-      }
+    "node_modules/@rollup/rollup-freebsd-arm64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz",
+      "integrity": "sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ]
     },
-    "node_modules/@parcel/watcher": {
-      "version": "2.5.1",
-      "hasInstallScript": true,
+    "node_modules/@rollup/rollup-freebsd-x64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz",
+      "integrity": "sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "detect-libc": "^1.0.3",
-        "is-glob": "^4.0.3",
-        "micromatch": "^4.0.5",
-        "node-addon-api": "^7.0.0"
-      },
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher-android-arm64": "2.5.1",
-        "@parcel/watcher-darwin-arm64": "2.5.1",
-        "@parcel/watcher-darwin-x64": "2.5.1",
-        "@parcel/watcher-freebsd-x64": "2.5.1",
-        "@parcel/watcher-linux-arm-glibc": "2.5.1",
-        "@parcel/watcher-linux-arm-musl": "2.5.1",
-        "@parcel/watcher-linux-arm64-glibc": "2.5.1",
-        "@parcel/watcher-linux-arm64-musl": "2.5.1",
-        "@parcel/watcher-linux-x64-glibc": "2.5.1",
-        "@parcel/watcher-linux-x64-musl": "2.5.1",
-        "@parcel/watcher-win32-arm64": "2.5.1",
-        "@parcel/watcher-win32-ia32": "2.5.1",
-        "@parcel/watcher-win32-x64": "2.5.1"
-      }
+      "optional": true,
+      "os": [
+        "freebsd"
+      ]
     },
-    "node_modules/@parcel/watcher-linux-x64-glibc": {
-      "version": "2.5.1",
+    "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz",
+      "integrity": "sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz",
+      "integrity": "sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==",
+      "cpu": [
+        "arm"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.9.tgz",
+      "integrity": "sha512-6TZjPHjKZUQKmVKMUowF3ewHxctrRR09eYyvT5eFv8w/fXarEra83A2mHTVJLA5xU91aCNOUnM+DWFMSbQ0Nxw==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-arm64-musl": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.9.tgz",
+      "integrity": "sha512-LD2fytxZJZ6xzOKnMbIpgzFOuIKlxVOpiMAXawsAZ2mHBPEYOnLRK5TTEsID6z4eM23DuO88X0Tq1mErHMVq0A==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-loong64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz",
+      "integrity": "sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==",
+      "cpu": [
+        "loong64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-loong64-musl": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz",
+      "integrity": "sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==",
+      "cpu": [
+        "loong64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz",
+      "integrity": "sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==",
+      "cpu": [
+        "ppc64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-ppc64-musl": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz",
+      "integrity": "sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==",
+      "cpu": [
+        "ppc64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz",
+      "integrity": "sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==",
+      "cpu": [
+        "riscv64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-riscv64-musl": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz",
+      "integrity": "sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==",
+      "cpu": [
+        "riscv64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-s390x-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz",
+      "integrity": "sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==",
+      "cpu": [
+        "s390x"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz",
+      "integrity": "sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==",
       "cpu": [
         "x64"
       ],
@@ -7908,7954 +8666,695 @@
       "optional": true,
       "os": [
         "linux"
+      ]
+    },
+    "node_modules/@rollup/rollup-linux-x64-musl": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.9.tgz",
+      "integrity": "sha512-cYRpV4650z2I3/s6+5/LONkjIz8MBeqrk+vPXV10ORBnshpn8S32bPqQ2Utv39jCiDcO2eJTuSlPXpnvmaIgRA==",
+      "cpu": [
+        "x64"
       ],
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/@parcel/watcher-wasm": {
-      "version": "2.5.1",
-      "bundleDependencies": [
-        "napi-wasm"
+    "node_modules/@rollup/rollup-openbsd-x64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz",
+      "integrity": "sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==",
+      "cpu": [
+        "x64"
       ],
       "license": "MIT",
-      "dependencies": {
-        "is-glob": "^4.0.3",
-        "micromatch": "^4.0.5",
-        "napi-wasm": "^1.1.0"
-      },
-      "engines": {
-        "node": ">= 10.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/parcel"
-      }
+      "optional": true,
+      "os": [
+        "openbsd"
+      ]
     },
-    "node_modules/@parcel/watcher-wasm/node_modules/napi-wasm": {
-      "version": "1.1.0",
-      "inBundle": true,
-      "license": "MIT"
+    "node_modules/@rollup/rollup-openharmony-arm64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz",
+      "integrity": "sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "openharmony"
+      ]
     },
-    "node_modules/@parcel/watcher/node_modules/detect-libc": {
-      "version": "1.0.3",
-      "license": "Apache-2.0",
-      "bin": {
-        "detect-libc": "bin/detect-libc.js"
-      },
-      "engines": {
-        "node": ">=0.10"
-      }
+    "node_modules/@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.9.tgz",
+      "integrity": "sha512-z4mQK9dAN6byRA/vsSgQiPeuO63wdiDxZ9yg9iyX2QTzKuQM7T4xlBoeUP/J8uiFkqxkcWndWi+W7bXdPbt27Q==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@parcel/watcher/node_modules/node-addon-api": {
-      "version": "7.1.1",
-      "license": "MIT"
+    "node_modules/@rollup/rollup-win32-ia32-msvc": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz",
+      "integrity": "sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==",
+      "cpu": [
+        "ia32"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@pkgjs/parseargs": {
-      "version": "0.11.0",
+    "node_modules/@rollup/rollup-win32-x64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz",
+      "integrity": "sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
       "optional": true,
-      "engines": {
-        "node": ">=14"
-      }
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@pkgr/core": {
-      "version": "0.2.7",
-      "dev": true,
+    "node_modules/@rollup/rollup-win32-x64-msvc": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.9.tgz",
+      "integrity": "sha512-AyleYRPU7+rgkMWbEh71fQlrzRfeP6SyMnRf9XX4fCdDPAJumdSBqYEcWPMzVQ4ScAl7E4oFfK0GUVn77xSwbw==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/pkgr"
-      }
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/@playwright/test": {
-      "version": "1.56.1",
+    "node_modules/@rollup/wasm-node": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.56.0.tgz",
+      "integrity": "sha512-ecaoyItGmpj4hnabpa2D+oI6ME7t7hrqosQ2SA+qBGihoL0DuuoaXIfY8Oa1o7lWGtPpRZmt9EYe7oyivypsJg==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "dependencies": {
-        "playwright": "1.56.1"
+        "@types/estree": "1.0.8"
       },
       "bin": {
-        "playwright": "cli.js"
+        "rollup": "dist/bin/rollup"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=18.0.0",
+        "npm": ">=8.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.2"
       }
     },
-    "node_modules/@polka/url": {
-      "version": "1.0.0-next.29",
+    "node_modules/@rushstack/eslint-patch": {
+      "version": "1.15.0",
+      "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.15.0.tgz",
+      "integrity": "sha512-ojSshQPKwVvSMR8yT2L/QtUkV5SXi/IfDiJ4/8d6UbTPjiHVmxZzUAzGD8Tzks1b9+qQkZa0isUOvYObedITaw==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/@popperjs/core": {
-      "version": "2.11.8",
+    "node_modules/@schematics/angular": {
+      "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.1.tgz",
+      "integrity": "sha512-WijqITteakpFOplx7IGHIdBOdTU04Ul4qweilY1CRK3KdzQRuAf31KiKUFrJiGW076cyokmAQmBoZcngh9rCNw==",
       "dev": true,
       "license": "MIT",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/popperjs"
-      }
-    },
-    "node_modules/@poppinss/colors": {
-      "version": "4.1.4",
-      "license": "MIT",
       "dependencies": {
-        "kleur": "^4.1.5"
+        "@angular-devkit/core": "21.1.1",
+        "@angular-devkit/schematics": "21.1.1",
+        "jsonc-parser": "3.3.1"
       },
       "engines": {
-        "node": ">=18.16.0"
-      }
-    },
-    "node_modules/@poppinss/colors/node_modules/kleur": {
-      "version": "4.1.5",
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
       }
     },
-    "node_modules/@poppinss/dumper": {
-      "version": "0.6.3",
-      "license": "MIT",
-      "dependencies": {
-        "@poppinss/colors": "^4.1.4",
-        "@sindresorhus/is": "^7.0.1",
-        "supports-color": "^10.0.0"
-      }
-    },
-    "node_modules/@poppinss/dumper/node_modules/supports-color": {
-      "version": "10.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
-      }
-    },
-    "node_modules/@poppinss/exception": {
-      "version": "1.2.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/@promptbook/utils": {
-      "version": "0.69.5",
-      "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://buymeacoffee.com/hejny"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/webgptorg/promptbook/blob/main/README.md#%EF%B8%8F-contributing"
-        }
-      ],
-      "license": "CC-BY-4.0",
-      "dependencies": {
-        "spacetrim": "0.11.59"
-      }
-    },
-    "node_modules/@puppeteer/browsers": {
-      "version": "2.10.5",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "debug": "^4.4.1",
-        "extract-zip": "^2.0.1",
-        "progress": "^2.0.3",
-        "proxy-agent": "^6.5.0",
-        "semver": "^7.7.2",
-        "tar-fs": "^3.0.8",
-        "yargs": "^17.7.2"
-      },
-      "bin": {
-        "browsers": "lib/cjs/main-cli.js"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/@rolldown/pluginutils": {
-      "version": "1.0.0-beta.11",
-      "license": "MIT"
-    },
-    "node_modules/@rollup/plugin-alias": {
-      "version": "5.1.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-commonjs": {
-      "version": "28.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "commondir": "^1.0.1",
-        "estree-walker": "^2.0.2",
-        "fdir": "^6.2.0",
-        "is-reference": "1.2.1",
-        "magic-string": "^0.30.3",
-        "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=16.0.0 || 14 >= 14.17"
-      },
-      "peerDependencies": {
-        "rollup": "^2.68.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-inject": {
-      "version": "5.0.5",
-      "license": "MIT",
-      "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.3"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-json": {
-      "version": "6.1.0",
-      "license": "MIT",
-      "dependencies": {
-        "@rollup/pluginutils": "^5.1.0"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-node-resolve": {
-      "version": "16.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "@types/resolve": "1.20.2",
-        "deepmerge": "^4.2.2",
-        "is-module": "^1.0.0",
-        "resolve": "^1.22.1"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^2.78.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-replace": {
-      "version": "6.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "@rollup/pluginutils": "^5.0.1",
-        "magic-string": "^0.30.3"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/plugin-terser": {
-      "version": "0.4.4",
-      "license": "MIT",
-      "dependencies": {
-        "serialize-javascript": "^6.0.1",
-        "smob": "^1.0.0",
-        "terser": "^5.17.4"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/pluginutils": {
-      "version": "5.1.4",
-      "license": "MIT",
-      "dependencies": {
-        "@types/estree": "^1.0.0",
-        "estree-walker": "^2.0.2",
-        "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "peerDependencies": {
-        "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
-      },
-      "peerDependenciesMeta": {
-        "rollup": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.34.9",
-      "cpu": [
-        "x64"
-      ],
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
-    },
-    "node_modules/@rollup/wasm-node": {
-      "version": "4.43.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/estree": "1.0.7"
-      },
-      "bin": {
-        "rollup": "dist/bin/rollup"
-      },
-      "engines": {
-        "node": ">=18.0.0",
-        "npm": ">=8.0.0"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
-      }
-    },
-    "node_modules/@rushstack/eslint-patch": {
-      "version": "1.11.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@schematics/angular": {
-      "version": "20.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@angular-devkit/core": "20.0.2",
-        "@angular-devkit/schematics": "20.0.2",
-        "jsonc-parser": "3.3.1"
-      },
-      "engines": {
-        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
-        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
-        "yarn": ">= 1.13.0"
-      }
-    },
-    "node_modules/@sec-ant/readable-stream": {
-      "version": "0.4.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@shikijs/core": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/engine-javascript": "2.5.0",
-        "@shikijs/engine-oniguruma": "2.5.0",
-        "@shikijs/types": "2.5.0",
-        "@shikijs/vscode-textmate": "^10.0.2",
-        "@types/hast": "^3.0.4",
-        "hast-util-to-html": "^9.0.4"
-      }
-    },
-    "node_modules/@shikijs/engine-javascript": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/types": "2.5.0",
-        "@shikijs/vscode-textmate": "^10.0.2",
-        "oniguruma-to-es": "^3.1.0"
-      }
-    },
-    "node_modules/@shikijs/engine-oniguruma": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/types": "2.5.0",
-        "@shikijs/vscode-textmate": "^10.0.2"
-      }
-    },
-    "node_modules/@shikijs/langs": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/types": "2.5.0"
-      }
-    },
-    "node_modules/@shikijs/themes": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/types": "2.5.0"
-      }
-    },
-    "node_modules/@shikijs/transformers": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/core": "2.5.0",
-        "@shikijs/types": "2.5.0"
-      }
-    },
-    "node_modules/@shikijs/types": {
-      "version": "2.5.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@shikijs/vscode-textmate": "^10.0.2",
-        "@types/hast": "^3.0.4"
-      }
-    },
-    "node_modules/@shikijs/vscode-textmate": {
-      "version": "10.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@sigstore/bundle": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@sigstore/protobuf-specs": "^0.4.0"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sigstore/core": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sigstore/protobuf-specs": {
-      "version": "0.4.3",
-      "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sigstore/sign": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@sigstore/bundle": "^3.1.0",
-        "@sigstore/core": "^2.0.0",
-        "@sigstore/protobuf-specs": "^0.4.0",
-        "make-fetch-happen": "^14.0.2",
-        "proc-log": "^5.0.0",
-        "promise-retry": "^2.0.1"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sigstore/tuf": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@sigstore/protobuf-specs": "^0.4.1",
-        "tuf-js": "^3.0.1"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sigstore/verify": {
-      "version": "2.1.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@sigstore/bundle": "^3.1.0",
-        "@sigstore/core": "^2.0.0",
-        "@sigstore/protobuf-specs": "^0.4.1"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@sinclair/typebox": {
-      "version": "0.27.8",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@sindresorhus/is": {
-      "version": "7.0.2",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/is?sponsor=1"
-      }
-    },
-    "node_modules/@sindresorhus/merge-streams": {
-      "version": "2.3.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@sinonjs/commons": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "type-detect": "4.0.8"
-      }
-    },
-    "node_modules/@sinonjs/fake-timers": {
-      "version": "10.3.0",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "@sinonjs/commons": "^3.0.0"
-      }
-    },
-    "node_modules/@six-group/demo-app-angular": {
-      "resolved": "examples/angular",
-      "link": true
-    },
-    "node_modules/@six-group/demo-app-react": {
-      "resolved": "examples/react",
-      "link": true
-    },
-    "node_modules/@six-group/demo-app-vue": {
-      "resolved": "examples/vue",
-      "link": true
-    },
-    "node_modules/@six-group/ui-library": {
-      "resolved": "libraries/ui-library",
-      "link": true
-    },
-    "node_modules/@six-group/ui-library-angular": {
-      "resolved": "libraries/ui-library-angular",
-      "link": true
-    },
-    "node_modules/@six-group/ui-library-js-app": {
-      "resolved": "examples/js",
-      "link": true
-    },
-    "node_modules/@six-group/ui-library-react": {
-      "resolved": "libraries/ui-library-react",
-      "link": true
-    },
-    "node_modules/@six-group/ui-library-vue": {
-      "resolved": "libraries/ui-library-vue",
-      "link": true
-    },
-    "node_modules/@speed-highlight/core": {
-      "version": "1.2.7",
-      "license": "CC0-1.0"
-    },
-    "node_modules/@stencil/angular-output-target": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0"
-      }
-    },
-    "node_modules/@stencil/core": {
-      "version": "4.32.0",
-      "license": "MIT",
-      "bin": {
-        "stencil": "bin/stencil"
-      },
-      "engines": {
-        "node": ">=16.0.0",
-        "npm": ">=7.10.0"
-      },
-      "optionalDependencies": {
-        "@rollup/rollup-darwin-arm64": "4.34.9",
-        "@rollup/rollup-darwin-x64": "4.34.9",
-        "@rollup/rollup-linux-arm64-gnu": "4.34.9",
-        "@rollup/rollup-linux-arm64-musl": "4.34.9",
-        "@rollup/rollup-linux-x64-gnu": "4.34.9",
-        "@rollup/rollup-linux-x64-musl": "4.34.9",
-        "@rollup/rollup-win32-arm64-msvc": "4.34.9",
-        "@rollup/rollup-win32-x64-msvc": "4.34.9"
-      }
-    },
-    "node_modules/@stencil/playwright": {
-      "version": "0.2.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "deepmerge": "^4.3.1",
-        "find-up": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=12.0.0",
-        "npm": ">=6.0.0"
-      },
-      "peerDependencies": {
-        "@playwright/test": ">=1.41.2",
-        "@stencil/core": ">=4.13.0"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/find-up": {
-      "version": "7.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "locate-path": "^7.2.0",
-        "path-exists": "^5.0.0",
-        "unicorn-magic": "^0.1.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/locate-path": {
-      "version": "7.2.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-locate": "^6.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/p-limit": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "yocto-queue": "^1.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/p-locate": {
-      "version": "6.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-limit": "^4.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/path-exists": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/unicorn-magic": {
-      "version": "0.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/playwright/node_modules/yocto-queue": {
-      "version": "1.2.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12.20"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@stencil/react-output-target": {
-      "version": "1.0.4",
-      "license": "MIT",
-      "dependencies": {
-        "@lit/react": "^1.0.4",
-        "html-react-parser": "^5.2.2",
-        "style-object-to-css-string": "^1.1.3",
-        "ts-morph": "^22.0.0"
-      },
-      "peerDependencies": {
-        "@stencil/core": ">=3 || >= 4.0.0-beta.0 || >= 4.0.0",
-        "react": "^18 || ^19",
-        "react-dom": "^18 || ^19"
-      },
-      "peerDependenciesMeta": {
-        "@stencil/core": {
-          "optional": false
-        },
-        "react": {
-          "optional": false
-        },
-        "react-dom": {
-          "optional": false
-        }
-      }
-    },
-    "node_modules/@stencil/sass": {
-      "version": "3.0.12",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12.0.0",
-        "npm": ">=6.0.0"
-      },
-      "peerDependencies": {
-        "@stencil/core": ">=2.0.0 || >=3.0.0-beta.0 || >= 4.0.0-beta.0 || >= 4.0.0"
-      }
-    },
-    "node_modules/@stencil/vue-output-target": {
-      "version": "0.10.8",
-      "license": "MIT",
-      "peerDependencies": {
-        "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0",
-        "vue": "^3.4.38",
-        "vue-router": "^4.5.0"
-      },
-      "peerDependenciesMeta": {
-        "@stencil/core": {
-          "optional": true
-        },
-        "vue": {
-          "optional": false
-        },
-        "vue-router": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@szmarczak/http-timer": {
-      "version": "5.0.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "defer-to-connect": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=14.16"
-      }
-    },
-    "node_modules/@tootallnate/quickjs-emscripten": {
-      "version": "0.23.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@trysound/sax": {
-      "version": "0.2.0",
-      "license": "ISC",
-      "engines": {
-        "node": ">=10.13.0"
-      }
-    },
-    "node_modules/@ts-morph/common": {
-      "version": "0.23.0",
-      "license": "MIT",
-      "dependencies": {
-        "fast-glob": "^3.3.2",
-        "minimatch": "^9.0.3",
-        "mkdirp": "^3.0.1",
-        "path-browserify": "^1.0.1"
-      }
-    },
-    "node_modules/@ts-morph/common/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@ts-morph/common/node_modules/minimatch": {
-      "version": "9.0.5",
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@tsconfig/node22": {
-      "version": "22.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@tufjs/canonical-json": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^16.14.0 || >=18.0.0"
-      }
-    },
-    "node_modules/@tufjs/models": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@tufjs/canonical-json": "2.0.0",
-        "minimatch": "^9.0.5"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/@tufjs/models/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@tufjs/models/node_modules/minimatch": {
-      "version": "9.0.5",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@types/babel__core": {
-      "version": "7.20.5",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.20.7",
-        "@babel/types": "^7.20.7",
-        "@types/babel__generator": "*",
-        "@types/babel__template": "*",
-        "@types/babel__traverse": "*"
-      }
-    },
-    "node_modules/@types/babel__generator": {
-      "version": "7.27.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__template": {
-      "version": "7.4.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.1.0",
-        "@babel/types": "^7.0.0"
-      }
-    },
-    "node_modules/@types/babel__traverse": {
-      "version": "7.20.7",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.20.7"
-      }
-    },
-    "node_modules/@types/body-parser": {
-      "version": "1.19.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/connect": "*",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/bonjour": {
-      "version": "3.5.13",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/connect": {
-      "version": "3.4.38",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/connect-history-api-fallback": {
-      "version": "1.5.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/express-serve-static-core": "*",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/d3": {
-      "version": "7.4.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-array": "*",
-        "@types/d3-axis": "*",
-        "@types/d3-brush": "*",
-        "@types/d3-chord": "*",
-        "@types/d3-color": "*",
-        "@types/d3-contour": "*",
-        "@types/d3-delaunay": "*",
-        "@types/d3-dispatch": "*",
-        "@types/d3-drag": "*",
-        "@types/d3-dsv": "*",
-        "@types/d3-ease": "*",
-        "@types/d3-fetch": "*",
-        "@types/d3-force": "*",
-        "@types/d3-format": "*",
-        "@types/d3-geo": "*",
-        "@types/d3-hierarchy": "*",
-        "@types/d3-interpolate": "*",
-        "@types/d3-path": "*",
-        "@types/d3-polygon": "*",
-        "@types/d3-quadtree": "*",
-        "@types/d3-random": "*",
-        "@types/d3-scale": "*",
-        "@types/d3-scale-chromatic": "*",
-        "@types/d3-selection": "*",
-        "@types/d3-shape": "*",
-        "@types/d3-time": "*",
-        "@types/d3-time-format": "*",
-        "@types/d3-timer": "*",
-        "@types/d3-transition": "*",
-        "@types/d3-zoom": "*"
-      }
-    },
-    "node_modules/@types/d3-array": {
-      "version": "3.2.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-axis": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-selection": "*"
-      }
-    },
-    "node_modules/@types/d3-brush": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-selection": "*"
-      }
-    },
-    "node_modules/@types/d3-chord": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-color": {
-      "version": "3.1.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-contour": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-array": "*",
-        "@types/geojson": "*"
-      }
-    },
-    "node_modules/@types/d3-delaunay": {
-      "version": "6.0.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-dispatch": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-drag": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-selection": "*"
-      }
-    },
-    "node_modules/@types/d3-dsv": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-ease": {
-      "version": "3.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-fetch": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-dsv": "*"
-      }
-    },
-    "node_modules/@types/d3-force": {
-      "version": "3.0.10",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-format": {
-      "version": "3.0.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-geo": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/geojson": "*"
-      }
-    },
-    "node_modules/@types/d3-hierarchy": {
-      "version": "3.1.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-interpolate": {
-      "version": "3.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-color": "*"
-      }
-    },
-    "node_modules/@types/d3-path": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-polygon": {
-      "version": "3.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-quadtree": {
-      "version": "3.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-random": {
-      "version": "3.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-scale": {
-      "version": "4.0.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-time": "*"
-      }
-    },
-    "node_modules/@types/d3-scale-chromatic": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-selection": {
-      "version": "3.0.11",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-shape": {
-      "version": "3.1.7",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-path": "*"
-      }
-    },
-    "node_modules/@types/d3-time": {
-      "version": "3.0.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-time-format": {
-      "version": "4.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-timer": {
-      "version": "3.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/d3-transition": {
-      "version": "3.0.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-selection": "*"
-      }
-    },
-    "node_modules/@types/d3-zoom": {
-      "version": "3.0.8",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/d3-interpolate": "*",
-        "@types/d3-selection": "*"
-      }
-    },
-    "node_modules/@types/eslint": {
-      "version": "9.6.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/estree": "*",
-        "@types/json-schema": "*"
-      }
-    },
-    "node_modules/@types/eslint-scope": {
-      "version": "3.7.7",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/eslint": "*",
-        "@types/estree": "*"
-      }
-    },
-    "node_modules/@types/estree": {
-      "version": "1.0.7",
-      "license": "MIT"
-    },
-    "node_modules/@types/express": {
-      "version": "4.17.23",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/body-parser": "*",
-        "@types/express-serve-static-core": "^4.17.33",
-        "@types/qs": "*",
-        "@types/serve-static": "*"
-      }
-    },
-    "node_modules/@types/express-serve-static-core": {
-      "version": "4.19.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*",
-        "@types/qs": "*",
-        "@types/range-parser": "*",
-        "@types/send": "*"
-      }
-    },
-    "node_modules/@types/geojson": {
-      "version": "7946.0.16",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/graceful-fs": {
-      "version": "4.1.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/hast": {
-      "version": "3.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/unist": "*"
-      }
-    },
-    "node_modules/@types/http-cache-semantics": {
-      "version": "4.0.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/http-errors": {
-      "version": "2.0.5",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/http-proxy": {
-      "version": "1.17.16",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/istanbul-lib-coverage": {
-      "version": "2.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/istanbul-lib-report": {
-      "version": "3.0.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/istanbul-lib-coverage": "*"
-      }
-    },
-    "node_modules/@types/istanbul-reports": {
-      "version": "3.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/istanbul-lib-report": "*"
-      }
-    },
-    "node_modules/@types/jest": {
-      "version": "29.5.14",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "expect": "^29.0.0",
-        "pretty-format": "^29.0.0"
-      }
-    },
-    "node_modules/@types/json-schema": {
-      "version": "7.0.15",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/linkify-it": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/markdown-it": {
-      "version": "14.1.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/linkify-it": "^5",
-        "@types/mdurl": "^2"
-      }
-    },
-    "node_modules/@types/mdast": {
-      "version": "4.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/unist": "*"
-      }
-    },
-    "node_modules/@types/mdurl": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/mime": {
-      "version": "1.3.5",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/mocha": {
-      "version": "10.0.10",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/node": {
-      "version": "24.0.1",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~7.8.0"
-      }
-    },
-    "node_modules/@types/node-forge": {
-      "version": "1.3.11",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/node/node_modules/undici-types": {
-      "version": "7.8.0",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/normalize-package-data": {
-      "version": "2.4.4",
-      "license": "MIT"
-    },
-    "node_modules/@types/parse-path": {
-      "version": "7.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@types/qs": {
-      "version": "6.14.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/range-parser": {
-      "version": "1.2.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/react": {
-      "version": "19.1.8",
-      "license": "MIT",
-      "dependencies": {
-        "csstype": "^3.0.2"
-      }
-    },
-    "node_modules/@types/react-dom": {
-      "version": "19.1.6",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "@types/react": "^19.0.0"
-      }
-    },
-    "node_modules/@types/resize-observer-browser": {
-      "version": "0.1.11",
-      "license": "MIT"
-    },
-    "node_modules/@types/resolve": {
-      "version": "1.20.2",
-      "license": "MIT"
-    },
-    "node_modules/@types/retry": {
-      "version": "0.12.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/semver": {
-      "version": "7.7.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/send": {
-      "version": "0.17.5",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/mime": "^1",
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/serve-index": {
-      "version": "1.9.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/express": "*"
-      }
-    },
-    "node_modules/@types/serve-static": {
-      "version": "1.15.8",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/http-errors": "*",
-        "@types/node": "*",
-        "@types/send": "*"
-      }
-    },
-    "node_modules/@types/sinonjs__fake-timers": {
-      "version": "8.1.5",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/sockjs": {
-      "version": "0.3.36",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/stack-utils": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/triple-beam": {
-      "version": "1.3.5",
-      "license": "MIT"
-    },
-    "node_modules/@types/trusted-types": {
-      "version": "2.0.7",
-      "dev": true,
-      "license": "MIT",
-      "optional": true
-    },
-    "node_modules/@types/unist": {
-      "version": "3.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/web-bluetooth": {
-      "version": "0.0.21",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/which": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/ws": {
-      "version": "8.18.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@types/yargs": {
-      "version": "17.0.33",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/yargs-parser": "*"
-      }
-    },
-    "node_modules/@types/yargs-parser": {
-      "version": "21.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@types/yauzl": {
-      "version": "2.10.3",
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@types/node": "*"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@eslint-community/regexpp": "^4.5.1",
-        "@typescript-eslint/scope-manager": "6.21.0",
-        "@typescript-eslint/type-utils": "6.21.0",
-        "@typescript-eslint/utils": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0",
-        "debug": "^4.3.4",
-        "graphemer": "^1.4.0",
-        "ignore": "^5.2.4",
-        "natural-compare": "^1.4.0",
-        "semver": "^7.5.4",
-        "ts-api-utils": "^1.0.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha",
-        "eslint": "^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/type-utils": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/typescript-estree": "6.21.0",
-        "@typescript-eslint/utils": "6.21.0",
-        "debug": "^4.3.4",
-        "ts-api-utils": "^1.0.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "minimatch": "9.0.3",
-        "semver": "^7.5.4",
-        "ts-api-utils": "^1.0.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@eslint-community/eslint-utils": "^4.4.0",
-        "@types/json-schema": "^7.0.12",
-        "@types/semver": "^7.5.0",
-        "@typescript-eslint/scope-manager": "6.21.0",
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/typescript-estree": "6.21.0",
-        "semver": "^7.5.4"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "eslint-visitor-keys": "^3.4.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/globby": {
-      "version": "11.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/minimatch": {
-      "version": "9.0.3",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@typescript-eslint/eslint-plugin/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@typescript-eslint/parser": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "@typescript-eslint/scope-manager": "6.21.0",
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/typescript-estree": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0",
-        "debug": "^4.3.4"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^7.0.0 || ^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "@typescript-eslint/visitor-keys": "6.21.0",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "minimatch": "9.0.3",
-        "semver": "^7.5.4",
-        "ts-api-utils": "^1.0.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "6.21.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "6.21.0",
-        "eslint-visitor-keys": "^3.4.1"
-      },
-      "engines": {
-        "node": "^16.0.0 || >=18.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/globby": {
-      "version": "11.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/minimatch": {
-      "version": "9.0.3",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@typescript-eslint/parser/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@typescript-eslint/project-service": {
-      "version": "8.34.0",
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/tsconfig-utils": "^8.34.0",
-        "@typescript-eslint/types": "^8.34.0",
-        "debug": "^4.3.4"
-      },
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "typescript": ">=4.8.4 <5.9.0"
-      }
-    },
-    "node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
-      "version": "8.34.0",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/scope-manager": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "7.18.0",
-        "@typescript-eslint/visitor-keys": "7.18.0"
-      },
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/tsconfig-utils": {
-      "version": "8.34.0",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "typescript": ">=4.8.4 <5.9.0"
-      }
-    },
-    "node_modules/@typescript-eslint/type-utils": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/typescript-estree": "7.18.0",
-        "@typescript-eslint/utils": "7.18.0",
-        "debug": "^4.3.4",
-        "ts-api-utils": "^1.3.0"
-      },
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^8.56.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/types": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "@typescript-eslint/types": "7.18.0",
-        "@typescript-eslint/visitor-keys": "7.18.0",
-        "debug": "^4.3.4",
-        "globby": "^11.1.0",
-        "is-glob": "^4.0.3",
-        "minimatch": "^9.0.4",
-        "semver": "^7.6.0",
-        "ts-api-utils": "^1.3.0"
-      },
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": {
-      "version": "11.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "array-union": "^2.1.0",
-        "dir-glob": "^3.0.1",
-        "fast-glob": "^3.2.9",
-        "ignore": "^5.2.0",
-        "merge2": "^1.4.1",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
-      "version": "9.0.5",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@typescript-eslint/utils": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@eslint-community/eslint-utils": "^4.4.0",
-        "@typescript-eslint/scope-manager": "7.18.0",
-        "@typescript-eslint/types": "7.18.0",
-        "@typescript-eslint/typescript-estree": "7.18.0"
-      },
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      },
-      "peerDependencies": {
-        "eslint": "^8.56.0"
-      }
-    },
-    "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "7.18.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/types": "7.18.0",
-        "eslint-visitor-keys": "^3.4.3"
-      },
-      "engines": {
-        "node": "^18.18.0 || >=20.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
-      }
-    },
-    "node_modules/@ungap/structured-clone": {
-      "version": "1.3.0",
-      "devOptional": true,
-      "license": "ISC"
-    },
-    "node_modules/@unhead/vue": {
-      "version": "2.0.10",
-      "license": "MIT",
-      "dependencies": {
-        "hookable": "^5.5.3",
-        "unhead": "2.0.10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/harlan-zw"
-      },
-      "peerDependencies": {
-        "vue": ">=3.5.13"
-      }
-    },
-    "node_modules/@vercel/nft": {
-      "version": "0.29.4",
-      "license": "MIT",
-      "dependencies": {
-        "@mapbox/node-pre-gyp": "^2.0.0",
-        "@rollup/pluginutils": "^5.1.3",
-        "acorn": "^8.6.0",
-        "acorn-import-attributes": "^1.9.5",
-        "async-sema": "^3.1.1",
-        "bindings": "^1.4.0",
-        "estree-walker": "2.0.2",
-        "glob": "^10.4.5",
-        "graceful-fs": "^4.2.9",
-        "node-gyp-build": "^4.2.2",
-        "picomatch": "^4.0.2",
-        "resolve-from": "^5.0.0"
-      },
-      "bin": {
-        "nft": "out/cli.js"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/@vercel/nft/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@vitejs/plugin-basic-ssl": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^6.0.0"
-      }
-    },
-    "node_modules/@vitejs/plugin-react": {
-      "version": "4.5.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/core": "^7.27.4",
-        "@babel/plugin-transform-react-jsx-self": "^7.27.1",
-        "@babel/plugin-transform-react-jsx-source": "^7.27.1",
-        "@rolldown/pluginutils": "1.0.0-beta.11",
-        "@types/babel__core": "^7.20.5",
-        "react-refresh": "^0.17.0"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0"
-      }
-    },
-    "node_modules/@vitejs/plugin-react/node_modules/@babel/core": {
-      "version": "7.27.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@ampproject/remapping": "^2.2.0",
-        "@babel/code-frame": "^7.27.1",
-        "@babel/generator": "^7.27.3",
-        "@babel/helper-compilation-targets": "^7.27.2",
-        "@babel/helper-module-transforms": "^7.27.3",
-        "@babel/helpers": "^7.27.4",
-        "@babel/parser": "^7.27.4",
-        "@babel/template": "^7.27.2",
-        "@babel/traverse": "^7.27.4",
-        "@babel/types": "^7.27.3",
-        "convert-source-map": "^2.0.0",
-        "debug": "^4.1.0",
-        "gensync": "^1.0.0-beta.2",
-        "json5": "^2.2.3",
-        "semver": "^6.3.1"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/babel"
-      }
-    },
-    "node_modules/@vitejs/plugin-react/node_modules/@babel/generator": {
-      "version": "7.27.5",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.5",
-        "@babel/types": "^7.27.3",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@vitejs/plugin-react/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@vitejs/plugin-react/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/@vitejs/plugin-vue": {
-      "version": "5.2.4",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^5.0.0 || ^6.0.0",
-        "vue": "^3.2.25"
-      }
-    },
-    "node_modules/@vitejs/plugin-vue-jsx": {
-      "version": "4.2.0",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/core": "^7.27.1",
-        "@babel/plugin-transform-typescript": "^7.27.1",
-        "@rolldown/pluginutils": "^1.0.0-beta.9",
-        "@vue/babel-plugin-jsx": "^1.4.0"
-      },
-      "engines": {
-        "node": "^18.0.0 || >=20.0.0"
-      },
-      "peerDependencies": {
-        "vite": "^5.0.0 || ^6.0.0",
-        "vue": "^3.0.0"
-      }
-    },
-    "node_modules/@vitest/pretty-format": {
-      "version": "2.1.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tinyrainbow": "^1.2.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@vitest/snapshot": {
-      "version": "2.1.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vitest/pretty-format": "2.1.9",
-        "magic-string": "^0.30.12",
-        "pathe": "^1.1.2"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@volar/language-core": {
-      "version": "2.4.14",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "@volar/source-map": "2.4.14"
-      }
-    },
-    "node_modules/@volar/source-map": {
-      "version": "2.4.14",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/@volar/typescript": {
-      "version": "2.4.14",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "@volar/language-core": "2.4.14",
-        "path-browserify": "^1.0.1",
-        "vscode-uri": "^3.0.8"
-      }
-    },
-    "node_modules/@vue-macros/common": {
-      "version": "1.16.1",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/compiler-sfc": "^3.5.13",
-        "ast-kit": "^1.4.0",
-        "local-pkg": "^1.0.0",
-        "magic-string-ast": "^0.7.0",
-        "pathe": "^2.0.2",
-        "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=16.14.0"
-      },
-      "peerDependencies": {
-        "vue": "^2.7.0 || ^3.2.25"
-      },
-      "peerDependenciesMeta": {
-        "vue": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue-macros/common/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@vue/babel-helper-vue-transform-on": {
-      "version": "1.4.0",
-      "license": "MIT"
-    },
-    "node_modules/@vue/babel-plugin-jsx": {
-      "version": "1.4.0",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-module-imports": "^7.25.9",
-        "@babel/helper-plugin-utils": "^7.26.5",
-        "@babel/plugin-syntax-jsx": "^7.25.9",
-        "@babel/template": "^7.26.9",
-        "@babel/traverse": "^7.26.9",
-        "@babel/types": "^7.26.9",
-        "@vue/babel-helper-vue-transform-on": "1.4.0",
-        "@vue/babel-plugin-resolve-type": "1.4.0",
-        "@vue/shared": "^3.5.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      },
-      "peerDependenciesMeta": {
-        "@babel/core": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/babel-plugin-resolve-type": {
-      "version": "1.4.0",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/code-frame": "^7.26.2",
-        "@babel/helper-module-imports": "^7.25.9",
-        "@babel/helper-plugin-utils": "^7.26.5",
-        "@babel/parser": "^7.26.9",
-        "@vue/compiler-sfc": "^3.5.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sxzz"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@vue/compiler-core": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.2",
-        "@vue/shared": "3.5.16",
-        "entities": "^4.5.0",
-        "estree-walker": "^2.0.2",
-        "source-map-js": "^1.2.1"
-      }
-    },
-    "node_modules/@vue/compiler-dom": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/compiler-core": "3.5.16",
-        "@vue/shared": "3.5.16"
-      }
-    },
-    "node_modules/@vue/compiler-sfc": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.2",
-        "@vue/compiler-core": "3.5.16",
-        "@vue/compiler-dom": "3.5.16",
-        "@vue/compiler-ssr": "3.5.16",
-        "@vue/shared": "3.5.16",
-        "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.17",
-        "postcss": "^8.5.3",
-        "source-map-js": "^1.2.1"
-      }
-    },
-    "node_modules/@vue/compiler-ssr": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/compiler-dom": "3.5.16",
-        "@vue/shared": "3.5.16"
-      }
-    },
-    "node_modules/@vue/compiler-vue2": {
-      "version": "2.7.16",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "de-indent": "^1.0.2",
-        "he": "^1.2.0"
-      }
-    },
-    "node_modules/@vue/devtools-api": {
-      "version": "7.7.6",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vue/devtools-kit": "^7.7.6"
-      }
-    },
-    "node_modules/@vue/devtools-core": {
-      "version": "7.7.6",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/devtools-kit": "^7.7.6",
-        "@vue/devtools-shared": "^7.7.6",
-        "mitt": "^3.0.1",
-        "nanoid": "^5.1.0",
-        "pathe": "^2.0.3",
-        "vite-hot-client": "^2.0.4"
-      },
-      "peerDependencies": {
-        "vue": "^3.0.0"
-      }
-    },
-    "node_modules/@vue/devtools-core/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/@vue/devtools-kit": {
-      "version": "7.7.6",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/devtools-shared": "^7.7.6",
-        "birpc": "^2.3.0",
-        "hookable": "^5.5.3",
-        "mitt": "^3.0.1",
-        "perfect-debounce": "^1.0.0",
-        "speakingurl": "^14.0.1",
-        "superjson": "^2.2.2"
-      }
-    },
-    "node_modules/@vue/devtools-shared": {
-      "version": "7.7.6",
-      "license": "MIT",
-      "dependencies": {
-        "rfdc": "^1.4.1"
-      }
-    },
-    "node_modules/@vue/eslint-config-prettier": {
-      "version": "9.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "eslint-config-prettier": "^9.0.0",
-        "eslint-plugin-prettier": "^5.0.0"
-      },
-      "peerDependencies": {
-        "eslint": ">= 8.0.0",
-        "prettier": ">= 3.0.0"
-      }
-    },
-    "node_modules/@vue/eslint-config-prettier/node_modules/eslint-config-prettier": {
-      "version": "9.1.0",
-      "dev": true,
-      "license": "MIT",
-      "bin": {
-        "eslint-config-prettier": "bin/cli.js"
-      },
-      "peerDependencies": {
-        "eslint": ">=7.0.0"
-      }
-    },
-    "node_modules/@vue/eslint-config-prettier/node_modules/eslint-plugin-prettier": {
-      "version": "5.4.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "prettier-linter-helpers": "^1.0.0",
-        "synckit": "^0.11.7"
-      },
-      "engines": {
-        "node": "^14.18.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint-plugin-prettier"
-      },
-      "peerDependencies": {
-        "@types/eslint": ">=8.0.0",
-        "eslint": ">=8.0.0",
-        "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
-        "prettier": ">=3.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@types/eslint": {
-          "optional": true
-        },
-        "eslint-config-prettier": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/eslint-config-typescript": {
-      "version": "12.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/eslint-plugin": "^6.7.0",
-        "@typescript-eslint/parser": "^6.7.0",
-        "vue-eslint-parser": "^9.3.1"
-      },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
-      },
-      "peerDependencies": {
-        "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0",
-        "eslint-plugin-vue": "^9.0.0",
-        "typescript": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/language-core": {
-      "version": "2.2.10",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "@volar/language-core": "~2.4.11",
-        "@vue/compiler-dom": "^3.5.0",
-        "@vue/compiler-vue2": "^2.7.16",
-        "@vue/shared": "^3.5.0",
-        "alien-signals": "^1.0.3",
-        "minimatch": "^9.0.3",
-        "muggle-string": "^0.4.1",
-        "path-browserify": "^1.0.1"
-      },
-      "peerDependencies": {
-        "typescript": "*"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
-    },
-    "node_modules/@vue/language-core/node_modules/minimatch": {
-      "version": "9.0.5",
-      "devOptional": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/@vue/reactivity": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/shared": "3.5.16"
-      }
-    },
-    "node_modules/@vue/runtime-core": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/reactivity": "3.5.16",
-        "@vue/shared": "3.5.16"
-      }
-    },
-    "node_modules/@vue/runtime-dom": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/reactivity": "3.5.16",
-        "@vue/runtime-core": "3.5.16",
-        "@vue/shared": "3.5.16",
-        "csstype": "^3.1.3"
-      }
-    },
-    "node_modules/@vue/server-renderer": {
-      "version": "3.5.16",
-      "license": "MIT",
-      "dependencies": {
-        "@vue/compiler-ssr": "3.5.16",
-        "@vue/shared": "3.5.16"
-      },
-      "peerDependencies": {
-        "vue": "3.5.16"
-      }
-    },
-    "node_modules/@vue/shared": {
-      "version": "3.5.16",
-      "license": "MIT"
-    },
-    "node_modules/@vue/tsconfig": {
-      "version": "0.7.0",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "typescript": "5.x",
-        "vue": "^3.4.0"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        },
-        "vue": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vueuse/core": {
-      "version": "12.8.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/web-bluetooth": "^0.0.21",
-        "@vueuse/metadata": "12.8.2",
-        "@vueuse/shared": "12.8.2",
-        "vue": "^3.5.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
-    },
-    "node_modules/@vueuse/integrations": {
-      "version": "12.8.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vueuse/core": "12.8.2",
-        "@vueuse/shared": "12.8.2",
-        "vue": "^3.5.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "async-validator": "^4",
-        "axios": "^1",
-        "change-case": "^5",
-        "drauu": "^0.4",
-        "focus-trap": "^7",
-        "fuse.js": "^7",
-        "idb-keyval": "^6",
-        "jwt-decode": "^4",
-        "nprogress": "^0.2",
-        "qrcode": "^1.5",
-        "sortablejs": "^1",
-        "universal-cookie": "^7"
-      },
-      "peerDependenciesMeta": {
-        "async-validator": {
-          "optional": true
-        },
-        "axios": {
-          "optional": true
-        },
-        "change-case": {
-          "optional": true
-        },
-        "drauu": {
-          "optional": true
-        },
-        "focus-trap": {
-          "optional": true
-        },
-        "fuse.js": {
-          "optional": true
-        },
-        "idb-keyval": {
-          "optional": true
-        },
-        "jwt-decode": {
-          "optional": true
-        },
-        "nprogress": {
-          "optional": true
-        },
-        "qrcode": {
-          "optional": true
-        },
-        "sortablejs": {
-          "optional": true
-        },
-        "universal-cookie": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@vueuse/metadata": {
-      "version": "12.8.2",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
-    },
-    "node_modules/@vueuse/shared": {
-      "version": "12.8.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "vue": "^3.5.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
-    },
-    "node_modules/@wdio/cli": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vitest/snapshot": "^2.1.1",
-        "@wdio/config": "9.19.2",
-        "@wdio/globals": "9.17.0",
-        "@wdio/logger": "9.18.0",
-        "@wdio/protocols": "9.16.2",
-        "@wdio/types": "9.19.2",
-        "@wdio/utils": "9.19.2",
-        "async-exit-hook": "^2.0.1",
-        "chalk": "^5.4.1",
-        "chokidar": "^4.0.0",
-        "create-wdio": "9.18.2",
-        "dotenv": "^17.2.0",
-        "import-meta-resolve": "^4.0.0",
-        "lodash.flattendeep": "^4.4.0",
-        "lodash.pickby": "^4.6.0",
-        "lodash.union": "^4.6.0",
-        "read-pkg-up": "^10.0.0",
-        "tsx": "^4.7.2",
-        "webdriverio": "9.19.2",
-        "yargs": "^17.7.2"
-      },
-      "bin": {
-        "wdio": "bin/wdio.js"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@jest/expect-utils": {
-      "version": "30.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/get-type": "30.1.0"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@jest/schemas": {
-      "version": "30.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@sinclair/typebox": "^0.34.0"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@jest/types": {
-      "version": "30.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/pattern": "30.0.1",
-        "@jest/schemas": "30.0.5",
-        "@types/istanbul-lib-coverage": "^2.0.6",
-        "@types/istanbul-reports": "^3.0.4",
-        "@types/node": "*",
-        "@types/yargs": "^17.0.33",
-        "chalk": "^4.1.2"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@jest/types/node_modules/chalk": {
-      "version": "4.1.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@sinclair/typebox": {
-      "version": "0.34.40",
-      "dev": true,
-      "license": "MIT",
-      "peer": true
-    },
-    "node_modules/@wdio/cli/node_modules/@types/node": {
-      "version": "20.19.11",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@vitest/pretty-format": {
-      "version": "3.2.4",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/config": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@wdio/logger": "9.18.0",
-        "@wdio/types": "9.19.2",
-        "@wdio/utils": "9.19.2",
-        "deepmerge-ts": "^7.0.3",
-        "glob": "^10.2.2",
-        "import-meta-resolve": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/globals": {
-      "version": "9.17.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18.20.0"
-      },
-      "peerDependencies": {
-        "expect-webdriverio": "^5.3.4",
-        "webdriverio": "^9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "expect-webdriverio": {
-          "optional": false
-        },
-        "webdriverio": {
-          "optional": false
-        }
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/logger": {
-      "version": "9.18.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "chalk": "^5.1.2",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "safe-regex2": "^5.0.0",
-        "strip-ansi": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/protocols": {
-      "version": "9.16.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/repl": {
-      "version": "9.16.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/types": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/@wdio/utils": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@puppeteer/browsers": "^2.2.0",
-        "@wdio/logger": "9.18.0",
-        "@wdio/types": "9.19.2",
-        "decamelize": "^6.0.0",
-        "deepmerge-ts": "^7.0.3",
-        "edgedriver": "^6.1.2",
-        "geckodriver": "^5.0.0",
-        "get-port": "^7.0.0",
-        "import-meta-resolve": "^4.0.0",
-        "locate-app": "^2.2.24",
-        "mitt": "^3.0.1",
-        "safaridriver": "^1.0.0",
-        "split2": "^4.2.0",
-        "wait-port": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/ansi-regex": {
-      "version": "6.2.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/ci-info": {
-      "version": "4.3.0",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/sibiraj-s"
-        }
-      ],
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/dotenv": {
-      "version": "17.2.1",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://dotenvx.com"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/expect": {
-      "version": "30.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/expect-utils": "30.1.0",
-        "@jest/get-type": "30.1.0",
-        "jest-matcher-utils": "30.1.0",
-        "jest-message-util": "30.1.0",
-        "jest-mock": "30.0.5",
-        "jest-util": "30.0.5"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/expect-webdriverio": {
-      "version": "5.4.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@vitest/snapshot": "^3.2.4",
-        "deep-eql": "^5.0.2",
-        "expect": "^30.0.0",
-        "jest-matcher-utils": "^30.0.0"
-      },
-      "engines": {
-        "node": ">=18 || >=20 || >=22"
-      },
-      "peerDependencies": {
-        "@wdio/globals": "^9.0.0",
-        "@wdio/logger": "^9.0.0",
-        "webdriverio": "^9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@wdio/globals": {
-          "optional": false
-        },
-        "@wdio/logger": {
-          "optional": false
-        },
-        "webdriverio": {
-          "optional": false
-        }
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/expect-webdriverio/node_modules/@vitest/snapshot": {
-      "version": "3.2.4",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@vitest/pretty-format": "3.2.4",
-        "magic-string": "^0.30.17",
-        "pathe": "^2.0.3"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/htmlfy": {
-      "version": "0.8.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/cli/node_modules/jest-diff": {
-      "version": "30.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/diff-sequences": "30.0.1",
-        "@jest/get-type": "30.1.0",
-        "chalk": "^4.1.2",
-        "pretty-format": "30.0.5"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-diff/node_modules/chalk": {
-      "version": "4.1.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-matcher-utils": {
-      "version": "30.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/get-type": "30.1.0",
-        "chalk": "^4.1.2",
-        "jest-diff": "30.1.0",
-        "pretty-format": "30.0.5"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-matcher-utils/node_modules/chalk": {
-      "version": "4.1.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-message-util": {
-      "version": "30.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@babel/code-frame": "^7.27.1",
-        "@jest/types": "30.0.5",
-        "@types/stack-utils": "^2.0.3",
-        "chalk": "^4.1.2",
-        "graceful-fs": "^4.2.11",
-        "micromatch": "^4.0.8",
-        "pretty-format": "30.0.5",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.6"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-message-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-mock": {
-      "version": "30.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "30.0.5",
-        "@types/node": "*",
-        "jest-util": "30.0.5"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-util": {
-      "version": "30.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/types": "30.0.5",
-        "@types/node": "*",
-        "chalk": "^4.1.2",
-        "ci-info": "^4.2.0",
-        "graceful-fs": "^4.2.11",
-        "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/jest-util/node_modules/chalk": {
-      "version": "4.1.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT",
-      "peer": true
-    },
-    "node_modules/@wdio/cli/node_modules/pretty-format": {
-      "version": "30.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "@jest/schemas": "30.0.5",
-        "ansi-styles": "^5.2.0",
-        "react-is": "^18.3.1"
-      },
-      "engines": {
-        "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/pretty-format/node_modules/ansi-styles": {
-      "version": "5.2.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/serialize-error": {
-      "version": "12.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "type-fest": "^4.31.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/tinyrainbow": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/type-fest": {
-      "version": "4.41.0",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/urlpattern-polyfill": {
-      "version": "10.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/cli/node_modules/webdriver": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0",
-        "@types/ws": "^8.5.3",
-        "@wdio/config": "9.19.2",
-        "@wdio/logger": "9.18.0",
-        "@wdio/protocols": "9.16.2",
-        "@wdio/types": "9.19.2",
-        "@wdio/utils": "9.19.2",
-        "deepmerge-ts": "^7.0.3",
-        "https-proxy-agent": "^7.0.6",
-        "undici": "^6.21.3",
-        "ws": "^8.8.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/cli/node_modules/webdriverio": {
-      "version": "9.19.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.11.30",
-        "@types/sinonjs__fake-timers": "^8.1.5",
-        "@wdio/config": "9.19.2",
-        "@wdio/logger": "9.18.0",
-        "@wdio/protocols": "9.16.2",
-        "@wdio/repl": "9.16.2",
-        "@wdio/types": "9.19.2",
-        "@wdio/utils": "9.19.2",
-        "archiver": "^7.0.1",
-        "aria-query": "^5.3.0",
-        "cheerio": "^1.0.0-rc.12",
-        "css-shorthand-properties": "^1.1.1",
-        "css-value": "^0.0.1",
-        "grapheme-splitter": "^1.0.4",
-        "htmlfy": "^0.8.1",
-        "is-plain-obj": "^4.1.0",
-        "jszip": "^3.10.1",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.zip": "^4.2.0",
-        "query-selector-shadow-dom": "^1.0.1",
-        "resq": "^1.11.0",
-        "rgb2hex": "0.2.5",
-        "serialize-error": "^12.0.0",
-        "urlpattern-polyfill": "^10.0.0",
-        "webdriver": "9.19.2"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      },
-      "peerDependencies": {
-        "puppeteer-core": ">=22.x || <=24.x"
-      },
-      "peerDependenciesMeta": {
-        "puppeteer-core": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@wdio/config": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@wdio/logger": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "@wdio/utils": "9.15.0",
-        "deepmerge-ts": "^7.0.3",
-        "glob": "^10.2.2",
-        "import-meta-resolve": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/config/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/config/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/dot-reporter": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@wdio/reporter": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "chalk": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/dot-reporter/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/dot-reporter/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/dot-reporter/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/globals": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18.20.0"
-      },
-      "optionalDependencies": {
-        "expect-webdriverio": "^5.1.0",
-        "webdriverio": "9.15.0"
-      }
-    },
-    "node_modules/@wdio/globals/node_modules/@vitest/pretty-format": {
-      "version": "3.2.3",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/globals/node_modules/@vitest/snapshot": {
-      "version": "3.2.3",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@vitest/pretty-format": "3.2.3",
-        "magic-string": "^0.30.17",
-        "pathe": "^2.0.3"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/globals/node_modules/expect-webdriverio": {
-      "version": "5.3.0",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "@vitest/snapshot": "^3.2.1",
-        "expect": "^29.7.0",
-        "jest-matcher-utils": "^29.7.0",
-        "lodash.isequal": "^4.5.0"
-      },
-      "engines": {
-        "node": ">=18 || >=20 || >=22"
-      },
-      "peerDependencies": {
-        "@wdio/globals": "^9.0.0",
-        "@wdio/logger": "^9.0.0",
-        "webdriverio": "^9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@wdio/globals": {
-          "optional": false
-        },
-        "@wdio/logger": {
-          "optional": false
-        },
-        "webdriverio": {
-          "optional": false
-        }
-      }
-    },
-    "node_modules/@wdio/globals/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT",
-      "optional": true
-    },
-    "node_modules/@wdio/globals/node_modules/tinyrainbow": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "optional": true,
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@wdio/local-runner": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/repl": "9.4.4",
-        "@wdio/runner": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "async-exit-hook": "^2.0.1",
-        "split2": "^4.1.0",
-        "stream-buffers": "^3.0.2"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/local-runner/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/local-runner/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/logger": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "chalk": "^5.1.2",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "strip-ansi": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/ansi-regex": {
-      "version": "6.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/logger/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/mocha-framework": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/mocha": "^10.0.6",
-        "@types/node": "^20.11.28",
-        "@wdio/logger": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "@wdio/utils": "9.15.0",
-        "mocha": "^10.3.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/mocha-framework/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/mocha-framework/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/protocols": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/repl": {
-      "version": "9.4.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/repl/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/reporter": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "diff": "^7.0.0",
-        "object-inspect": "^1.12.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/reporter/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/reporter/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/runner": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.11.28",
-        "@wdio/config": "9.15.0",
-        "@wdio/dot-reporter": "9.15.0",
-        "@wdio/globals": "9.15.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "@wdio/utils": "9.15.0",
-        "deepmerge-ts": "^7.0.3",
-        "expect-webdriverio": "^5.1.0",
-        "webdriver": "9.15.0",
-        "webdriverio": "9.15.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/@vitest/pretty-format": {
-      "version": "3.2.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tinyrainbow": "^2.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/@vitest/snapshot": {
-      "version": "3.2.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vitest/pretty-format": "3.2.3",
-        "magic-string": "^0.30.17",
-        "pathe": "^2.0.3"
-      },
-      "funding": {
-        "url": "https://opencollective.com/vitest"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/expect-webdriverio": {
-      "version": "5.3.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@vitest/snapshot": "^3.2.1",
-        "expect": "^29.7.0",
-        "jest-matcher-utils": "^29.7.0",
-        "lodash.isequal": "^4.5.0"
-      },
-      "engines": {
-        "node": ">=18 || >=20 || >=22"
-      },
-      "peerDependencies": {
-        "@wdio/globals": "^9.0.0",
-        "@wdio/logger": "^9.0.0",
-        "webdriverio": "^9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@wdio/globals": {
-          "optional": false
-        },
-        "@wdio/logger": {
-          "optional": false
-        },
-        "webdriverio": {
-          "optional": false
-        }
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/runner/node_modules/tinyrainbow": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/@wdio/runner/node_modules/urlpattern-polyfill": {
-      "version": "10.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@wdio/runner/node_modules/webdriverio": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.11.30",
-        "@types/sinonjs__fake-timers": "^8.1.5",
-        "@wdio/config": "9.15.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/protocols": "9.15.0",
-        "@wdio/repl": "9.4.4",
-        "@wdio/types": "9.15.0",
-        "@wdio/utils": "9.15.0",
-        "archiver": "^7.0.1",
-        "aria-query": "^5.3.0",
-        "cheerio": "^1.0.0-rc.12",
-        "css-shorthand-properties": "^1.1.1",
-        "css-value": "^0.0.1",
-        "grapheme-splitter": "^1.0.4",
-        "htmlfy": "^0.6.0",
-        "is-plain-obj": "^4.1.0",
-        "jszip": "^3.10.1",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.zip": "^4.2.0",
-        "query-selector-shadow-dom": "^1.0.1",
-        "resq": "^1.11.0",
-        "rgb2hex": "0.2.5",
-        "serialize-error": "^11.0.3",
-        "urlpattern-polyfill": "^10.0.0",
-        "webdriver": "9.15.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      },
-      "peerDependencies": {
-        "puppeteer-core": ">=22.x || <=24.x"
-      },
-      "peerDependenciesMeta": {
-        "puppeteer-core": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/@wdio/spec-reporter": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@wdio/reporter": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "chalk": "^5.1.2",
-        "easy-table": "^1.2.0",
-        "pretty-ms": "^9.0.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/spec-reporter/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/spec-reporter/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/spec-reporter/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/@wdio/types": {
-      "version": "8.41.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^22.2.0"
-      },
-      "engines": {
-        "node": "^16.13 || >=18"
-      }
-    },
-    "node_modules/@wdio/types/node_modules/@types/node": {
-      "version": "22.15.31",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/utils": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@puppeteer/browsers": "^2.2.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "decamelize": "^6.0.0",
-        "deepmerge-ts": "^7.0.3",
-        "edgedriver": "^6.1.1",
-        "geckodriver": "^5.0.0",
-        "get-port": "^7.0.0",
-        "import-meta-resolve": "^4.0.0",
-        "locate-app": "^2.2.24",
-        "safaridriver": "^1.0.0",
-        "split2": "^4.2.0",
-        "wait-port": "^1.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@wdio/utils/node_modules/@types/node": {
-      "version": "20.19.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
-      }
-    },
-    "node_modules/@wdio/utils/node_modules/@wdio/types": {
-      "version": "9.15.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
-      }
-    },
-    "node_modules/@webassemblyjs/ast": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/helper-numbers": "1.13.2",
-        "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
-      }
-    },
-    "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@webassemblyjs/helper-numbers": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/floating-point-hex-parser": "1.13.2",
-        "@webassemblyjs/helper-api-error": "1.13.2",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@webassemblyjs/helper-buffer": "1.14.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
-        "@webassemblyjs/wasm-gen": "1.14.1"
-      }
-    },
-    "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@xtuc/ieee754": "^1.2.0"
-      }
-    },
-    "node_modules/@webassemblyjs/leb128": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@webassemblyjs/utf8": {
-      "version": "1.13.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@webassemblyjs/helper-buffer": "1.14.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
-        "@webassemblyjs/helper-wasm-section": "1.14.1",
-        "@webassemblyjs/wasm-gen": "1.14.1",
-        "@webassemblyjs/wasm-opt": "1.14.1",
-        "@webassemblyjs/wasm-parser": "1.14.1",
-        "@webassemblyjs/wast-printer": "1.14.1"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
-        "@webassemblyjs/ieee754": "1.13.2",
-        "@webassemblyjs/leb128": "1.13.2",
-        "@webassemblyjs/utf8": "1.13.2"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@webassemblyjs/helper-buffer": "1.14.1",
-        "@webassemblyjs/wasm-gen": "1.14.1",
-        "@webassemblyjs/wasm-parser": "1.14.1"
-      }
-    },
-    "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@webassemblyjs/helper-api-error": "1.13.2",
-        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
-        "@webassemblyjs/ieee754": "1.13.2",
-        "@webassemblyjs/leb128": "1.13.2",
-        "@webassemblyjs/utf8": "1.13.2"
-      }
-    },
-    "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.14.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@webassemblyjs/ast": "1.14.1",
-        "@xtuc/long": "4.2.2"
-      }
-    },
-    "node_modules/@whatwg-node/disposablestack": {
-      "version": "0.0.6",
-      "license": "MIT",
-      "dependencies": {
-        "@whatwg-node/promise-helpers": "^1.0.0",
-        "tslib": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@whatwg-node/fetch": {
-      "version": "0.10.8",
-      "license": "MIT",
-      "dependencies": {
-        "@whatwg-node/node-fetch": "^0.7.21",
-        "urlpattern-polyfill": "^10.0.0"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@whatwg-node/fetch/node_modules/urlpattern-polyfill": {
-      "version": "10.1.0",
-      "license": "MIT"
-    },
-    "node_modules/@whatwg-node/node-fetch": {
-      "version": "0.7.21",
-      "license": "MIT",
-      "dependencies": {
-        "@fastify/busboy": "^3.1.1",
-        "@whatwg-node/disposablestack": "^0.0.6",
-        "@whatwg-node/promise-helpers": "^1.3.2",
-        "tslib": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@whatwg-node/promise-helpers": {
-      "version": "1.3.2",
-      "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=16.0.0"
-      }
-    },
-    "node_modules/@whatwg-node/server": {
-      "version": "0.9.71",
-      "license": "MIT",
-      "dependencies": {
-        "@whatwg-node/disposablestack": "^0.0.6",
-        "@whatwg-node/fetch": "^0.10.5",
-        "@whatwg-node/promise-helpers": "^1.2.2",
-        "tslib": "^2.6.3"
-      },
-      "engines": {
-        "node": ">=18.0.0"
-      }
-    },
-    "node_modules/@xtuc/ieee754": {
-      "version": "1.2.0",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/@xtuc/long": {
-      "version": "4.2.2",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/@yarnpkg/lockfile": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "BSD-2-Clause"
-    },
-    "node_modules/@zip.js/zip.js": {
-      "version": "2.7.62",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "bun": ">=0.7.0",
-        "deno": ">=1.0.0",
-        "node": ">=16.5.0"
-      }
-    },
-    "node_modules/abbrev": {
-      "version": "3.0.1",
-      "license": "ISC",
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/abort-controller": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "event-target-shim": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=6.5"
-      }
-    },
-    "node_modules/accepts": {
-      "version": "1.3.8",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "mime-types": "~2.1.34",
-        "negotiator": "0.6.3"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/accepts/node_modules/negotiator": {
-      "version": "0.6.3",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/acorn": {
-      "version": "8.15.0",
-      "license": "MIT",
-      "bin": {
-        "acorn": "bin/acorn"
-      },
-      "engines": {
-        "node": ">=0.4.0"
-      }
-    },
-    "node_modules/acorn-import-attributes": {
-      "version": "1.9.5",
-      "license": "MIT",
-      "peerDependencies": {
-        "acorn": "^8"
-      }
-    },
-    "node_modules/acorn-jsx": {
-      "version": "5.3.2",
-      "devOptional": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
-      }
-    },
-    "node_modules/adjust-sourcemap-loader": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "loader-utils": "^2.0.0",
-        "regex-parser": "^2.2.11"
-      },
-      "engines": {
-        "node": ">=8.9"
-      }
-    },
-    "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": {
-      "version": "2.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
-      },
-      "engines": {
-        "node": ">=8.9.0"
-      }
-    },
-    "node_modules/agent-base": {
-      "version": "7.1.3",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/ajv": {
-      "version": "8.17.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "fast-deep-equal": "^3.1.3",
-        "fast-uri": "^3.0.1",
-        "json-schema-traverse": "^1.0.0",
-        "require-from-string": "^2.0.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
-      }
-    },
-    "node_modules/ajv-formats": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ajv": "^8.0.0"
-      },
-      "peerDependencies": {
-        "ajv": "^8.0.0"
-      },
-      "peerDependenciesMeta": {
-        "ajv": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/ajv-keywords": {
-      "version": "5.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "fast-deep-equal": "^3.1.3"
-      },
-      "peerDependencies": {
-        "ajv": "^8.8.2"
-      }
-    },
-    "node_modules/algoliasearch": {
-      "version": "5.27.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/client-abtesting": "5.27.0",
-        "@algolia/client-analytics": "5.27.0",
-        "@algolia/client-common": "5.27.0",
-        "@algolia/client-insights": "5.27.0",
-        "@algolia/client-personalization": "5.27.0",
-        "@algolia/client-query-suggestions": "5.27.0",
-        "@algolia/client-search": "5.27.0",
-        "@algolia/ingestion": "1.27.0",
-        "@algolia/monitoring": "1.27.0",
-        "@algolia/recommend": "5.27.0",
-        "@algolia/requester-browser-xhr": "5.27.0",
-        "@algolia/requester-fetch": "5.27.0",
-        "@algolia/requester-node-http": "5.27.0"
-      },
-      "engines": {
-        "node": ">= 14.0.0"
-      }
-    },
-    "node_modules/alien-signals": {
-      "version": "1.0.13",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/ansi-colors": {
-      "version": "4.1.3",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/ansi-escapes": {
-      "version": "4.3.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "type-fest": "^0.21.3"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/ansi-html-community": {
-      "version": "0.0.8",
-      "dev": true,
-      "engines": [
-        "node >= 0.8.0"
-      ],
-      "license": "Apache-2.0",
-      "bin": {
-        "ansi-html": "bin/ansi-html"
-      }
-    },
-    "node_modules/ansi-regex": {
-      "version": "5.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/ansi-styles": {
-      "version": "4.3.0",
-      "license": "MIT",
-      "dependencies": {
-        "color-convert": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/ansis": {
-      "version": "3.17.0",
-      "license": "ISC",
-      "engines": {
-        "node": ">=14"
-      }
-    },
-    "node_modules/anymatch": {
-      "version": "3.1.3",
-      "license": "ISC",
-      "dependencies": {
-        "normalize-path": "^3.0.0",
-        "picomatch": "^2.0.4"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/anymatch/node_modules/picomatch": {
-      "version": "2.3.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
-      }
-    },
-    "node_modules/archiver": {
-      "version": "7.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "archiver-utils": "^5.0.2",
-        "async": "^3.2.4",
-        "buffer-crc32": "^1.0.0",
-        "readable-stream": "^4.0.0",
-        "readdir-glob": "^1.1.2",
-        "tar-stream": "^3.0.0",
-        "zip-stream": "^6.0.1"
-      },
-      "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/archiver-utils": {
-      "version": "5.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "glob": "^10.0.0",
-        "graceful-fs": "^4.2.0",
-        "is-stream": "^2.0.1",
-        "lazystream": "^1.0.0",
-        "lodash": "^4.17.15",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/archiver-utils/node_modules/is-stream": {
-      "version": "2.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/argparse": {
-      "version": "2.0.1",
-      "devOptional": true,
-      "license": "Python-2.0"
-    },
-    "node_modules/aria-query": {
-      "version": "5.3.2",
-      "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/array-buffer-byte-length": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3",
-        "is-array-buffer": "^3.0.5"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array-flatten": {
-      "version": "1.1.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/array-includes": {
-      "version": "3.1.9",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.4",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.24.0",
-        "es-object-atoms": "^1.1.1",
-        "get-intrinsic": "^1.3.0",
-        "is-string": "^1.1.1",
-        "math-intrinsics": "^1.1.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array-union": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/array.prototype.findlast": {
-      "version": "1.2.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.2",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.0.0",
-        "es-shim-unscopables": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.flat": {
-      "version": "1.3.3",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.8",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.5",
-        "es-shim-unscopables": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.flatmap": {
-      "version": "1.3.3",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.8",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.5",
-        "es-shim-unscopables": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/array.prototype.tosorted": {
-      "version": "1.1.4",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.3",
-        "es-errors": "^1.3.0",
-        "es-shim-unscopables": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/arraybuffer.prototype.slice": {
-      "version": "1.0.4",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "array-buffer-byte-length": "^1.0.1",
-        "call-bind": "^1.0.8",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.5",
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.6",
-        "is-array-buffer": "^3.0.4"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/ast-kit": {
-      "version": "1.4.3",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.27.0",
-        "pathe": "^2.0.3"
-      },
-      "engines": {
-        "node": ">=16.14.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sxzz"
-      }
-    },
-    "node_modules/ast-kit/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/ast-module-types": {
-      "version": "6.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/ast-types": {
-      "version": "0.13.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/ast-walker-scope": {
-      "version": "0.6.2",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.25.3",
-        "ast-kit": "^1.0.1"
-      },
-      "engines": {
-        "node": ">=16.14.0"
-      }
-    },
-    "node_modules/async": {
-      "version": "3.2.6",
-      "license": "MIT"
-    },
-    "node_modules/async-exit-hook": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.12.0"
-      }
-    },
-    "node_modules/async-function": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/async-sema": {
-      "version": "3.1.1",
-      "license": "MIT"
-    },
-    "node_modules/asynckit": {
-      "version": "0.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/autoprefixer": {
-      "version": "10.4.20",
-      "dev": true,
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/autoprefixer"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.23.3",
-        "caniuse-lite": "^1.0.30001646",
-        "fraction.js": "^4.3.7",
-        "normalize-range": "^0.1.2",
-        "picocolors": "^1.0.1",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "bin": {
-        "autoprefixer": "bin/autoprefixer"
-      },
-      "engines": {
-        "node": "^10 || ^12 || >=14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
-      }
-    },
-    "node_modules/available-typed-arrays": {
-      "version": "1.0.7",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "possible-typed-array-names": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/axe-core": {
-      "version": "4.11.1",
-      "dev": true,
-      "license": "MPL-2.0",
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/b4a": {
-      "version": "1.6.7",
-      "license": "Apache-2.0"
-    },
-    "node_modules/babel-jest": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jest/transform": "^29.7.0",
-        "@types/babel__core": "^7.1.14",
-        "babel-plugin-istanbul": "^6.1.1",
-        "babel-preset-jest": "^29.6.3",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "slash": "^3.0.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.8.0"
-      }
-    },
-    "node_modules/babel-jest/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-loader": {
-      "version": "9.2.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "find-cache-dir": "^4.0.0",
-        "schema-utils": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 14.15.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.12.0",
-        "webpack": ">=5"
-      }
-    },
-    "node_modules/babel-plugin-istanbul": {
-      "version": "6.1.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.0.0",
-        "@istanbuljs/load-nyc-config": "^1.0.0",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-instrument": "^5.0.4",
-        "test-exclude": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
-      "version": "5.2.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "@babel/core": "^7.12.3",
-        "@babel/parser": "^7.14.7",
-        "@istanbuljs/schema": "^0.1.2",
-        "istanbul-lib-coverage": "^3.2.0",
-        "semver": "^6.3.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/babel-plugin-istanbul/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/babel-plugin-jest-hoist": {
-      "version": "29.6.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/template": "^7.3.3",
-        "@babel/types": "^7.3.3",
-        "@types/babel__core": "^7.1.14",
-        "@types/babel__traverse": "^7.0.6"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2": {
-      "version": "0.4.13",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/compat-data": "^7.22.6",
-        "@babel/helper-define-polyfill-provider": "^0.6.4",
-        "semver": "^6.3.1"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.11.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.6.3",
-        "core-js-compat": "^3.40.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-plugin-polyfill-regenerator": {
-      "version": "0.6.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.6.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
-      }
-    },
-    "node_modules/babel-preset-current-node-syntax": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-bigint": "^7.8.3",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-import-attributes": "^7.24.7",
-        "@babel/plugin-syntax-import-meta": "^7.10.4",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/babel-preset-jest": {
-      "version": "29.6.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "babel-plugin-jest-hoist": "^29.6.3",
-        "babel-preset-current-node-syntax": "^1.0.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0"
-      }
-    },
-    "node_modules/balanced-match": {
-      "version": "1.0.2",
-      "license": "MIT"
-    },
-    "node_modules/bare-fs": {
-      "version": "4.1.5",
-      "dev": true,
-      "license": "Apache-2.0",
-      "optional": true,
-      "dependencies": {
-        "bare-events": "^2.5.4",
-        "bare-path": "^3.0.0",
-        "bare-stream": "^2.6.4"
-      },
-      "engines": {
-        "bare": ">=1.16.0"
-      },
-      "peerDependencies": {
-        "bare-buffer": "*"
-      },
-      "peerDependenciesMeta": {
-        "bare-buffer": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/bare-os": {
-      "version": "3.6.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "optional": true,
-      "engines": {
-        "bare": ">=1.14.0"
-      }
-    },
-    "node_modules/bare-path": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "optional": true,
-      "dependencies": {
-        "bare-os": "^3.0.1"
-      }
-    },
-    "node_modules/bare-stream": {
-      "version": "2.6.5",
-      "dev": true,
-      "license": "Apache-2.0",
-      "optional": true,
-      "dependencies": {
-        "streamx": "^2.21.0"
-      },
-      "peerDependencies": {
-        "bare-buffer": "*",
-        "bare-events": "*"
-      },
-      "peerDependenciesMeta": {
-        "bare-buffer": {
-          "optional": true
-        },
-        "bare-events": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/base64-js": {
-      "version": "1.5.1",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/basic-ftp": {
-      "version": "5.0.5",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10.0.0"
-      }
-    },
-    "node_modules/batch": {
-      "version": "0.6.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/beasties": {
-      "version": "0.3.4",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "css-select": "^5.1.0",
-        "css-what": "^6.1.0",
-        "dom-serializer": "^2.0.0",
-        "domhandler": "^5.0.3",
-        "htmlparser2": "^10.0.0",
-        "picocolors": "^1.1.1",
-        "postcss": "^8.4.49",
-        "postcss-media-query-parser": "^0.2.3"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      }
-    },
-    "node_modules/before-after-hook": {
-      "version": "2.2.3",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/big-integer": {
-      "version": "1.6.52",
-      "dev": true,
-      "license": "Unlicense",
-      "engines": {
-        "node": ">=0.6"
-      }
-    },
-    "node_modules/big.js": {
-      "version": "5.2.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/binary": {
-      "version": "0.3.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "buffers": "~0.1.1",
-        "chainsaw": "~0.1.0"
-      }
-    },
-    "node_modules/binary-extensions": {
-      "version": "2.3.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/bindings": {
-      "version": "1.5.0",
-      "license": "MIT",
-      "dependencies": {
-        "file-uri-to-path": "1.0.0"
-      }
-    },
-    "node_modules/birpc": {
-      "version": "2.3.0",
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      }
-    },
-    "node_modules/bl": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "buffer": "^5.5.0",
-        "inherits": "^2.0.4",
-        "readable-stream": "^3.4.0"
-      }
-    },
-    "node_modules/bl/node_modules/buffer": {
-      "version": "5.7.1",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
-      }
-    },
-    "node_modules/bl/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/bluebird": {
-      "version": "3.4.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/body-parser": {
-      "version": "1.20.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "bytes": "3.1.2",
-        "content-type": "~1.0.5",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "on-finished": "2.4.1",
-        "qs": "6.13.0",
-        "raw-body": "2.5.2",
-        "type-is": "~1.6.18",
-        "unpipe": "1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
-      }
-    },
-    "node_modules/body-parser/node_modules/debug": {
-      "version": "2.6.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/body-parser/node_modules/ms": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/body-parser/node_modules/qs": {
-      "version": "6.13.0",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "side-channel": "^1.0.6"
-      },
-      "engines": {
-        "node": ">=0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/bonjour-service": {
-      "version": "1.3.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "fast-deep-equal": "^3.1.3",
-        "multicast-dns": "^7.2.5"
-      }
-    },
-    "node_modules/boolbase": {
-      "version": "1.0.0",
-      "license": "ISC"
-    },
-    "node_modules/brace-expansion": {
-      "version": "1.1.12",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0",
-        "concat-map": "0.0.1"
-      }
-    },
-    "node_modules/braces": {
-      "version": "3.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "fill-range": "^7.1.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/browser-stdout": {
-      "version": "1.3.1",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/browserslist": {
-      "version": "4.25.0",
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "caniuse-lite": "^1.0.30001718",
-        "electron-to-chromium": "^1.5.160",
-        "node-releases": "^2.0.19",
-        "update-browserslist-db": "^1.1.3"
-      },
-      "bin": {
-        "browserslist": "cli.js"
-      },
-      "engines": {
-        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
-      }
-    },
-    "node_modules/bser": {
-      "version": "2.1.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "node-int64": "^0.4.0"
-      }
-    },
-    "node_modules/buffer": {
-      "version": "6.0.3",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.2.1"
-      }
-    },
-    "node_modules/buffer-crc32": {
-      "version": "1.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/buffer-from": {
-      "version": "1.1.2",
-      "license": "MIT"
-    },
-    "node_modules/buffer-indexof-polyfill": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/buffers": {
-      "version": "0.1.1",
-      "dev": true,
-      "engines": {
-        "node": ">=0.2.0"
-      }
-    },
-    "node_modules/builtin-modules": {
-      "version": "3.3.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/bundle-name": {
-      "version": "4.1.0",
-      "license": "MIT",
-      "dependencies": {
-        "run-applescript": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/bytes": {
-      "version": "3.1.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/c12": {
-      "version": "3.0.4",
-      "license": "MIT",
-      "dependencies": {
-        "chokidar": "^4.0.3",
-        "confbox": "^0.2.2",
-        "defu": "^6.1.4",
-        "dotenv": "^16.5.0",
-        "exsolve": "^1.0.5",
-        "giget": "^2.0.0",
-        "jiti": "^2.4.2",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "rc9": "^2.1.2"
-      },
-      "peerDependencies": {
-        "magicast": "^0.3.5"
-      },
-      "peerDependenciesMeta": {
-        "magicast": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/c12/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/cac": {
-      "version": "6.7.14",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cacache": {
-      "version": "19.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "@npmcli/fs": "^4.0.0",
-        "fs-minipass": "^3.0.0",
-        "glob": "^10.2.2",
-        "lru-cache": "^10.0.1",
-        "minipass": "^7.0.3",
-        "minipass-collect": "^2.0.1",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "p-map": "^7.0.2",
-        "ssri": "^12.0.0",
-        "tar": "^7.4.3",
-        "unique-filename": "^4.0.0"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/cacache/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/cacache/node_modules/p-map": {
-      "version": "7.0.3",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cacheable-lookup": {
-      "version": "7.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.16"
-      }
-    },
-    "node_modules/cacheable-request": {
-      "version": "10.2.14",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/http-cache-semantics": "^4.0.2",
-        "get-stream": "^6.0.1",
-        "http-cache-semantics": "^4.1.1",
-        "keyv": "^4.5.3",
-        "mimic-response": "^4.0.0",
-        "normalize-url": "^8.0.0",
-        "responselike": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=14.16"
-      }
-    },
-    "node_modules/cacheable-request/node_modules/get-stream": {
-      "version": "6.0.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/call-bind": {
-      "version": "1.0.8",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind-apply-helpers": "^1.0.0",
-        "es-define-property": "^1.0.0",
-        "get-intrinsic": "^1.2.4",
-        "set-function-length": "^1.2.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/call-bind-apply-helpers": {
-      "version": "1.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "es-errors": "^1.3.0",
-        "function-bind": "^1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/call-bound": {
-      "version": "1.0.4",
-      "license": "MIT",
-      "dependencies": {
-        "call-bind-apply-helpers": "^1.0.2",
-        "get-intrinsic": "^1.3.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/call-me-maybe": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/callsite": {
-      "version": "1.0.0",
-      "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/callsites": {
-      "version": "3.1.0",
-      "devOptional": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/camelcase": {
-      "version": "5.3.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/caniuse-api": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.0.0",
-        "caniuse-lite": "^1.0.0",
-        "lodash.memoize": "^4.1.2",
-        "lodash.uniq": "^4.5.0"
-      }
-    },
-    "node_modules/caniuse-lite": {
-      "version": "1.0.30001723",
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "license": "CC-BY-4.0"
-    },
-    "node_modules/ccount": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
-      }
-    },
-    "node_modules/chainsaw": {
-      "version": "0.1.0",
-      "dev": true,
-      "license": "MIT/X11",
-      "dependencies": {
-        "traverse": ">=0.3.0 <0.4"
-      }
-    },
-    "node_modules/chalk": {
-      "version": "4.1.2",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "ansi-styles": "^4.1.0",
-        "supports-color": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/char-regex": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/character-entities-html4": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
-      }
-    },
-    "node_modules/character-entities-legacy": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
-      }
-    },
-    "node_modules/chardet": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/cheerio": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cheerio-select": "^2.1.0",
-        "dom-serializer": "^2.0.0",
-        "domhandler": "^5.0.3",
-        "domutils": "^3.2.2",
-        "encoding-sniffer": "^0.2.0",
-        "htmlparser2": "^10.0.0",
-        "parse5": "^7.3.0",
-        "parse5-htmlparser2-tree-adapter": "^7.1.0",
-        "parse5-parser-stream": "^7.1.2",
-        "undici": "^7.10.0",
-        "whatwg-mimetype": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=18.17"
-      },
-      "funding": {
-        "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
-      }
-    },
-    "node_modules/cheerio-select": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "boolbase": "^1.0.0",
-        "css-select": "^5.1.0",
-        "css-what": "^6.1.0",
-        "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.3",
-        "domutils": "^3.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/cheerio/node_modules/undici": {
-      "version": "7.10.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=20.18.1"
-      }
-    },
-    "node_modules/chevrotain": {
-      "version": "11.0.3",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@chevrotain/cst-dts-gen": "11.0.3",
-        "@chevrotain/gast": "11.0.3",
-        "@chevrotain/regexp-to-ast": "11.0.3",
-        "@chevrotain/types": "11.0.3",
-        "@chevrotain/utils": "11.0.3",
-        "lodash-es": "4.17.21"
-      }
-    },
-    "node_modules/chevrotain-allstar": {
-      "version": "0.3.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "lodash-es": "^4.17.21"
-      },
-      "peerDependencies": {
-        "chevrotain": "^11.0.0"
-      }
-    },
-    "node_modules/chokidar": {
-      "version": "4.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "readdirp": "^4.0.1"
-      },
-      "engines": {
-        "node": ">= 14.16.0"
-      },
-      "funding": {
-        "url": "https://paulmillr.com/funding/"
-      }
-    },
-    "node_modules/chownr": {
-      "version": "3.0.0",
-      "license": "BlueOak-1.0.0",
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/chrome-trace-event": {
-      "version": "1.0.4",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6.0"
-      }
-    },
-    "node_modules/chromium-bidi": {
-      "version": "0.5.8",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "mitt": "3.0.1",
-        "urlpattern-polyfill": "10.0.0"
-      },
-      "peerDependencies": {
-        "devtools-protocol": "*"
-      }
-    },
-    "node_modules/chromium-bidi/node_modules/urlpattern-polyfill": {
-      "version": "10.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/ci-info": {
-      "version": "3.9.0",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/sibiraj-s"
-        }
-      ],
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/citty": {
-      "version": "0.1.6",
-      "license": "MIT",
-      "dependencies": {
-        "consola": "^3.2.3"
-      }
-    },
-    "node_modules/cjs-module-lexer": {
-      "version": "1.4.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/cli-cursor": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "restore-cursor": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cli-spinners": {
-      "version": "2.9.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cli-truncate": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "slice-ansi": "^5.0.0",
-        "string-width": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cli-truncate/node_modules/ansi-regex": {
-      "version": "6.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-      }
-    },
-    "node_modules/cli-truncate/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/cli-truncate/node_modules/string-width": {
-      "version": "7.2.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cli-truncate/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
-      }
-    },
-    "node_modules/cli-width": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">= 12"
-      }
-    },
-    "node_modules/clipboardy": {
-      "version": "4.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "execa": "^8.0.1",
-        "is-wsl": "^3.1.0",
-        "is64bit": "^2.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/execa": {
-      "version": "8.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^8.0.1",
-        "human-signals": "^5.0.0",
-        "is-stream": "^3.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^5.1.0",
-        "onetime": "^6.0.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=16.17"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
-      }
-    },
-    "node_modules/clipboardy/node_modules/get-stream": {
-      "version": "8.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/human-signals": {
-      "version": "5.0.0",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=16.17.0"
-      }
-    },
-    "node_modules/clipboardy/node_modules/is-stream": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/mimic-fn": {
-      "version": "4.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/npm-run-path": {
-      "version": "5.3.0",
-      "license": "MIT",
-      "dependencies": {
-        "path-key": "^4.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/onetime": {
-      "version": "6.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "mimic-fn": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/path-key": {
-      "version": "4.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/clipboardy/node_modules/strip-final-newline": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cliui": {
-      "version": "8.0.1",
-      "license": "ISC",
-      "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.1",
-        "wrap-ansi": "^7.0.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/cliui/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "license": "MIT"
-    },
-    "node_modules/cliui/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cliui/node_modules/string-width": {
-      "version": "4.2.3",
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/cliui/node_modules/wrap-ansi": {
-      "version": "7.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
-      }
-    },
-    "node_modules/clone": {
-      "version": "1.0.4",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/clone-deep": {
-      "version": "4.0.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "is-plain-object": "^2.0.4",
-        "kind-of": "^6.0.2",
-        "shallow-clone": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/clone-deep/node_modules/is-plain-object": {
-      "version": "2.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "isobject": "^3.0.1"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/cluster-key-slot": {
-      "version": "1.1.2",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/co": {
-      "version": "4.6.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "iojs": ">= 1.0.0",
-        "node": ">= 0.12.0"
-      }
-    },
-    "node_modules/code-block-writer": {
-      "version": "13.0.3",
-      "license": "MIT"
-    },
-    "node_modules/collect-v8-coverage": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/color": {
-      "version": "3.2.1",
-      "license": "MIT",
-      "dependencies": {
-        "color-convert": "^1.9.3",
-        "color-string": "^1.6.0"
-      }
-    },
-    "node_modules/color-convert": {
-      "version": "2.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "color-name": "~1.1.4"
-      },
-      "engines": {
-        "node": ">=7.0.0"
-      }
-    },
-    "node_modules/color-name": {
-      "version": "1.1.4",
-      "license": "MIT"
-    },
-    "node_modules/color-string": {
-      "version": "1.9.1",
-      "license": "MIT",
-      "dependencies": {
-        "color-name": "^1.0.0",
-        "simple-swizzle": "^0.2.2"
-      }
-    },
-    "node_modules/color/node_modules/color-convert": {
-      "version": "1.9.3",
-      "license": "MIT",
-      "dependencies": {
-        "color-name": "1.1.3"
-      }
-    },
-    "node_modules/color/node_modules/color-name": {
-      "version": "1.1.3",
-      "license": "MIT"
-    },
-    "node_modules/colord": {
-      "version": "2.9.3",
-      "license": "MIT"
-    },
-    "node_modules/colorette": {
-      "version": "2.0.20",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/colorspace": {
-      "version": "1.1.4",
-      "license": "MIT",
-      "dependencies": {
-        "color": "^3.1.3",
-        "text-hex": "1.0.x"
-      }
-    },
-    "node_modules/combined-stream": {
-      "version": "1.0.8",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "delayed-stream": "~1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/comma-separated-tokens": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
-      }
-    },
-    "node_modules/commander": {
-      "version": "14.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=20"
-      }
-    },
-    "node_modules/common-path-prefix": {
-      "version": "3.0.0",
-      "license": "ISC"
-    },
-    "node_modules/commondir": {
-      "version": "1.0.1",
-      "license": "MIT"
-    },
-    "node_modules/compatx": {
-      "version": "0.2.0",
-      "license": "MIT"
-    },
-    "node_modules/compress-commons": {
-      "version": "6.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "crc-32": "^1.2.0",
-        "crc32-stream": "^6.0.0",
-        "is-stream": "^2.0.1",
-        "normalize-path": "^3.0.0",
-        "readable-stream": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/compress-commons/node_modules/is-stream": {
-      "version": "2.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/compressible": {
-      "version": "2.0.18",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "mime-db": ">= 1.43.0 < 2"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/compression": {
-      "version": "1.8.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "bytes": "3.1.2",
-        "compressible": "~2.0.18",
-        "debug": "2.6.9",
-        "negotiator": "~0.6.4",
-        "on-headers": "~1.1.0",
-        "safe-buffer": "5.2.1",
-        "vary": "~1.1.2"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
-      }
-    },
-    "node_modules/compression/node_modules/debug": {
-      "version": "2.6.9",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "ms": "2.0.0"
-      }
-    },
-    "node_modules/compression/node_modules/ms": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/compression/node_modules/negotiator": {
-      "version": "0.6.4",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/concat-map": {
-      "version": "0.0.1",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/confbox": {
-      "version": "0.2.2",
-      "license": "MIT"
-    },
-    "node_modules/connect-history-api-fallback": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/consola": {
-      "version": "3.4.2",
-      "license": "MIT",
-      "engines": {
-        "node": "^14.18.0 || >=16.10.0"
-      }
-    },
-    "node_modules/content-disposition": {
-      "version": "0.5.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "5.2.1"
-      },
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/content-type": {
-      "version": "1.0.5",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/convert-source-map": {
-      "version": "1.9.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/cookie": {
-      "version": "1.0.2",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/cookie-es": {
-      "version": "2.0.0",
-      "license": "MIT"
-    },
-    "node_modules/cookie-signature": {
-      "version": "1.0.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/copy-anything": {
-      "version": "2.0.6",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "is-what": "^3.14.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mesqueeb"
-      }
-    },
-    "node_modules/copy-file": {
-      "version": "11.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "graceful-fs": "^4.2.11",
-        "p-event": "^6.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/copy-file/node_modules/p-event": {
-      "version": "6.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "p-timeout": "^6.1.2"
-      },
-      "engines": {
-        "node": ">=16.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/copy-file/node_modules/p-timeout": {
-      "version": "6.1.4",
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/copy-webpack-plugin": {
-      "version": "12.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "fast-glob": "^3.3.2",
-        "glob-parent": "^6.0.1",
-        "globby": "^14.0.0",
-        "normalize-path": "^3.0.0",
-        "schema-utils": "^4.2.0",
-        "serialize-javascript": "^6.0.2"
-      },
-      "engines": {
-        "node": ">= 18.12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^5.1.0"
-      }
-    },
-    "node_modules/core-js-compat": {
-      "version": "3.43.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.25.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/core-js"
-      }
-    },
-    "node_modules/core-util-is": {
-      "version": "1.0.3",
-      "license": "MIT"
-    },
-    "node_modules/cose-base": {
-      "version": "1.0.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "layout-base": "^1.0.0"
-      }
-    },
-    "node_modules/cosmiconfig": {
-      "version": "9.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "env-paths": "^2.2.1",
-        "import-fresh": "^3.3.0",
-        "js-yaml": "^4.1.0",
-        "parse-json": "^5.2.0"
-      },
-      "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/d-fischer"
-      },
-      "peerDependencies": {
-        "typescript": ">=4.9.5"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/cosmiconfig/node_modules/env-paths": {
-      "version": "2.2.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/crc-32": {
-      "version": "1.2.2",
-      "license": "Apache-2.0",
-      "bin": {
-        "crc32": "bin/crc32.njs"
-      },
-      "engines": {
-        "node": ">=0.8"
-      }
-    },
-    "node_modules/crc32-stream": {
-      "version": "6.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "crc-32": "^1.2.0",
-        "readable-stream": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/create-jest": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jest/types": "^29.6.3",
-        "chalk": "^4.0.0",
-        "exit": "^0.1.2",
-        "graceful-fs": "^4.2.9",
-        "jest-config": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "prompts": "^2.0.1"
-      },
-      "bin": {
-        "create-jest": "bin/create-jest.js"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      }
-    },
-    "node_modules/create-wdio": {
-      "version": "9.18.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "chalk": "^5.3.0",
-        "commander": "^14.0.0",
-        "cross-spawn": "^7.0.3",
-        "ejs": "^3.1.10",
-        "execa": "^9.6.0",
-        "import-meta-resolve": "^4.1.0",
-        "inquirer": "^12.7.0",
-        "normalize-package-data": "^7.0.0",
-        "read-pkg-up": "^10.1.0",
-        "recursive-readdir": "^2.2.3",
-        "semver": "^7.6.3",
-        "type-fest": "^4.41.0",
-        "yargs": "^17.7.2"
-      },
-      "bin": {
-        "create-wdio": "bin/wdio.js"
-      },
-      "engines": {
-        "node": ">=12.0.0"
-      }
-    },
-    "node_modules/create-wdio/node_modules/chalk": {
-      "version": "5.6.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
-      }
-    },
-    "node_modules/create-wdio/node_modules/type-fest": {
-      "version": "4.41.0",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/cron-parser": {
-      "version": "4.9.0",
-      "license": "MIT",
-      "dependencies": {
-        "luxon": "^3.2.1"
-      },
-      "engines": {
-        "node": ">=12.0.0"
-      }
-    },
-    "node_modules/croner": {
-      "version": "9.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18.0"
-      }
-    },
-    "node_modules/cross-env": {
-      "version": "7.0.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^7.0.1"
-      },
-      "bin": {
-        "cross-env": "src/bin/cross-env.js",
-        "cross-env-shell": "src/bin/cross-env-shell.js"
-      },
-      "engines": {
-        "node": ">=10.14",
-        "npm": ">=6",
-        "yarn": ">=1"
-      }
-    },
-    "node_modules/cross-fetch": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "node-fetch": "^2.6.12"
-      }
-    },
-    "node_modules/cross-fetch/node_modules/node-fetch": {
-      "version": "2.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "whatwg-url": "^5.0.0"
-      },
-      "engines": {
-        "node": "4.x || >=6.0.0"
-      },
-      "peerDependencies": {
-        "encoding": "^0.1.0"
-      },
-      "peerDependenciesMeta": {
-        "encoding": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/cross-fetch/node_modules/tr46": {
-      "version": "0.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/cross-fetch/node_modules/webidl-conversions": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "BSD-2-Clause"
-    },
-    "node_modules/cross-fetch/node_modules/whatwg-url": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "tr46": "~0.0.3",
-        "webidl-conversions": "^3.0.0"
-      }
-    },
-    "node_modules/cross-spawn": {
-      "version": "7.0.6",
-      "license": "MIT",
-      "dependencies": {
-        "path-key": "^3.1.0",
-        "shebang-command": "^2.0.0",
-        "which": "^2.0.1"
-      },
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/crossws": {
-      "version": "0.3.5",
-      "license": "MIT",
-      "dependencies": {
-        "uncrypto": "^0.1.3"
-      }
-    },
-    "node_modules/css-declaration-sorter": {
-      "version": "7.2.0",
-      "license": "ISC",
-      "engines": {
-        "node": "^14 || ^16 || >=18"
-      },
-      "peerDependencies": {
-        "postcss": "^8.0.9"
-      }
-    },
-    "node_modules/css-loader": {
-      "version": "7.1.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "icss-utils": "^5.1.0",
-        "postcss": "^8.4.33",
-        "postcss-modules-extract-imports": "^3.1.0",
-        "postcss-modules-local-by-default": "^4.0.5",
-        "postcss-modules-scope": "^3.2.0",
-        "postcss-modules-values": "^4.0.0",
-        "postcss-value-parser": "^4.2.0",
-        "semver": "^7.5.4"
-      },
-      "engines": {
-        "node": ">= 18.12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "@rspack/core": "0.x || 1.x",
-        "webpack": "^5.27.0"
-      },
-      "peerDependenciesMeta": {
-        "@rspack/core": {
-          "optional": true
-        },
-        "webpack": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/css-select": {
-      "version": "5.1.0",
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "boolbase": "^1.0.0",
-        "css-what": "^6.1.0",
-        "domhandler": "^5.0.2",
-        "domutils": "^3.0.1",
-        "nth-check": "^2.0.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/css-shorthand-properties": {
-      "version": "1.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/css-tree": {
-      "version": "2.3.1",
-      "license": "MIT",
-      "dependencies": {
-        "mdn-data": "2.0.30",
-        "source-map-js": "^1.0.1"
-      },
-      "engines": {
-        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
-      }
-    },
-    "node_modules/css-value": {
-      "version": "0.0.1",
-      "dev": true
-    },
-    "node_modules/css-what": {
-      "version": "6.1.0",
-      "license": "BSD-2-Clause",
-      "engines": {
-        "node": ">= 6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/fb55"
-      }
-    },
-    "node_modules/cssesc": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "bin": {
-        "cssesc": "bin/cssesc"
-      },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/cssnano": {
-      "version": "7.0.7",
-      "license": "MIT",
-      "dependencies": {
-        "cssnano-preset-default": "^7.0.7",
-        "lilconfig": "^3.1.3"
-      },
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/cssnano"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
-      }
-    },
-    "node_modules/cssnano-preset-default": {
-      "version": "7.0.7",
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.24.5",
-        "css-declaration-sorter": "^7.2.0",
-        "cssnano-utils": "^5.0.1",
-        "postcss-calc": "^10.1.1",
-        "postcss-colormin": "^7.0.3",
-        "postcss-convert-values": "^7.0.5",
-        "postcss-discard-comments": "^7.0.4",
-        "postcss-discard-duplicates": "^7.0.2",
-        "postcss-discard-empty": "^7.0.1",
-        "postcss-discard-overridden": "^7.0.1",
-        "postcss-merge-longhand": "^7.0.5",
-        "postcss-merge-rules": "^7.0.5",
-        "postcss-minify-font-values": "^7.0.1",
-        "postcss-minify-gradients": "^7.0.1",
-        "postcss-minify-params": "^7.0.3",
-        "postcss-minify-selectors": "^7.0.5",
-        "postcss-normalize-charset": "^7.0.1",
-        "postcss-normalize-display-values": "^7.0.1",
-        "postcss-normalize-positions": "^7.0.1",
-        "postcss-normalize-repeat-style": "^7.0.1",
-        "postcss-normalize-string": "^7.0.1",
-        "postcss-normalize-timing-functions": "^7.0.1",
-        "postcss-normalize-unicode": "^7.0.3",
-        "postcss-normalize-url": "^7.0.1",
-        "postcss-normalize-whitespace": "^7.0.1",
-        "postcss-ordered-values": "^7.0.2",
-        "postcss-reduce-initial": "^7.0.3",
-        "postcss-reduce-transforms": "^7.0.1",
-        "postcss-svgo": "^7.0.2",
-        "postcss-unique-selectors": "^7.0.4"
-      },
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
-      }
-    },
-    "node_modules/cssnano-utils": {
-      "version": "5.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
-      }
-    },
-    "node_modules/csso": {
-      "version": "5.0.5",
-      "license": "MIT",
-      "dependencies": {
-        "css-tree": "~2.2.0"
-      },
-      "engines": {
-        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
-        "npm": ">=7.0.0"
-      }
-    },
-    "node_modules/csso/node_modules/css-tree": {
-      "version": "2.2.1",
-      "license": "MIT",
-      "dependencies": {
-        "mdn-data": "2.0.28",
-        "source-map-js": "^1.0.1"
-      },
-      "engines": {
-        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
-        "npm": ">=7.0.0"
-      }
-    },
-    "node_modules/csso/node_modules/mdn-data": {
-      "version": "2.0.28",
-      "license": "CC0-1.0"
-    },
-    "node_modules/cssstyle": {
-      "version": "4.4.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@asamuzakjp/css-color": "^3.2.0",
-        "rrweb-cssom": "^0.8.0"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/cssstyle/node_modules/rrweb-cssom": {
-      "version": "0.8.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/csstype": {
-      "version": "3.1.3",
-      "license": "MIT"
-    },
-    "node_modules/cytoscape": {
-      "version": "3.32.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10"
-      }
-    },
-    "node_modules/cytoscape-cose-bilkent": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cose-base": "^1.0.0"
-      },
-      "peerDependencies": {
-        "cytoscape": "^3.2.0"
-      }
-    },
-    "node_modules/cytoscape-fcose": {
-      "version": "2.2.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cose-base": "^2.2.0"
-      },
-      "peerDependencies": {
-        "cytoscape": "^3.2.0"
-      }
-    },
-    "node_modules/cytoscape-fcose/node_modules/cose-base": {
-      "version": "2.2.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "layout-base": "^2.0.0"
-      }
-    },
-    "node_modules/cytoscape-fcose/node_modules/layout-base": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/d3": {
-      "version": "7.9.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-array": "3",
-        "d3-axis": "3",
-        "d3-brush": "3",
-        "d3-chord": "3",
-        "d3-color": "3",
-        "d3-contour": "4",
-        "d3-delaunay": "6",
-        "d3-dispatch": "3",
-        "d3-drag": "3",
-        "d3-dsv": "3",
-        "d3-ease": "3",
-        "d3-fetch": "3",
-        "d3-force": "3",
-        "d3-format": "3",
-        "d3-geo": "3",
-        "d3-hierarchy": "3",
-        "d3-interpolate": "3",
-        "d3-path": "3",
-        "d3-polygon": "3",
-        "d3-quadtree": "3",
-        "d3-random": "3",
-        "d3-scale": "4",
-        "d3-scale-chromatic": "3",
-        "d3-selection": "3",
-        "d3-shape": "3",
-        "d3-time": "3",
-        "d3-time-format": "4",
-        "d3-timer": "3",
-        "d3-transition": "3",
-        "d3-zoom": "3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-array": {
-      "version": "3.2.4",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "internmap": "1 - 2"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-axis": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-brush": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-dispatch": "1 - 3",
-        "d3-drag": "2 - 3",
-        "d3-interpolate": "1 - 3",
-        "d3-selection": "3",
-        "d3-transition": "3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-chord": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-path": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-color": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-contour": {
-      "version": "4.0.2",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-array": "^3.2.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-delaunay": {
-      "version": "6.0.4",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "delaunator": "5"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-dispatch": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-drag": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-dispatch": "1 - 3",
-        "d3-selection": "3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-dsv": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "commander": "7",
-        "iconv-lite": "0.6",
-        "rw": "1"
-      },
-      "bin": {
-        "csv2json": "bin/dsv2json.js",
-        "csv2tsv": "bin/dsv2dsv.js",
-        "dsv2dsv": "bin/dsv2dsv.js",
-        "dsv2json": "bin/dsv2json.js",
-        "json2csv": "bin/json2dsv.js",
-        "json2dsv": "bin/json2dsv.js",
-        "json2tsv": "bin/json2dsv.js",
-        "tsv2csv": "bin/dsv2dsv.js",
-        "tsv2json": "bin/dsv2json.js"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-dsv/node_modules/commander": {
-      "version": "7.2.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/d3-dsv/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/d3-ease": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-fetch": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-dsv": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-force": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-dispatch": "1 - 3",
-        "d3-quadtree": "1 - 3",
-        "d3-timer": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-format": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-geo": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-array": "2.5.0 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-hierarchy": {
-      "version": "3.1.2",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-interpolate": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-color": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-path": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-polygon": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-quadtree": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-random": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-sankey": {
-      "version": "0.12.3",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "d3-array": "1 - 2",
-        "d3-shape": "^1.2.0"
-      }
-    },
-    "node_modules/d3-sankey/node_modules/d3-array": {
-      "version": "2.12.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "internmap": "^1.0.0"
-      }
-    },
-    "node_modules/d3-sankey/node_modules/d3-path": {
-      "version": "1.0.9",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/d3-sankey/node_modules/d3-shape": {
-      "version": "1.3.7",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "d3-path": "1"
-      }
-    },
-    "node_modules/d3-sankey/node_modules/internmap": {
-      "version": "1.0.1",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/d3-scale": {
-      "version": "4.0.2",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-array": "2.10.0 - 3",
-        "d3-format": "1 - 3",
-        "d3-interpolate": "1.2.0 - 3",
-        "d3-time": "2.1.1 - 3",
-        "d3-time-format": "2 - 4"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-scale-chromatic": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-color": "1 - 3",
-        "d3-interpolate": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-selection": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-shape": {
-      "version": "3.2.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-path": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-time": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-array": "2 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-time-format": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-time": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-timer": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/d3-transition": {
-      "version": "3.0.1",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-color": "1 - 3",
-        "d3-dispatch": "1 - 3",
-        "d3-ease": "1 - 3",
-        "d3-interpolate": "1 - 3",
-        "d3-timer": "1 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "peerDependencies": {
-        "d3-selection": "2 - 3"
-      }
-    },
-    "node_modules/d3-zoom": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "d3-dispatch": "1 - 3",
-        "d3-drag": "2 - 3",
-        "d3-interpolate": "1 - 3",
-        "d3-selection": "2 - 3",
-        "d3-transition": "2 - 3"
-      },
-      "engines": {
-        "node": ">=12"
-      }
-    },
-    "node_modules/dagre-d3-es": {
-      "version": "7.0.11",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "d3": "^7.9.0",
-        "lodash-es": "^4.17.21"
-      }
-    },
-    "node_modules/data-uri-to-buffer": {
-      "version": "4.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 12"
-      }
-    },
-    "node_modules/data-urls": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "whatwg-mimetype": "^4.0.0",
-        "whatwg-url": "^14.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/data-view-buffer": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3",
-        "es-errors": "^1.3.0",
-        "is-data-view": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/data-view-byte-length": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3",
-        "es-errors": "^1.3.0",
-        "is-data-view": "^1.0.2"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/inspect-js"
-      }
-    },
-    "node_modules/data-view-byte-offset": {
-      "version": "1.0.1",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.2",
-        "es-errors": "^1.3.0",
-        "is-data-view": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/date-fns": {
-      "version": "4.1.0",
-      "license": "MIT",
-      "peer": true,
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/kossnocorp"
-      }
-    },
-    "node_modules/dayjs": {
-      "version": "1.11.13",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/db0": {
-      "version": "0.3.2",
-      "license": "MIT",
-      "peerDependencies": {
-        "@electric-sql/pglite": "*",
-        "@libsql/client": "*",
-        "better-sqlite3": "*",
-        "drizzle-orm": "*",
-        "mysql2": "*",
-        "sqlite3": "*"
-      },
-      "peerDependenciesMeta": {
-        "@electric-sql/pglite": {
-          "optional": true
-        },
-        "@libsql/client": {
-          "optional": true
-        },
-        "better-sqlite3": {
-          "optional": true
-        },
-        "drizzle-orm": {
-          "optional": true
-        },
-        "mysql2": {
-          "optional": true
-        },
-        "sqlite3": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/de-indent": {
-      "version": "1.0.2",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/debug": {
-      "version": "4.4.1",
-      "license": "MIT",
-      "dependencies": {
-        "ms": "^2.1.3"
-      },
-      "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/decache": {
-      "version": "4.6.2",
-      "license": "MIT",
-      "dependencies": {
-        "callsite": "^1.0.0"
-      }
-    },
-    "node_modules/decamelize": {
-      "version": "6.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/decimal.js": {
-      "version": "10.5.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/decode-uri-component": {
-      "version": "0.4.1",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=14.16"
-      }
-    },
-    "node_modules/decompress-response": {
-      "version": "6.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "mimic-response": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/decompress-response/node_modules/mimic-response": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/dedent": {
-      "version": "1.6.0",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "babel-plugin-macros": "^3.1.0"
-      },
-      "peerDependenciesMeta": {
-        "babel-plugin-macros": {
-          "optional": true
-        }
-      }
-    },
-    "node_modules/deep-eql": {
-      "version": "5.0.2",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/deep-is": {
-      "version": "0.1.4",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/deepmerge": {
-      "version": "4.3.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/deepmerge-ts": {
-      "version": "7.1.5",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=16.0.0"
-      }
-    },
-    "node_modules/default-browser": {
-      "version": "5.2.1",
+    "node_modules/@shikijs/core": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.5.0.tgz",
+      "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "bundle-name": "^4.1.0",
-        "default-browser-id": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@shikijs/engine-javascript": "2.5.0",
+        "@shikijs/engine-oniguruma": "2.5.0",
+        "@shikijs/types": "2.5.0",
+        "@shikijs/vscode-textmate": "^10.0.2",
+        "@types/hast": "^3.0.4",
+        "hast-util-to-html": "^9.0.4"
       }
     },
-    "node_modules/default-browser-id": {
-      "version": "5.0.0",
+    "node_modules/@shikijs/engine-javascript": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz",
+      "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "@shikijs/types": "2.5.0",
+        "@shikijs/vscode-textmate": "^10.0.2",
+        "oniguruma-to-es": "^3.1.0"
       }
     },
-    "node_modules/defaults": {
-      "version": "1.0.4",
+    "node_modules/@shikijs/engine-oniguruma": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz",
+      "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "clone": "^1.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@shikijs/types": "2.5.0",
+        "@shikijs/vscode-textmate": "^10.0.2"
       }
     },
-    "node_modules/defer-to-connect": {
-      "version": "2.0.1",
+    "node_modules/@shikijs/langs": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-2.5.0.tgz",
+      "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "@shikijs/types": "2.5.0"
       }
     },
-    "node_modules/define-data-property": {
-      "version": "1.1.4",
+    "node_modules/@shikijs/themes": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-2.5.0.tgz",
+      "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "es-define-property": "^1.0.0",
-        "es-errors": "^1.3.0",
-        "gopd": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "@shikijs/types": "2.5.0"
       }
     },
-    "node_modules/define-lazy-prop": {
-      "version": "3.0.0",
+    "node_modules/@shikijs/transformers": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/transformers/-/transformers-2.5.0.tgz",
+      "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "@shikijs/core": "2.5.0",
+        "@shikijs/types": "2.5.0"
       }
     },
-    "node_modules/define-properties": {
-      "version": "1.2.1",
+    "node_modules/@shikijs/types": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-2.5.0.tgz",
+      "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "define-data-property": "^1.0.1",
-        "has-property-descriptors": "^1.0.0",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "@shikijs/vscode-textmate": "^10.0.2",
+        "@types/hast": "^3.0.4"
       }
     },
-    "node_modules/defu": {
-      "version": "6.1.4",
+    "node_modules/@shikijs/vscode-textmate": {
+      "version": "10.0.2",
+      "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz",
+      "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/degenerator": {
-      "version": "5.0.1",
+    "node_modules/@sigstore/bundle": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-4.0.0.tgz",
+      "integrity": "sha512-NwCl5Y0V6Di0NexvkTqdoVfmjTaQwoLM236r89KEojGmq/jMls8S+zb7yOwAPdXvbwfKDlP+lmXgAL4vKSQT+A==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "dependencies": {
-        "ast-types": "^0.13.4",
-        "escodegen": "^2.1.0",
-        "esprima": "^4.0.1"
+        "@sigstore/protobuf-specs": "^0.5.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/delaunator": {
-      "version": "5.0.1",
+    "node_modules/@sigstore/core": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-3.1.0.tgz",
+      "integrity": "sha512-o5cw1QYhNQ9IroioJxpzexmPjfCe7gzafd2RY3qnMpxr4ZEja+Jad/U8sgFpaue6bOaF+z7RVkyKVV44FN+N8A==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "robust-predicates": "^3.0.2"
+      "license": "Apache-2.0",
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/delayed-stream": {
-      "version": "1.0.0",
+    "node_modules/@sigstore/protobuf-specs": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.5.0.tgz",
+      "integrity": "sha512-MM8XIwUjN2bwvCg1QvrMtbBmpcSHrkhFSCu1D11NyPvDQ25HEc4oG5/OcQfd/Tlf/OxmKWERDj0zGE23jQaMwA==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=0.4.0"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/denque": {
-      "version": "2.1.0",
+    "node_modules/@sigstore/sign": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-4.1.0.tgz",
+      "integrity": "sha512-Vx1RmLxLGnSUqx/o5/VsCjkuN5L7y+vxEEwawvc7u+6WtX2W4GNa7b9HEjmcRWohw/d6BpATXmvOwc78m+Swdg==",
+      "dev": true,
       "license": "Apache-2.0",
+      "dependencies": {
+        "@sigstore/bundle": "^4.0.0",
+        "@sigstore/core": "^3.1.0",
+        "@sigstore/protobuf-specs": "^0.5.0",
+        "make-fetch-happen": "^15.0.3",
+        "proc-log": "^6.1.0",
+        "promise-retry": "^2.0.1"
+      },
       "engines": {
-        "node": ">=0.10"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/depd": {
-      "version": "2.0.0",
-      "license": "MIT",
+    "node_modules/@sigstore/tuf": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-4.0.1.tgz",
+      "integrity": "sha512-OPZBg8y5Vc9yZjmWCHrlWPMBqW5yd8+wFNl+thMdtcWz3vjVSoJQutF8YkrzI0SLGnkuFof4HSsWUhXrf219Lw==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@sigstore/protobuf-specs": "^0.5.0",
+        "tuf-js": "^4.1.0"
+      },
       "engines": {
-        "node": ">= 0.8"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/dependency-graph": {
-      "version": "1.0.0",
+    "node_modules/@sigstore/verify": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-3.1.0.tgz",
+      "integrity": "sha512-mNe0Iigql08YupSOGv197YdHpPPr+EzDZmfCgMc7RPNaZTw5aLN01nBl6CHJOh3BGtnMIj83EeN4butBchc8Ag==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@sigstore/bundle": "^4.0.0",
+        "@sigstore/core": "^3.1.0",
+        "@sigstore/protobuf-specs": "^0.5.0"
+      },
       "engines": {
-        "node": ">=4"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/deprecation": {
-      "version": "2.3.1",
+    "node_modules/@sinclair/typebox": {
+      "version": "0.27.8",
+      "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+      "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
       "dev": true,
-      "license": "ISC"
+      "license": "MIT"
     },
-    "node_modules/dequal": {
-      "version": "2.0.3",
-      "dev": true,
+    "node_modules/@sindresorhus/is": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-7.2.0.tgz",
+      "integrity": "sha512-P1Cz1dWaFfR4IR+U13mqqiGsLFf1KbayybWwdd2vfctdV6hDpUkgCY0nKOLLTMSoRd/jJNjtbqzf13K8DCCXQw==",
       "license": "MIT",
       "engines": {
-        "node": ">=6"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/is?sponsor=1"
       }
     },
-    "node_modules/destr": {
-      "version": "2.0.5",
-      "license": "MIT"
-    },
-    "node_modules/destroy": {
-      "version": "1.2.0",
-      "dev": true,
+    "node_modules/@sindresorhus/merge-streams": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz",
+      "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==",
       "license": "MIT",
       "engines": {
-        "node": ">= 0.8",
-        "npm": "1.2.8000 || >= 1.4.16"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detect-libc": {
-      "version": "2.0.4",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=8"
+    "node_modules/@sinonjs/commons": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+      "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "type-detect": "4.0.8"
       }
     },
-    "node_modules/detect-newline": {
-      "version": "3.1.0",
+    "node_modules/@sinonjs/fake-timers": {
+      "version": "10.3.0",
+      "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+      "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "@sinonjs/commons": "^3.0.0"
+      }
+    },
+    "node_modules/@six-group/demo-app-angular": {
+      "resolved": "examples/angular",
+      "link": true
+    },
+    "node_modules/@six-group/demo-app-react": {
+      "resolved": "examples/react",
+      "link": true
+    },
+    "node_modules/@six-group/demo-app-vue": {
+      "resolved": "examples/vue",
+      "link": true
+    },
+    "node_modules/@six-group/ui-library": {
+      "resolved": "libraries/ui-library",
+      "link": true
+    },
+    "node_modules/@six-group/ui-library-angular": {
+      "resolved": "libraries/ui-library-angular",
+      "link": true
+    },
+    "node_modules/@six-group/ui-library-js-app": {
+      "resolved": "examples/js",
+      "link": true
+    },
+    "node_modules/@six-group/ui-library-react": {
+      "resolved": "libraries/ui-library-react",
+      "link": true
+    },
+    "node_modules/@six-group/ui-library-vue": {
+      "resolved": "libraries/ui-library-vue",
+      "link": true
+    },
+    "node_modules/@speed-highlight/core": {
+      "version": "1.2.14",
+      "resolved": "https://registry.npmjs.org/@speed-highlight/core/-/core-1.2.14.tgz",
+      "integrity": "sha512-G4ewlBNhUtlLvrJTb88d2mdy2KRijzs4UhnlrOSRT4bmjh/IqNElZa3zkrZ+TC47TwtlDWzVLFADljF1Ijp5hA==",
+      "license": "CC0-1.0"
+    },
+    "node_modules/@standard-schema/spec": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
+      "integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
+      "license": "MIT"
+    },
+    "node_modules/@stencil-community/eslint-plugin": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/@stencil-community/eslint-plugin/-/eslint-plugin-0.10.0.tgz",
+      "integrity": "sha512-KLx/NrZN80zNcNyWa6wGgUTL7ucD+57vGYqcmzSpVudoWNmhG8zYi+HteF1s+RZ5bJRZe4b/k81UFDEP24PGkg==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "eslint-utils": "^3.0.0",
+        "jsdom": "^25.0.0",
+        "tsutils": "^3.21.0"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=18.0.0"
+      },
+      "peerDependencies": {
+        "@typescript-eslint/eslint-plugin": "^7.0.0 || ^8.0.0",
+        "@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
+        "eslint": "^8.0.0 || ^9.0.0",
+        "eslint-plugin-react": "^7.0.0",
+        "typescript": "^4.9.4 || ^5.0.0"
       }
     },
-    "node_modules/detect-node": {
-      "version": "2.1.0",
+    "node_modules/@stencil/angular-output-target": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/@stencil/angular-output-target/-/angular-output-target-1.2.0.tgz",
+      "integrity": "sha512-ftaQJnUkTwwZQtXgN+yTl3PY7cr6Kpy1WV4Uc2ZsEJIKQDH5ul0n9YwbXAU/W6Rt3GlqgzL4oA4Yyngpte2dgQ==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "peerDependencies": {
+        "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0"
+      }
     },
-    "node_modules/detective-amd": {
-      "version": "6.0.1",
+    "node_modules/@stencil/core": {
+      "version": "4.41.1",
+      "resolved": "https://registry.npmjs.org/@stencil/core/-/core-4.41.1.tgz",
+      "integrity": "sha512-dX9o15OFnvXkg7eiquu5py2CPePJsduRVHmJvU3wbn3bpzjj08+Fc64lVQzTADqVKEsNvwQpyXjmWSS7iKgaBQ==",
       "license": "MIT",
-      "dependencies": {
-        "ast-module-types": "^6.0.1",
-        "escodegen": "^2.1.0",
-        "get-amd-module-type": "^6.0.1",
-        "node-source-walk": "^7.0.1"
-      },
+      "peer": true,
       "bin": {
-        "detective-amd": "bin/cli.js"
+        "stencil": "bin/stencil"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=16.0.0",
+        "npm": ">=7.10.0"
+      },
+      "optionalDependencies": {
+        "@rollup/rollup-darwin-arm64": "4.34.9",
+        "@rollup/rollup-darwin-x64": "4.34.9",
+        "@rollup/rollup-linux-arm64-gnu": "4.34.9",
+        "@rollup/rollup-linux-arm64-musl": "4.34.9",
+        "@rollup/rollup-linux-x64-gnu": "4.34.9",
+        "@rollup/rollup-linux-x64-musl": "4.34.9",
+        "@rollup/rollup-win32-arm64-msvc": "4.34.9",
+        "@rollup/rollup-win32-x64-msvc": "4.34.9"
       }
     },
-    "node_modules/detective-cjs": {
-      "version": "6.0.1",
+    "node_modules/@stencil/core/node_modules/@rollup/rollup-linux-x64-gnu": {
+      "version": "4.34.9",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.9.tgz",
+      "integrity": "sha512-FwBHNSOjUTQLP4MG7y6rR6qbGw4MFeQnIBrMe161QGaQoBQLqSUEKlHIiVgF3g/mb3lxlxzJOpIBhaP+C+KP2A==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/@stencil/playwright": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/@stencil/playwright/-/playwright-0.2.1.tgz",
+      "integrity": "sha512-SMZpS7OGV3IfCie49Lcb31VexsgXxuPUS19r+T20Ru1t2ahhGBmsRYnYYZEFwlDFO9+6R8gqpomZ+obSB7A1KQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ast-module-types": "^6.0.1",
-        "node-source-walk": "^7.0.1"
+        "deepmerge": "^4.3.1",
+        "find-up": "^7.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=12.0.0",
+        "npm": ">=6.0.0"
+      },
+      "peerDependencies": {
+        "@playwright/test": ">=1.41.2",
+        "@stencil/core": ">=4.13.0"
       }
     },
-    "node_modules/detective-es6": {
-      "version": "5.0.1",
+    "node_modules/@stencil/playwright/node_modules/find-up": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-7.0.0.tgz",
+      "integrity": "sha512-YyZM99iHrqLKjmt4LJDj58KI+fYyufRLBSYcqycxf//KpBk9FoewoGX0450m9nB44qrZnovzC2oeP5hUibxc/g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "node-source-walk": "^7.0.1"
+        "locate-path": "^7.2.0",
+        "path-exists": "^5.0.0",
+        "unicorn-magic": "^0.1.0"
       },
       "engines": {
         "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-postcss": {
-      "version": "7.0.1",
+    "node_modules/@stencil/playwright/node_modules/locate-path": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz",
+      "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-url": "^1.2.4",
-        "postcss-values-parser": "^6.0.2"
+        "p-locate": "^6.0.0"
       },
       "engines": {
-        "node": "^14.0.0 || >=16.0.0"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.47"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-sass": {
-      "version": "6.0.1",
+    "node_modules/@stencil/playwright/node_modules/p-limit": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz",
+      "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "gonzales-pe": "^4.3.0",
-        "node-source-walk": "^7.0.1"
+        "yocto-queue": "^1.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-scss": {
-      "version": "5.0.1",
+    "node_modules/@stencil/playwright/node_modules/p-locate": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz",
+      "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "gonzales-pe": "^4.3.0",
-        "node-source-walk": "^7.0.1"
+        "p-limit": "^4.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-stylus": {
-      "version": "5.0.1",
+    "node_modules/@stencil/playwright/node_modules/path-exists": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz",
+      "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       }
     },
-    "node_modules/detective-typescript": {
-      "version": "14.0.0",
+    "node_modules/@stencil/playwright/node_modules/unicorn-magic": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@typescript-eslint/typescript-estree": "^8.23.0",
-        "ast-module-types": "^6.0.1",
-        "node-source-walk": "^7.0.1"
-      },
       "engines": {
         "node": ">=18"
       },
-      "peerDependencies": {
-        "typescript": "^5.4.4"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-typescript/node_modules/@typescript-eslint/types": {
-      "version": "8.34.0",
+    "node_modules/@stencil/playwright/node_modules/yocto-queue": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.2.tgz",
+      "integrity": "sha512-4LCcse/U2MHZ63HAJVE+v71o7yOdIe4cZ70Wpf8D/IyjDKYQLV5GD46B+hSTjJsvV5PztjvHoU580EftxjDZFQ==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+        "node": ">=12.20"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/detective-typescript/node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.34.0",
+    "node_modules/@stencil/react-output-target": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/@stencil/react-output-target/-/react-output-target-1.4.0.tgz",
+      "integrity": "sha512-7ucOcQMCe3pNMeOhL3vpd+TmUB97qSQsoW4xnY8Z+3wQRW3FXMbKB5FNMfm8GAY2h4Ln8fZ426AG0LCZ3uwKIw==",
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.34.0",
-        "@typescript-eslint/tsconfig-utils": "8.34.0",
-        "@typescript-eslint/types": "8.34.0",
-        "@typescript-eslint/visitor-keys": "8.34.0",
-        "debug": "^4.3.4",
-        "fast-glob": "^3.3.2",
-        "is-glob": "^4.0.3",
-        "minimatch": "^9.0.4",
-        "semver": "^7.6.0",
-        "ts-api-utils": "^2.1.0"
-      },
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+        "@lit/react": "^1.0.7",
+        "html-react-parser": "^5.2.2",
+        "react-style-stringify": "^1.2.0",
+        "ts-morph": "^22.0.0"
       },
       "peerDependencies": {
-        "typescript": ">=4.8.4 <5.9.0"
+        "@stencil/core": ">=3 || >= 4.0.0-beta.0 || >= 4.0.0",
+        "react": "^18 || ^19",
+        "react-dom": "^18 || ^19"
+      },
+      "peerDependenciesMeta": {
+        "@stencil/core": {
+          "optional": false
+        },
+        "react": {
+          "optional": false
+        },
+        "react-dom": {
+          "optional": false
+        }
       }
     },
-    "node_modules/detective-typescript/node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.34.0",
+    "node_modules/@stencil/sass": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/@stencil/sass/-/sass-3.2.3.tgz",
+      "integrity": "sha512-Wru76NJqa6D79/fDjSuiXoe2U0Ky1j7LLycqn7DV0jCmVO3tiWqXHBUPg0gMXJtxEiIbIJeiH/VpKhjNrBIUkQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.34.0",
-        "eslint-visitor-keys": "^4.2.0"
+        "sass-embedded": "^1.89.2"
       },
       "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+        "node": ">=12.0.0",
+        "npm": ">=6.0.0"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/typescript-eslint"
+      "peerDependencies": {
+        "@stencil/core": ">=2.0.0 || >=3.0.0-beta.0 || >= 4.0.0-beta.0 || >= 4.0.0"
       }
     },
-    "node_modules/detective-typescript/node_modules/brace-expansion": {
-      "version": "2.0.2",
+    "node_modules/@stencil/vue-output-target": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/@stencil/vue-output-target/-/vue-output-target-0.12.0.tgz",
+      "integrity": "sha512-pb7/iHi80RC3k5EJ9ETDhbcad94SYTDFPF1uVA9Zrk2e7TQhQ/CxrZDadLuMwoyDPWSdf/sejuzrsM8ObPhaPg==",
+      "dev": true,
+      "license": "MIT",
+      "peerDependencies": {
+        "@stencil/core": ">=2.0.0 || >=3 || >= 4.0.0-beta.0 || >= 4.0.0",
+        "vue": "^3.4.38",
+        "vue-router": "^4.5.0"
+      },
+      "peerDependenciesMeta": {
+        "@stencil/core": {
+          "optional": true
+        },
+        "vue": {
+          "optional": false
+        },
+        "vue-router": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@tootallnate/quickjs-emscripten": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+      "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@ts-morph/common": {
+      "version": "0.23.0",
+      "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.23.0.tgz",
+      "integrity": "sha512-m7Lllj9n/S6sOkCkRftpM7L24uvmfXQFedlW/4hENcuJH1HHm9u5EgxZb9uVjQSCGrbBWBkOGgcTxNg36r6ywA==",
       "license": "MIT",
       "dependencies": {
-        "balanced-match": "^1.0.0"
+        "fast-glob": "^3.3.2",
+        "minimatch": "^9.0.3",
+        "mkdirp": "^3.0.1",
+        "path-browserify": "^1.0.1"
       }
     },
-    "node_modules/detective-typescript/node_modules/eslint-visitor-keys": {
-      "version": "4.2.1",
-      "license": "Apache-2.0",
-      "engines": {
-        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+    "node_modules/@ts-morph/common/node_modules/brace-expansion": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+      "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+      "license": "MIT",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
       }
     },
-    "node_modules/detective-typescript/node_modules/minimatch": {
+    "node_modules/@ts-morph/common/node_modules/minimatch": {
       "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
       "license": "ISC",
       "dependencies": {
         "brace-expansion": "^2.0.1"
@@ -15867,1807 +9366,2208 @@
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/detective-typescript/node_modules/ts-api-utils": {
-      "version": "2.1.0",
+    "node_modules/@tsconfig/node24": {
+      "version": "24.0.4",
+      "resolved": "https://registry.npmjs.org/@tsconfig/node24/-/node24-24.0.4.tgz",
+      "integrity": "sha512-2A933l5P5oCbv6qSxHs7ckKwobs8BDAe9SJ/Xr2Hy+nDlwmLE1GhFh/g/vXGRZWgxBg9nX/5piDtHR9Dkw/XuA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@tufjs/canonical-json": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz",
+      "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18.12"
+        "node": "^16.14.0 || >=18.0.0"
+      }
+    },
+    "node_modules/@tufjs/models": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-4.1.0.tgz",
+      "integrity": "sha512-Y8cK9aggNRsqJVaKUlEYs4s7CvQ1b1ta2DVPyAimb0I2qhzjNk+A+mxvll/klL0RlfuIUei8BF7YWiua4kQqww==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@tufjs/canonical-json": "2.0.0",
+        "minimatch": "^10.1.1"
       },
-      "peerDependencies": {
-        "typescript": ">=4.8.4"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
+      }
+    },
+    "node_modules/@tufjs/models/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+      "dev": true,
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "@isaacs/brace-expansion": "^5.0.0"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
+      }
+    },
+    "node_modules/@tybys/wasm-util": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz",
+      "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==",
+      "license": "MIT",
+      "optional": true,
+      "dependencies": {
+        "tslib": "^2.4.0"
+      }
+    },
+    "node_modules/@types/babel__core": {
+      "version": "7.20.5",
+      "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+      "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/parser": "^7.20.7",
+        "@babel/types": "^7.20.7",
+        "@types/babel__generator": "*",
+        "@types/babel__template": "*",
+        "@types/babel__traverse": "*"
+      }
+    },
+    "node_modules/@types/babel__generator": {
+      "version": "7.27.0",
+      "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+      "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@babel/types": "^7.0.0"
       }
     },
-    "node_modules/detective-vue2": {
-      "version": "2.2.0",
+    "node_modules/@types/babel__template": {
+      "version": "7.4.4",
+      "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+      "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@dependents/detective-less": "^5.0.1",
-        "@vue/compiler-sfc": "^3.5.13",
-        "detective-es6": "^5.0.1",
-        "detective-sass": "^6.0.1",
-        "detective-scss": "^5.0.1",
-        "detective-stylus": "^5.0.1",
-        "detective-typescript": "^14.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "typescript": "^5.4.4"
+        "@babel/parser": "^7.1.0",
+        "@babel/types": "^7.0.0"
       }
     },
-    "node_modules/devalue": {
-      "version": "5.3.2",
-      "license": "MIT"
-    },
-    "node_modules/devlop": {
-      "version": "1.1.0",
+    "node_modules/@types/babel__traverse": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz",
+      "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "dequal": "^2.0.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+        "@babel/types": "^7.28.2"
       }
     },
-    "node_modules/devtools-protocol": {
-      "version": "0.0.1400418",
+    "node_modules/@types/d3": {
+      "version": "7.4.3",
+      "resolved": "https://registry.npmjs.org/@types/d3/-/d3-7.4.3.tgz",
+      "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==",
       "dev": true,
-      "license": "BSD-3-Clause"
+      "license": "MIT",
+      "dependencies": {
+        "@types/d3-array": "*",
+        "@types/d3-axis": "*",
+        "@types/d3-brush": "*",
+        "@types/d3-chord": "*",
+        "@types/d3-color": "*",
+        "@types/d3-contour": "*",
+        "@types/d3-delaunay": "*",
+        "@types/d3-dispatch": "*",
+        "@types/d3-drag": "*",
+        "@types/d3-dsv": "*",
+        "@types/d3-ease": "*",
+        "@types/d3-fetch": "*",
+        "@types/d3-force": "*",
+        "@types/d3-format": "*",
+        "@types/d3-geo": "*",
+        "@types/d3-hierarchy": "*",
+        "@types/d3-interpolate": "*",
+        "@types/d3-path": "*",
+        "@types/d3-polygon": "*",
+        "@types/d3-quadtree": "*",
+        "@types/d3-random": "*",
+        "@types/d3-scale": "*",
+        "@types/d3-scale-chromatic": "*",
+        "@types/d3-selection": "*",
+        "@types/d3-shape": "*",
+        "@types/d3-time": "*",
+        "@types/d3-time-format": "*",
+        "@types/d3-timer": "*",
+        "@types/d3-transition": "*",
+        "@types/d3-zoom": "*"
+      }
     },
-    "node_modules/diff": {
-      "version": "7.0.0",
+    "node_modules/@types/d3-array": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.2.tgz",
+      "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==",
       "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=0.3.1"
-      }
+      "license": "MIT"
     },
-    "node_modules/diff-sequences": {
-      "version": "29.6.3",
+    "node_modules/@types/d3-axis": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/@types/d3-axis/-/d3-axis-3.0.6.tgz",
+      "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      "dependencies": {
+        "@types/d3-selection": "*"
       }
     },
-    "node_modules/dir-glob": {
-      "version": "3.0.1",
+    "node_modules/@types/d3-brush": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/@types/d3-brush/-/d3-brush-3.0.6.tgz",
+      "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "path-type": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "@types/d3-selection": "*"
       }
     },
-    "node_modules/dir-glob/node_modules/path-type": {
-      "version": "4.0.0",
+    "node_modules/@types/d3-chord": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/@types/d3-chord/-/d3-chord-3.0.6.tgz",
+      "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-color": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz",
+      "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/dns-packet": {
-      "version": "5.6.1",
+    "node_modules/@types/d3-contour": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/@types/d3-contour/-/d3-contour-3.0.6.tgz",
+      "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@leichtgewicht/ip-codec": "^2.0.1"
-      },
-      "engines": {
-        "node": ">=6"
+        "@types/d3-array": "*",
+        "@types/geojson": "*"
       }
     },
-    "node_modules/docs": {
-      "resolved": "docs",
-      "link": true
+    "node_modules/@types/d3-delaunay": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+      "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/doctrine": {
-      "version": "3.0.0",
-      "devOptional": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "esutils": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=6.0.0"
-      }
+    "node_modules/@types/d3-dispatch": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz",
+      "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/dom-serializer": {
-      "version": "2.0.0",
+    "node_modules/@types/d3-drag": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/@types/d3-drag/-/d3-drag-3.0.7.tgz",
+      "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.2",
-        "entities": "^4.2.0"
-      },
-      "funding": {
-        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+        "@types/d3-selection": "*"
       }
     },
-    "node_modules/domelementtype": {
-      "version": "2.3.0",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ],
-      "license": "BSD-2-Clause"
+    "node_modules/@types/d3-dsv": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/@types/d3-dsv/-/d3-dsv-3.0.7.tgz",
+      "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/domhandler": {
-      "version": "5.0.3",
-      "license": "BSD-2-Clause",
+    "node_modules/@types/d3-ease": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz",
+      "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-fetch": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/@types/d3-fetch/-/d3-fetch-3.0.7.tgz",
+      "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "domelementtype": "^2.3.0"
-      },
-      "engines": {
-        "node": ">= 4"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/domhandler?sponsor=1"
+        "@types/d3-dsv": "*"
       }
     },
-    "node_modules/dompurify": {
-      "version": "3.2.6",
+    "node_modules/@types/d3-force": {
+      "version": "3.0.10",
+      "resolved": "https://registry.npmjs.org/@types/d3-force/-/d3-force-3.0.10.tgz",
+      "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==",
       "dev": true,
-      "license": "(MPL-2.0 OR Apache-2.0)",
-      "optionalDependencies": {
-        "@types/trusted-types": "^2.0.7"
-      }
+      "license": "MIT"
     },
-    "node_modules/domutils": {
-      "version": "3.2.2",
-      "license": "BSD-2-Clause",
+    "node_modules/@types/d3-format": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-3.0.4.tgz",
+      "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-geo": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-geo/-/d3-geo-3.1.0.tgz",
+      "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "dom-serializer": "^2.0.0",
-        "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.3"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/domutils?sponsor=1"
+        "@types/geojson": "*"
       }
     },
-    "node_modules/dot-prop": {
-      "version": "9.0.0",
+    "node_modules/@types/d3-hierarchy": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz",
+      "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-interpolate": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz",
+      "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "type-fest": "^4.18.2"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@types/d3-color": "*"
       }
     },
-    "node_modules/dot-prop/node_modules/type-fest": {
-      "version": "4.41.0",
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+    "node_modules/@types/d3-path": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.1.tgz",
+      "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/dotenv": {
-      "version": "16.5.0",
-      "license": "BSD-2-Clause",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://dotenvx.com"
-      }
+    "node_modules/@types/d3-polygon": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-polygon/-/d3-polygon-3.0.2.tgz",
+      "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==",
+      "dev": true,
+      "license": "MIT"
     },
-    "node_modules/dunder-proto": {
-      "version": "1.0.1",
+    "node_modules/@types/d3-quadtree": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz",
+      "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-random": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/d3-random/-/d3-random-3.0.3.tgz",
+      "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-scale": {
+      "version": "4.0.9",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.9.tgz",
+      "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "call-bind-apply-helpers": "^1.0.1",
-        "es-errors": "^1.3.0",
-        "gopd": "^1.2.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
+        "@types/d3-time": "*"
       }
     },
-    "node_modules/duplexer": {
-      "version": "0.1.2",
+    "node_modules/@types/d3-scale-chromatic": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+      "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/duplexer2": {
-      "version": "0.1.4",
+    "node_modules/@types/d3-selection": {
+      "version": "3.0.11",
+      "resolved": "https://registry.npmjs.org/@types/d3-selection/-/d3-selection-3.0.11.tgz",
+      "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-shape": {
+      "version": "3.1.8",
+      "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.8.tgz",
+      "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "readable-stream": "^2.0.2"
+        "@types/d3-path": "*"
       }
     },
-    "node_modules/duplexer2/node_modules/isarray": {
-      "version": "1.0.0",
+    "node_modules/@types/d3-time": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.4.tgz",
+      "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/duplexer2/node_modules/readable-stream": {
-      "version": "2.3.8",
+    "node_modules/@types/d3-time-format": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/@types/d3-time-format/-/d3-time-format-4.0.3.tgz",
+      "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-timer": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz",
+      "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/d3-transition": {
+      "version": "3.0.9",
+      "resolved": "https://registry.npmjs.org/@types/d3-transition/-/d3-transition-3.0.9.tgz",
+      "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "@types/d3-selection": "*"
       }
     },
-    "node_modules/duplexer2/node_modules/safe-buffer": {
-      "version": "5.1.2",
+    "node_modules/@types/d3-zoom": {
+      "version": "3.0.8",
+      "resolved": "https://registry.npmjs.org/@types/d3-zoom/-/d3-zoom-3.0.8.tgz",
+      "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/d3-interpolate": "*",
+        "@types/d3-selection": "*"
+      }
+    },
+    "node_modules/@types/estree": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+      "license": "MIT"
+    },
+    "node_modules/@types/geojson": {
+      "version": "7946.0.16",
+      "resolved": "https://registry.npmjs.org/@types/geojson/-/geojson-7946.0.16.tgz",
+      "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/duplexer2/node_modules/string_decoder": {
-      "version": "1.1.1",
+    "node_modules/@types/graceful-fs": {
+      "version": "4.1.9",
+      "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+      "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "@types/node": "*"
       }
     },
-    "node_modules/eastasianwidth": {
-      "version": "0.2.0",
+    "node_modules/@types/hast": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz",
+      "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/unist": "*"
+      }
+    },
+    "node_modules/@types/istanbul-lib-coverage": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+      "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/easy-table": {
-      "version": "1.2.0",
+    "node_modules/@types/istanbul-lib-report": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+      "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "optionalDependencies": {
-        "wcwidth": "^1.0.1"
+        "@types/istanbul-lib-coverage": "*"
       }
     },
-    "node_modules/edge-paths": {
-      "version": "3.0.5",
+    "node_modules/@types/istanbul-reports": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+      "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/which": "^2.0.1",
-        "which": "^2.0.2"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/shirshak55"
+        "@types/istanbul-lib-report": "*"
       }
     },
-    "node_modules/edgedriver": {
-      "version": "6.1.2",
+    "node_modules/@types/jest": {
+      "version": "29.5.14",
+      "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz",
+      "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==",
       "dev": true,
-      "hasInstallScript": true,
       "license": "MIT",
       "dependencies": {
-        "@wdio/logger": "^9.1.3",
-        "@zip.js/zip.js": "^2.7.53",
-        "decamelize": "^6.0.0",
-        "edge-paths": "^3.0.5",
-        "fast-xml-parser": "^5.0.8",
-        "http-proxy-agent": "^7.0.2",
-        "https-proxy-agent": "^7.0.5",
-        "node-fetch": "^3.3.2",
-        "which": "^5.0.0"
-      },
-      "bin": {
-        "edgedriver": "bin/edgedriver.js"
-      },
-      "engines": {
-        "node": ">=18.0.0"
+        "expect": "^29.0.0",
+        "pretty-format": "^29.0.0"
       }
     },
-    "node_modules/edgedriver/node_modules/fast-xml-parser": {
-      "version": "5.2.5",
+    "node_modules/@types/json-schema": {
+      "version": "7.0.15",
+      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+      "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/linkify-it": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
+      "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/markdown-it": {
+      "version": "14.1.2",
+      "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
+      "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/NaturalIntelligence"
-        }
-      ],
       "license": "MIT",
       "dependencies": {
-        "strnum": "^2.1.0"
-      },
-      "bin": {
-        "fxparser": "src/cli/cli.js"
+        "@types/linkify-it": "^5",
+        "@types/mdurl": "^2"
       }
     },
-    "node_modules/edgedriver/node_modules/isexe": {
-      "version": "3.1.1",
+    "node_modules/@types/mdast": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz",
+      "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==",
       "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=16"
+      "license": "MIT",
+      "dependencies": {
+        "@types/unist": "*"
       }
     },
-    "node_modules/edgedriver/node_modules/strnum": {
-      "version": "2.1.1",
+    "node_modules/@types/mdurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
+      "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/NaturalIntelligence"
-        }
-      ],
       "license": "MIT"
     },
-    "node_modules/edgedriver/node_modules/which": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/@types/node": {
+      "version": "25.0.10",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz",
+      "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==",
+      "devOptional": true,
+      "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "undici-types": "~7.16.0"
       }
     },
-    "node_modules/ee-first": {
-      "version": "1.1.1",
+    "node_modules/@types/parse-path": {
+      "version": "7.0.3",
+      "resolved": "https://registry.npmjs.org/@types/parse-path/-/parse-path-7.0.3.tgz",
+      "integrity": "sha512-LriObC2+KYZD3FzCrgWGv/qufdUy4eXrxcLgQMfYXgPbLIecKIsVBaQgUPmxSSLcjmYbDTQbMgr6qr6l/eb7Bg==",
       "license": "MIT"
     },
-    "node_modules/ejs": {
-      "version": "3.1.10",
+    "node_modules/@types/prop-types": {
+      "version": "15.7.15",
+      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
+      "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
+      "optional": true
+    },
+    "node_modules/@types/react": {
+      "version": "19.2.9",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz",
+      "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==",
+      "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "jake": "^10.8.5"
-      },
-      "bin": {
-        "ejs": "bin/cli.js"
-      },
-      "engines": {
-        "node": ">=0.10.0"
+        "csstype": "^3.2.2"
       }
     },
-    "node_modules/electron-to-chromium": {
-      "version": "1.5.167",
-      "license": "ISC"
-    },
-    "node_modules/emittery": {
-      "version": "0.13.1",
+    "node_modules/@types/react-dom": {
+      "version": "19.2.3",
+      "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz",
+      "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+      "peerDependencies": {
+        "@types/react": "^19.2.0"
       }
     },
-    "node_modules/emoji-regex": {
-      "version": "9.2.2",
+    "node_modules/@types/resize-observer-browser": {
+      "version": "0.1.11",
+      "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.11.tgz",
+      "integrity": "sha512-cNw5iH8JkMkb3QkCoe7DaZiawbDQEUX8t7iuQaRTyLOyQCR2h+ibBD4GJt7p5yhUHrlOeL7ZtbxNHeipqNsBzQ==",
       "license": "MIT"
     },
-    "node_modules/emoji-regex-xs": {
-      "version": "1.0.0",
+    "node_modules/@types/resolve": {
+      "version": "1.20.2",
+      "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+      "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+      "license": "MIT"
+    },
+    "node_modules/@types/stack-utils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+      "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/emojis-list": {
-      "version": "3.0.0",
+    "node_modules/@types/trusted-types": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
+      "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 4"
-      }
+      "optional": true
     },
-    "node_modules/enabled": {
-      "version": "2.0.0",
+    "node_modules/@types/unist": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz",
+      "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/encodeurl": {
-      "version": "2.0.0",
+    "node_modules/@types/web-bluetooth": {
+      "version": "0.0.21",
+      "resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz",
+      "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/yargs": {
+      "version": "17.0.35",
+      "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz",
+      "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
+      "dependencies": {
+        "@types/yargs-parser": "*"
       }
     },
-    "node_modules/encoding": {
-      "version": "0.1.13",
+    "node_modules/@types/yargs-parser": {
+      "version": "21.0.3",
+      "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+      "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@types/yauzl": {
+      "version": "2.10.3",
+      "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+      "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
+      "dev": true,
       "license": "MIT",
       "optional": true,
       "dependencies": {
-        "iconv-lite": "^0.6.2"
+        "@types/node": "*"
       }
     },
-    "node_modules/encoding-sniffer": {
-      "version": "0.2.1",
+    "node_modules/@typescript-eslint/eslint-plugin": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz",
+      "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "iconv-lite": "^0.6.3",
-        "whatwg-encoding": "^3.1.1"
+        "@eslint-community/regexpp": "^4.12.2",
+        "@typescript-eslint/scope-manager": "8.53.1",
+        "@typescript-eslint/type-utils": "8.53.1",
+        "@typescript-eslint/utils": "8.53.1",
+        "@typescript-eslint/visitor-keys": "8.53.1",
+        "ignore": "^7.0.5",
+        "natural-compare": "^1.4.0",
+        "ts-api-utils": "^2.4.0"
+      },
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/fb55/encoding-sniffer?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "@typescript-eslint/parser": "^8.53.1",
+        "eslint": "^8.57.0 || ^9.0.0",
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/encoding-sniffer/node_modules/iconv-lite": {
-      "version": "0.6.3",
+    "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 4"
       }
     },
-    "node_modules/encoding/node_modules/iconv-lite": {
-      "version": "0.6.3",
+    "node_modules/@typescript-eslint/parser": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.1.tgz",
+      "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
+      "peer": true,
       "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
+        "@typescript-eslint/scope-manager": "8.53.1",
+        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/typescript-estree": "8.53.1",
+        "@typescript-eslint/visitor-keys": "8.53.1",
+        "debug": "^4.4.3"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^8.57.0 || ^9.0.0",
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/end-of-stream": {
-      "version": "1.4.4",
+    "node_modules/@typescript-eslint/project-service": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz",
+      "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "once": "^1.4.0"
+        "@typescript-eslint/tsconfig-utils": "^8.53.1",
+        "@typescript-eslint/types": "^8.53.1",
+        "debug": "^4.4.3"
+      },
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/enhanced-resolve": {
-      "version": "5.18.1",
+    "node_modules/@typescript-eslint/scope-manager": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
+      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "graceful-fs": "^4.2.4",
-        "tapable": "^2.2.0"
+        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/visitor-keys": "8.53.1"
       },
       "engines": {
-        "node": ">=10.13.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
       }
     },
-    "node_modules/entities": {
-      "version": "4.5.0",
-      "license": "BSD-2-Clause",
+    "node_modules/@typescript-eslint/tsconfig-utils": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz",
+      "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==",
+      "dev": true,
+      "license": "MIT",
       "engines": {
-        "node": ">=0.12"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/env-paths": {
-      "version": "3.0.0",
+    "node_modules/@typescript-eslint/type-utils": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz",
+      "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/typescript-estree": "8.53.1",
+        "@typescript-eslint/utils": "8.53.1",
+        "debug": "^4.4.3",
+        "ts-api-utils": "^2.4.0"
+      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^8.57.0 || ^9.0.0",
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/environment": {
-      "version": "1.1.0",
+    "node_modules/@typescript-eslint/types": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
+      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
       }
     },
-    "node_modules/err-code": {
-      "version": "2.0.3",
+    "node_modules/@typescript-eslint/typescript-estree": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
+      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/errno": {
-      "version": "0.1.8",
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "prr": "~1.0.1"
+        "@typescript-eslint/project-service": "8.53.1",
+        "@typescript-eslint/tsconfig-utils": "8.53.1",
+        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/visitor-keys": "8.53.1",
+        "debug": "^4.4.3",
+        "minimatch": "^9.0.5",
+        "semver": "^7.7.3",
+        "tinyglobby": "^0.2.15",
+        "ts-api-utils": "^2.4.0"
       },
-      "bin": {
-        "errno": "cli.js"
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/error-ex": {
-      "version": "1.3.2",
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+      "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-arrayish": "^0.2.1"
+        "balanced-match": "^1.0.0"
       }
     },
-    "node_modules/error-stack-parser-es": {
-      "version": "1.0.5",
-      "license": "MIT",
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.17"
+      },
       "funding": {
-        "url": "https://github.com/sponsors/antfu"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/errx": {
-      "version": "0.1.0",
-      "license": "MIT"
+    "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
+      }
     },
-    "node_modules/es-abstract": {
-      "version": "1.24.0",
+    "node_modules/@typescript-eslint/utils": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
+      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "array-buffer-byte-length": "^1.0.2",
-        "arraybuffer.prototype.slice": "^1.0.4",
-        "available-typed-arrays": "^1.0.7",
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.4",
-        "data-view-buffer": "^1.0.2",
-        "data-view-byte-length": "^1.0.2",
-        "data-view-byte-offset": "^1.0.1",
-        "es-define-property": "^1.0.1",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.1.1",
-        "es-set-tostringtag": "^2.1.0",
-        "es-to-primitive": "^1.3.0",
-        "function.prototype.name": "^1.1.8",
-        "get-intrinsic": "^1.3.0",
-        "get-proto": "^1.0.1",
-        "get-symbol-description": "^1.1.0",
-        "globalthis": "^1.0.4",
-        "gopd": "^1.2.0",
-        "has-property-descriptors": "^1.0.2",
-        "has-proto": "^1.2.0",
-        "has-symbols": "^1.1.0",
-        "hasown": "^2.0.2",
-        "internal-slot": "^1.1.0",
-        "is-array-buffer": "^3.0.5",
-        "is-callable": "^1.2.7",
-        "is-data-view": "^1.0.2",
-        "is-negative-zero": "^2.0.3",
-        "is-regex": "^1.2.1",
-        "is-set": "^2.0.3",
-        "is-shared-array-buffer": "^1.0.4",
-        "is-string": "^1.1.1",
-        "is-typed-array": "^1.1.15",
-        "is-weakref": "^1.1.1",
-        "math-intrinsics": "^1.1.0",
-        "object-inspect": "^1.13.4",
-        "object-keys": "^1.1.1",
-        "object.assign": "^4.1.7",
-        "own-keys": "^1.0.1",
-        "regexp.prototype.flags": "^1.5.4",
-        "safe-array-concat": "^1.1.3",
-        "safe-push-apply": "^1.0.0",
-        "safe-regex-test": "^1.1.0",
-        "set-proto": "^1.0.0",
-        "stop-iteration-iterator": "^1.1.0",
-        "string.prototype.trim": "^1.2.10",
-        "string.prototype.trimend": "^1.0.9",
-        "string.prototype.trimstart": "^1.0.8",
-        "typed-array-buffer": "^1.0.3",
-        "typed-array-byte-length": "^1.0.3",
-        "typed-array-byte-offset": "^1.0.4",
-        "typed-array-length": "^1.0.7",
-        "unbox-primitive": "^1.1.0",
-        "which-typed-array": "^1.1.19"
+        "@eslint-community/eslint-utils": "^4.9.1",
+        "@typescript-eslint/scope-manager": "8.53.1",
+        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/typescript-estree": "8.53.1"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^8.57.0 || ^9.0.0",
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/es-define-property": {
-      "version": "1.0.1",
+    "node_modules/@typescript-eslint/visitor-keys": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
+      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@typescript-eslint/types": "8.53.1",
+        "eslint-visitor-keys": "^4.2.1"
+      },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
       }
     },
-    "node_modules/es-errors": {
+    "node_modules/@ungap/structured-clone": {
       "version": "1.3.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es-iterator-helpers": {
-      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz",
+      "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==",
       "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/@unhead/vue": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/@unhead/vue/-/vue-2.1.2.tgz",
+      "integrity": "sha512-w5yxH/fkkLWAFAOnMSIbvAikNHYn6pgC7zGF/BasXf+K3CO1cYIPFehYAk5jpcsbiNPMc3goyyw1prGLoyD14g==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.6",
-        "es-errors": "^1.3.0",
-        "es-set-tostringtag": "^2.0.3",
-        "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.6",
-        "globalthis": "^1.0.4",
-        "gopd": "^1.2.0",
-        "has-property-descriptors": "^1.0.2",
-        "has-proto": "^1.2.0",
-        "has-symbols": "^1.1.0",
-        "internal-slot": "^1.1.0",
-        "iterator.prototype": "^1.1.4",
-        "safe-array-concat": "^1.1.3"
+        "hookable": "^6.0.1",
+        "unhead": "2.1.2"
       },
-      "engines": {
-        "node": ">= 0.4"
+      "funding": {
+        "url": "https://github.com/sponsors/harlan-zw"
+      },
+      "peerDependencies": {
+        "vue": ">=3.5.18"
       }
     },
-    "node_modules/es-module-lexer": {
-      "version": "1.7.0",
+    "node_modules/@unhead/vue/node_modules/hookable": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.0.1.tgz",
+      "integrity": "sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==",
       "license": "MIT"
     },
-    "node_modules/es-object-atoms": {
-      "version": "1.1.1",
+    "node_modules/@vercel/nft": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-1.3.0.tgz",
+      "integrity": "sha512-i4EYGkCsIjzu4vorDUbqglZc5eFtQI2syHb++9ZUDm6TU4edVywGpVnYDein35x9sevONOn9/UabfQXuNXtuzQ==",
       "license": "MIT",
       "dependencies": {
-        "es-errors": "^1.3.0"
+        "@mapbox/node-pre-gyp": "^2.0.0",
+        "@rollup/pluginutils": "^5.1.3",
+        "acorn": "^8.6.0",
+        "acorn-import-attributes": "^1.9.5",
+        "async-sema": "^3.1.1",
+        "bindings": "^1.4.0",
+        "estree-walker": "2.0.2",
+        "glob": "^13.0.0",
+        "graceful-fs": "^4.2.9",
+        "node-gyp-build": "^4.2.2",
+        "picomatch": "^4.0.2",
+        "resolve-from": "^5.0.0"
       },
-      "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/es-set-tostringtag": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.6",
-        "has-tostringtag": "^1.0.2",
-        "hasown": "^2.0.2"
+      "bin": {
+        "nft": "out/cli.js"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=20"
       }
     },
-    "node_modules/es-shim-unscopables": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
+    "node_modules/@vercel/nft/node_modules/glob": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+      "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "hasown": "^2.0.2"
+        "minimatch": "^10.1.1",
+        "minipass": "^7.1.2",
+        "path-scurry": "^2.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/es-to-primitive": {
-      "version": "1.3.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
+    "node_modules/@vercel/nft/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "is-callable": "^1.2.7",
-        "is-date-object": "^1.0.5",
-        "is-symbol": "^1.0.4"
+        "@isaacs/brace-expansion": "^5.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "20 || >=22"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/esbuild": {
-      "version": "0.25.5",
-      "hasInstallScript": true,
+    "node_modules/@vercel/nft/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "bin": {
-        "esbuild": "bin/esbuild"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "optionalDependencies": {
-        "@esbuild/aix-ppc64": "0.25.5",
-        "@esbuild/android-arm": "0.25.5",
-        "@esbuild/android-arm64": "0.25.5",
-        "@esbuild/android-x64": "0.25.5",
-        "@esbuild/darwin-arm64": "0.25.5",
-        "@esbuild/darwin-x64": "0.25.5",
-        "@esbuild/freebsd-arm64": "0.25.5",
-        "@esbuild/freebsd-x64": "0.25.5",
-        "@esbuild/linux-arm": "0.25.5",
-        "@esbuild/linux-arm64": "0.25.5",
-        "@esbuild/linux-ia32": "0.25.5",
-        "@esbuild/linux-loong64": "0.25.5",
-        "@esbuild/linux-mips64el": "0.25.5",
-        "@esbuild/linux-ppc64": "0.25.5",
-        "@esbuild/linux-riscv64": "0.25.5",
-        "@esbuild/linux-s390x": "0.25.5",
-        "@esbuild/linux-x64": "0.25.5",
-        "@esbuild/netbsd-arm64": "0.25.5",
-        "@esbuild/netbsd-x64": "0.25.5",
-        "@esbuild/openbsd-arm64": "0.25.5",
-        "@esbuild/openbsd-x64": "0.25.5",
-        "@esbuild/sunos-x64": "0.25.5",
-        "@esbuild/win32-arm64": "0.25.5",
-        "@esbuild/win32-ia32": "0.25.5",
-        "@esbuild/win32-x64": "0.25.5"
-      }
-    },
-    "node_modules/esbuild-wasm": {
-      "version": "0.25.4",
-      "dev": true,
-      "license": "MIT",
-      "bin": {
-        "esbuild": "bin/esbuild"
+        "node": ">=12"
       },
-      "engines": {
-        "node": ">=18"
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/escalade": {
-      "version": "3.2.0",
+    "node_modules/@vercel/nft/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
       "license": "MIT",
       "engines": {
-        "node": ">=6"
+        "node": ">=8"
       }
     },
-    "node_modules/escape-html": {
-      "version": "1.0.3",
-      "license": "MIT"
-    },
-    "node_modules/escape-string-regexp": {
-      "version": "4.0.0",
-      "devOptional": true,
+    "node_modules/@vitejs/plugin-basic-ssl": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz",
+      "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "vite": "^6.0.0 || ^7.0.0"
       }
     },
-    "node_modules/escodegen": {
-      "version": "2.1.0",
-      "license": "BSD-2-Clause",
+    "node_modules/@vitejs/plugin-react": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-5.1.2.tgz",
+      "integrity": "sha512-EcA07pHJouywpzsoTUqNh5NwGayl2PPVEJKUSinGGSxFGYn+shYbqMGBg6FXDqgXum9Ou/ecb+411ssw8HImJQ==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "esprima": "^4.0.1",
-        "estraverse": "^5.2.0",
-        "esutils": "^2.0.2"
-      },
-      "bin": {
-        "escodegen": "bin/escodegen.js",
-        "esgenerate": "bin/esgenerate.js"
+        "@babel/core": "^7.28.5",
+        "@babel/plugin-transform-react-jsx-self": "^7.27.1",
+        "@babel/plugin-transform-react-jsx-source": "^7.27.1",
+        "@rolldown/pluginutils": "1.0.0-beta.53",
+        "@types/babel__core": "^7.20.5",
+        "react-refresh": "^0.18.0"
       },
       "engines": {
-        "node": ">=6.0"
+        "node": "^20.19.0 || >=22.12.0"
       },
-      "optionalDependencies": {
-        "source-map": "~0.6.1"
-      }
-    },
-    "node_modules/escodegen/node_modules/source-map": {
-      "version": "0.6.1",
-      "license": "BSD-3-Clause",
-      "optional": true,
-      "engines": {
-        "node": ">=0.10.0"
+      "peerDependencies": {
+        "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0"
       }
     },
-    "node_modules/eslint": {
-      "version": "8.57.1",
-      "devOptional": true,
+    "node_modules/@vitejs/plugin-vue": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-6.0.3.tgz",
+      "integrity": "sha512-TlGPkLFLVOY3T7fZrwdvKpjprR3s4fxRln0ORDo1VQ7HHyxJwTlrjKU3kpVWTlaAjIEuCTokmjkZnr8Tpc925w==",
       "license": "MIT",
       "dependencies": {
-        "@eslint-community/eslint-utils": "^4.2.0",
-        "@eslint-community/regexpp": "^4.6.1",
-        "@eslint/eslintrc": "^2.1.4",
-        "@eslint/js": "8.57.1",
-        "@humanwhocodes/config-array": "^0.13.0",
-        "@humanwhocodes/module-importer": "^1.0.1",
-        "@nodelib/fs.walk": "^1.2.8",
-        "@ungap/structured-clone": "^1.2.0",
-        "ajv": "^6.12.4",
-        "chalk": "^4.0.0",
-        "cross-spawn": "^7.0.2",
-        "debug": "^4.3.2",
-        "doctrine": "^3.0.0",
-        "escape-string-regexp": "^4.0.0",
-        "eslint-scope": "^7.2.2",
-        "eslint-visitor-keys": "^3.4.3",
-        "espree": "^9.6.1",
-        "esquery": "^1.4.2",
-        "esutils": "^2.0.2",
-        "fast-deep-equal": "^3.1.3",
-        "file-entry-cache": "^6.0.1",
-        "find-up": "^5.0.0",
-        "glob-parent": "^6.0.2",
-        "globals": "^13.19.0",
-        "graphemer": "^1.4.0",
-        "ignore": "^5.2.0",
-        "imurmurhash": "^0.1.4",
-        "is-glob": "^4.0.0",
-        "is-path-inside": "^3.0.3",
-        "js-yaml": "^4.1.0",
-        "json-stable-stringify-without-jsonify": "^1.0.1",
-        "levn": "^0.4.1",
-        "lodash.merge": "^4.6.2",
-        "minimatch": "^3.1.2",
-        "natural-compare": "^1.4.0",
-        "optionator": "^0.9.3",
-        "strip-ansi": "^6.0.1",
-        "text-table": "^0.2.0"
-      },
-      "bin": {
-        "eslint": "bin/eslint.js"
+        "@rolldown/pluginutils": "1.0.0-beta.53"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^20.19.0 || >=22.12.0"
       },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+      "peerDependencies": {
+        "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0",
+        "vue": "^3.2.25"
       }
     },
-    "node_modules/eslint-config-prettier": {
-      "version": "10.1.5",
-      "dev": true,
+    "node_modules/@vitejs/plugin-vue-jsx": {
+      "version": "5.1.3",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-5.1.3.tgz",
+      "integrity": "sha512-I6Zr8cYVr5WHMW5gNOP09DNqW9rgO8RX73Wa6Czgq/0ndpTfJM4vfDChfOT1+3KtdrNqilNBtNlFwVeB02ZzGw==",
       "license": "MIT",
-      "bin": {
-        "eslint-config-prettier": "bin/cli.js"
+      "dependencies": {
+        "@babel/core": "^7.28.5",
+        "@babel/plugin-syntax-typescript": "^7.27.1",
+        "@babel/plugin-transform-typescript": "^7.28.5",
+        "@rolldown/pluginutils": "^1.0.0-beta.56",
+        "@vue/babel-plugin-jsx": "^2.0.1"
       },
-      "funding": {
-        "url": "https://opencollective.com/eslint-config-prettier"
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
       },
       "peerDependencies": {
-        "eslint": ">=7.0.0"
+        "vite": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0",
+        "vue": "^3.0.0"
       }
     },
-    "node_modules/eslint-plugin-prettier": {
-      "version": "4.2.1",
-      "dev": true,
+    "node_modules/@vitejs/plugin-vue-jsx/node_modules/@rolldown/pluginutils": {
+      "version": "1.0.0-rc.1",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.1.tgz",
+      "integrity": "sha512-UTBjtTxVOhodhzFVp/ayITaTETRHPUPYZPXQe0WU0wOgxghMojXxYjOiPOauKIYNWJAWS2fd7gJgGQK8GU8vDA==",
+      "license": "MIT"
+    },
+    "node_modules/@volar/language-core": {
+      "version": "2.4.27",
+      "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.4.27.tgz",
+      "integrity": "sha512-DjmjBWZ4tJKxfNC1F6HyYERNHPYS7L7OPFyCrestykNdUZMFYzI9WTyvwPcaNaHlrEUwESHYsfEw3isInncZxQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@volar/source-map": "2.4.27"
+      }
+    },
+    "node_modules/@volar/source-map": {
+      "version": "2.4.27",
+      "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.4.27.tgz",
+      "integrity": "sha512-ynlcBReMgOZj2i6po+qVswtDUeeBRCTgDurjMGShbm8WYZgJ0PA4RmtebBJ0BCYol1qPv3GQF6jK7C9qoVc7lg==",
+      "license": "MIT"
+    },
+    "node_modules/@volar/typescript": {
+      "version": "2.4.27",
+      "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.4.27.tgz",
+      "integrity": "sha512-eWaYCcl/uAPInSK2Lze6IqVWaBu/itVqR5InXcHXFyles4zO++Mglt3oxdgj75BDcv1Knr9Y93nowS8U3wqhxg==",
+      "devOptional": true,
+      "license": "MIT",
+      "dependencies": {
+        "@volar/language-core": "2.4.27",
+        "path-browserify": "^1.0.1",
+        "vscode-uri": "^3.0.8"
+      }
+    },
+    "node_modules/@vue-macros/common": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-3.1.2.tgz",
+      "integrity": "sha512-h9t4ArDdniO9ekYHAD95t9AZcAbb19lEGK+26iAjUODOIJKmObDNBSe4+6ELQAA3vtYiFPPBtHh7+cQCKi3Dng==",
       "license": "MIT",
       "dependencies": {
-        "prettier-linter-helpers": "^1.0.0"
+        "@vue/compiler-sfc": "^3.5.22",
+        "ast-kit": "^2.1.2",
+        "local-pkg": "^1.1.2",
+        "magic-string-ast": "^1.0.2",
+        "unplugin-utils": "^0.3.0"
       },
       "engines": {
-        "node": ">=12.0.0"
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/vue-macros"
       },
       "peerDependencies": {
-        "eslint": ">=7.28.0",
-        "prettier": ">=2.0.0"
+        "vue": "^2.7.0 || ^3.2.25"
       },
       "peerDependenciesMeta": {
-        "eslint-config-prettier": {
+        "vue": {
           "optional": true
         }
       }
     },
-    "node_modules/eslint-plugin-react": {
-      "version": "7.37.5",
-      "dev": true,
+    "node_modules/@vue-macros/common/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "array-includes": "^3.1.8",
-        "array.prototype.findlast": "^1.2.5",
-        "array.prototype.flatmap": "^1.3.3",
-        "array.prototype.tosorted": "^1.1.4",
-        "doctrine": "^2.1.0",
-        "es-iterator-helpers": "^1.2.1",
-        "estraverse": "^5.3.0",
-        "hasown": "^2.0.2",
-        "jsx-ast-utils": "^2.4.1 || ^3.0.0",
-        "minimatch": "^3.1.2",
-        "object.entries": "^1.1.9",
-        "object.fromentries": "^2.0.8",
-        "object.values": "^1.2.1",
-        "prop-types": "^15.8.1",
-        "resolve": "^2.0.0-next.5",
-        "semver": "^6.3.1",
-        "string.prototype.matchall": "^4.0.12",
-        "string.prototype.repeat": "^1.0.0"
-      },
       "engines": {
-        "node": ">=4"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/eslint-plugin-react/node_modules/doctrine": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "peer": true,
+    "node_modules/@vue-macros/common/node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
+      "license": "MIT",
       "dependencies": {
-        "esutils": "^2.0.2"
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/eslint-plugin-react/node_modules/resolve": {
-      "version": "2.0.0-next.5",
-      "dev": true,
+    "node_modules/@vue/babel-helper-vue-transform-on": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-2.0.1.tgz",
+      "integrity": "sha512-uZ66EaFbnnZSYqYEyplWvn46GhZ1KuYSThdT68p+am7MgBNbQ3hphTL9L+xSIsWkdktwhPYLwPgVWqo96jDdRA==",
+      "license": "MIT"
+    },
+    "node_modules/@vue/babel-plugin-jsx": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-2.0.1.tgz",
+      "integrity": "sha512-a8CaLQjD/s4PVdhrLD/zT574ZNPnZBOY+IhdtKWRB4HRZ0I2tXBi5ne7d9eCfaYwp5gU5+4KIyFTV1W1YL9xZA==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "is-core-module": "^2.13.0",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-syntax-jsx": "^7.27.1",
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.4",
+        "@babel/types": "^7.28.4",
+        "@vue/babel-helper-vue-transform-on": "2.0.1",
+        "@vue/babel-plugin-resolve-type": "2.0.1",
+        "@vue/shared": "^3.5.22"
       },
-      "bin": {
-        "resolve": "bin/resolve"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/eslint-plugin-react/node_modules/semver": {
-      "version": "6.3.1",
-      "dev": true,
-      "license": "ISC",
-      "peer": true,
-      "bin": {
-        "semver": "bin/semver.js"
+      "peerDependenciesMeta": {
+        "@babel/core": {
+          "optional": true
+        }
       }
     },
-    "node_modules/eslint-plugin-vue": {
-      "version": "9.33.0",
-      "dev": true,
+    "node_modules/@vue/babel-plugin-resolve-type": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-2.0.1.tgz",
+      "integrity": "sha512-ybwgIuRGRRBhOU37GImDoWQoz+TlSqap65qVI6iwg/J7FfLTLmMf97TS7xQH9I7Qtr/gp161kYVdhr1ZMraSYQ==",
       "license": "MIT",
       "dependencies": {
-        "@eslint-community/eslint-utils": "^4.4.0",
-        "globals": "^13.24.0",
-        "natural-compare": "^1.4.0",
-        "nth-check": "^2.1.1",
-        "postcss-selector-parser": "^6.0.15",
-        "semver": "^7.6.3",
-        "vue-eslint-parser": "^9.4.3",
-        "xml-name-validator": "^4.0.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/parser": "^7.28.4",
+        "@vue/compiler-sfc": "^3.5.22"
       },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       },
       "peerDependencies": {
-        "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0"
+        "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/eslint-plugin-vue/node_modules/globals": {
-      "version": "13.24.0",
-      "dev": true,
+    "node_modules/@vue/compiler-core": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.27.tgz",
+      "integrity": "sha512-gnSBQjZA+//qDZen+6a2EdHqJ68Z7uybrMf3SPjEGgG4dicklwDVmMC1AeIHxtLVPT7sn6sH1KOO+tS6gwOUeQ==",
       "license": "MIT",
       "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@babel/parser": "^7.28.5",
+        "@vue/shared": "3.5.27",
+        "entities": "^7.0.0",
+        "estree-walker": "^2.0.2",
+        "source-map-js": "^1.2.1"
       }
     },
-    "node_modules/eslint-plugin-vue/node_modules/type-fest": {
-      "version": "0.20.2",
-      "dev": true,
-      "license": "(MIT OR CC0-1.0)",
+    "node_modules/@vue/compiler-core/node_modules/entities": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+      "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">=10"
+        "node": ">=0.12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
-    "node_modules/eslint-scope": {
-      "version": "7.2.2",
-      "devOptional": true,
-      "license": "BSD-2-Clause",
+    "node_modules/@vue/compiler-dom": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.27.tgz",
+      "integrity": "sha512-oAFea8dZgCtVVVTEC7fv3T5CbZW9BxpFzGGxC79xakTr6ooeEqmRuvQydIiDAkglZEAd09LgVf1RoDnL54fu5w==",
+      "license": "MIT",
       "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^5.2.0"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+        "@vue/compiler-core": "3.5.27",
+        "@vue/shared": "3.5.27"
       }
     },
-    "node_modules/eslint-visitor-keys": {
-      "version": "3.4.3",
-      "devOptional": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+    "node_modules/@vue/compiler-sfc": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.27.tgz",
+      "integrity": "sha512-sHZu9QyDPeDmN/MRoshhggVOWE5WlGFStKFwu8G52swATgSny27hJRWteKDSUUzUH+wp+bmeNbhJnEAel/auUQ==",
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "@babel/parser": "^7.28.5",
+        "@vue/compiler-core": "3.5.27",
+        "@vue/compiler-dom": "3.5.27",
+        "@vue/compiler-ssr": "3.5.27",
+        "@vue/shared": "3.5.27",
+        "estree-walker": "^2.0.2",
+        "magic-string": "^0.30.21",
+        "postcss": "^8.5.6",
+        "source-map-js": "^1.2.1"
       }
     },
-    "node_modules/eslint/node_modules/ajv": {
-      "version": "6.12.6",
-      "devOptional": true,
+    "node_modules/@vue/compiler-ssr": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.27.tgz",
+      "integrity": "sha512-Sj7h+JHt512fV1cTxKlYhg7qxBvack+BGncSpH+8vnN+KN95iPIcqB5rsbblX40XorP+ilO7VIKlkuu3Xq2vjw==",
       "license": "MIT",
       "dependencies": {
-        "fast-deep-equal": "^3.1.1",
-        "fast-json-stable-stringify": "^2.0.0",
-        "json-schema-traverse": "^0.4.1",
-        "uri-js": "^4.2.2"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/epoberezkin"
+        "@vue/compiler-dom": "3.5.27",
+        "@vue/shared": "3.5.27"
       }
     },
-    "node_modules/eslint/node_modules/globals": {
-      "version": "13.24.0",
-      "devOptional": true,
+    "node_modules/@vue/devtools-api": {
+      "version": "7.7.9",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz",
+      "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "type-fest": "^0.20.2"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@vue/devtools-kit": "^7.7.9"
       }
     },
-    "node_modules/eslint/node_modules/json-schema-traverse": {
-      "version": "0.4.1",
-      "devOptional": true,
+    "node_modules/@vue/devtools-api/node_modules/@vue/devtools-kit": {
+      "version": "7.7.9",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz",
+      "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@vue/devtools-shared": "^7.7.9",
+        "birpc": "^2.3.0",
+        "hookable": "^5.5.3",
+        "mitt": "^3.0.1",
+        "perfect-debounce": "^1.0.0",
+        "speakingurl": "^14.0.1",
+        "superjson": "^2.2.2"
+      }
+    },
+    "node_modules/@vue/devtools-api/node_modules/@vue/devtools-shared": {
+      "version": "7.7.9",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz",
+      "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "rfdc": "^1.4.1"
+      }
+    },
+    "node_modules/@vue/devtools-api/node_modules/perfect-debounce": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz",
+      "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/eslint/node_modules/type-fest": {
-      "version": "0.20.2",
-      "devOptional": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=10"
+    "node_modules/@vue/devtools-core": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-core/-/devtools-core-8.0.5.tgz",
+      "integrity": "sha512-dpCw8nl0GDBuiL9SaY0mtDxoGIEmU38w+TQiYEPOLhW03VDC0lfNMYXS/qhl4I0YlysGp04NLY4UNn6xgD0VIQ==",
+      "license": "MIT",
+      "dependencies": {
+        "@vue/devtools-kit": "^8.0.5",
+        "@vue/devtools-shared": "^8.0.5",
+        "mitt": "^3.0.1",
+        "nanoid": "^5.1.5",
+        "pathe": "^2.0.3",
+        "vite-hot-client": "^2.1.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "vue": "^3.0.0"
       }
     },
-    "node_modules/espree": {
-      "version": "9.6.1",
-      "devOptional": true,
-      "license": "BSD-2-Clause",
+    "node_modules/@vue/devtools-kit": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-8.0.5.tgz",
+      "integrity": "sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==",
+      "license": "MIT",
       "dependencies": {
-        "acorn": "^8.9.0",
-        "acorn-jsx": "^5.3.2",
-        "eslint-visitor-keys": "^3.4.1"
-      },
-      "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://opencollective.com/eslint"
+        "@vue/devtools-shared": "^8.0.5",
+        "birpc": "^2.6.1",
+        "hookable": "^5.5.3",
+        "mitt": "^3.0.1",
+        "perfect-debounce": "^2.0.0",
+        "speakingurl": "^14.0.1",
+        "superjson": "^2.2.2"
       }
     },
-    "node_modules/esprima": {
-      "version": "4.0.1",
-      "license": "BSD-2-Clause",
-      "bin": {
-        "esparse": "bin/esparse.js",
-        "esvalidate": "bin/esvalidate.js"
-      },
-      "engines": {
-        "node": ">=4"
+    "node_modules/@vue/devtools-shared": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-8.0.5.tgz",
+      "integrity": "sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==",
+      "license": "MIT",
+      "dependencies": {
+        "rfdc": "^1.4.1"
       }
     },
-    "node_modules/esquery": {
-      "version": "1.6.0",
-      "devOptional": true,
-      "license": "BSD-3-Clause",
+    "node_modules/@vue/eslint-config-prettier": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz",
+      "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "estraverse": "^5.1.0"
+        "eslint-config-prettier": "^10.0.1",
+        "eslint-plugin-prettier": "^5.2.2"
       },
-      "engines": {
-        "node": ">=0.10"
+      "peerDependencies": {
+        "eslint": ">= 8.21.0",
+        "prettier": ">= 3.0.0"
       }
     },
-    "node_modules/esrecurse": {
-      "version": "4.3.0",
-      "devOptional": true,
-      "license": "BSD-2-Clause",
+    "node_modules/@vue/eslint-config-typescript": {
+      "version": "14.6.0",
+      "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.6.0.tgz",
+      "integrity": "sha512-UpiRY/7go4Yps4mYCjkvlIbVWmn9YvPGQDxTAlcKLphyaD77LjIu3plH4Y9zNT0GB4f3K5tMmhhtRhPOgrQ/bQ==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "estraverse": "^5.2.0"
+        "@typescript-eslint/utils": "^8.35.1",
+        "fast-glob": "^3.3.3",
+        "typescript-eslint": "^8.35.1",
+        "vue-eslint-parser": "^10.2.0"
       },
       "engines": {
-        "node": ">=4.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "peerDependencies": {
+        "eslint": "^9.10.0",
+        "eslint-plugin-vue": "^9.28.0 || ^10.0.0",
+        "typescript": ">=4.8.4"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
       }
     },
-    "node_modules/estraverse": {
-      "version": "5.3.0",
-      "license": "BSD-2-Clause",
-      "engines": {
-        "node": ">=4.0"
+    "node_modules/@vue/language-core": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-3.2.4.tgz",
+      "integrity": "sha512-bqBGuSG4KZM45KKTXzGtoCl9cWju5jsaBKaJJe3h5hRAAWpZUuj5G+L+eI01sPIkm4H6setKRlw7E85wLdDNew==",
+      "license": "MIT",
+      "dependencies": {
+        "@volar/language-core": "2.4.27",
+        "@vue/compiler-dom": "^3.5.0",
+        "@vue/shared": "^3.5.0",
+        "alien-signals": "^3.0.0",
+        "muggle-string": "^0.4.1",
+        "path-browserify": "^1.0.1",
+        "picomatch": "^4.0.2"
       }
     },
-    "node_modules/estree-walker": {
-      "version": "2.0.2",
-      "license": "MIT"
-    },
-    "node_modules/esutils": {
-      "version": "2.0.3",
-      "license": "BSD-2-Clause",
+    "node_modules/@vue/language-core/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/etag": {
-      "version": "1.8.1",
+    "node_modules/@vue/reactivity": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.27.tgz",
+      "integrity": "sha512-vvorxn2KXfJ0nBEnj4GYshSgsyMNFnIQah/wczXlsNXt+ijhugmW+PpJ2cNPe4V6jpnBcs0MhCODKllWG+nvoQ==",
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
+      "dependencies": {
+        "@vue/shared": "3.5.27"
       }
     },
-    "node_modules/event-target-shim": {
-      "version": "5.0.1",
+    "node_modules/@vue/runtime-core": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.27.tgz",
+      "integrity": "sha512-fxVuX/fzgzeMPn/CLQecWeDIFNt3gQVhxM0rW02Tvp/YmZfXQgcTXlakq7IMutuZ/+Ogbn+K0oct9J3JZfyk3A==",
       "license": "MIT",
-      "engines": {
-        "node": ">=6"
+      "dependencies": {
+        "@vue/reactivity": "3.5.27",
+        "@vue/shared": "3.5.27"
       }
     },
-    "node_modules/eventemitter3": {
-      "version": "4.0.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/events": {
-      "version": "3.3.0",
+    "node_modules/@vue/runtime-dom": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.27.tgz",
+      "integrity": "sha512-/QnLslQgYqSJ5aUmb5F0z0caZPGHRB8LEAQ1s81vHFM5CBfnun63rxhvE/scVb/j3TbBuoZwkJyiLCkBluMpeg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=0.8.x"
+      "dependencies": {
+        "@vue/reactivity": "3.5.27",
+        "@vue/runtime-core": "3.5.27",
+        "@vue/shared": "3.5.27",
+        "csstype": "^3.2.3"
       }
     },
-    "node_modules/execa": {
-      "version": "9.6.0",
-      "dev": true,
+    "node_modules/@vue/server-renderer": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.27.tgz",
+      "integrity": "sha512-qOz/5thjeP1vAFc4+BY3Nr6wxyLhpeQgAE/8dDtKo6a6xdk+L4W46HDZgNmLOBUDEkFXV3G7pRiUqxjX0/2zWA==",
       "license": "MIT",
       "dependencies": {
-        "@sindresorhus/merge-streams": "^4.0.0",
-        "cross-spawn": "^7.0.6",
-        "figures": "^6.1.0",
-        "get-stream": "^9.0.0",
-        "human-signals": "^8.0.1",
-        "is-plain-obj": "^4.1.0",
-        "is-stream": "^4.0.1",
-        "npm-run-path": "^6.0.0",
-        "pretty-ms": "^9.2.0",
-        "signal-exit": "^4.1.0",
-        "strip-final-newline": "^4.0.0",
-        "yoctocolors": "^2.1.1"
+        "@vue/compiler-ssr": "3.5.27",
+        "@vue/shared": "3.5.27"
       },
-      "engines": {
-        "node": "^18.19.0 || >=20.5.0"
+      "peerDependencies": {
+        "vue": "3.5.27"
+      }
+    },
+    "node_modules/@vue/shared": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.27.tgz",
+      "integrity": "sha512-dXr/3CgqXsJkZ0n9F3I4elY8wM9jMJpP3pvRG52r6m0tu/MsAFIe6JpXVGeNMd/D9F4hQynWT8Rfuj0bdm9kFQ==",
+      "license": "MIT"
+    },
+    "node_modules/@vue/tsconfig": {
+      "version": "0.8.1",
+      "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.8.1.tgz",
+      "integrity": "sha512-aK7feIWPXFSUhsCP9PFqPyFOcz4ENkb8hZ2pneL6m2UjCkccvaOhC/5KCKluuBufvp2KzkbdA2W2pk20vLzu3g==",
+      "dev": true,
+      "license": "MIT",
+      "peerDependencies": {
+        "typescript": "5.x",
+        "vue": "^3.4.0"
       },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        },
+        "vue": {
+          "optional": true
+        }
       }
     },
-    "node_modules/execa/node_modules/@sindresorhus/merge-streams": {
-      "version": "4.0.0",
+    "node_modules/@vueuse/core": {
+      "version": "12.8.2",
+      "resolved": "https://registry.npmjs.org/@vueuse/core/-/core-12.8.2.tgz",
+      "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
+      "dependencies": {
+        "@types/web-bluetooth": "^0.0.21",
+        "@vueuse/metadata": "12.8.2",
+        "@vueuse/shared": "12.8.2",
+        "vue": "^3.5.13"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/exit": {
-      "version": "0.1.2",
-      "dev": true,
-      "engines": {
-        "node": ">= 0.8.0"
+        "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/expect": {
-      "version": "29.7.0",
+    "node_modules/@vueuse/integrations": {
+      "version": "12.8.2",
+      "resolved": "https://registry.npmjs.org/@vueuse/integrations/-/integrations-12.8.2.tgz",
+      "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jest/expect-utils": "^29.7.0",
-        "jest-get-type": "^29.6.3",
-        "jest-matcher-utils": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-util": "^29.7.0"
+        "@vueuse/core": "12.8.2",
+        "@vueuse/shared": "12.8.2",
+        "vue": "^3.5.13"
       },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      }
-    },
-    "node_modules/exponential-backoff": {
-      "version": "3.1.2",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/express": {
-      "version": "4.21.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "accepts": "~1.3.8",
-        "array-flatten": "1.1.1",
-        "body-parser": "1.20.3",
-        "content-disposition": "0.5.4",
-        "content-type": "~1.0.4",
-        "cookie": "0.7.1",
-        "cookie-signature": "1.0.6",
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "encodeurl": "~2.0.0",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "finalhandler": "1.3.1",
-        "fresh": "0.5.2",
-        "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.3",
-        "methods": "~1.1.2",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.12",
-        "proxy-addr": "~2.0.7",
-        "qs": "6.13.0",
-        "range-parser": "~1.2.1",
-        "safe-buffer": "5.2.1",
-        "send": "0.19.0",
-        "serve-static": "1.16.2",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "type-is": "~1.6.18",
-        "utils-merge": "1.0.1",
-        "vary": "~1.1.2"
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
       },
-      "engines": {
-        "node": ">= 0.10.0"
+      "peerDependencies": {
+        "async-validator": "^4",
+        "axios": "^1",
+        "change-case": "^5",
+        "drauu": "^0.4",
+        "focus-trap": "^7",
+        "fuse.js": "^7",
+        "idb-keyval": "^6",
+        "jwt-decode": "^4",
+        "nprogress": "^0.2",
+        "qrcode": "^1.5",
+        "sortablejs": "^1",
+        "universal-cookie": "^7"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/express"
+      "peerDependenciesMeta": {
+        "async-validator": {
+          "optional": true
+        },
+        "axios": {
+          "optional": true
+        },
+        "change-case": {
+          "optional": true
+        },
+        "drauu": {
+          "optional": true
+        },
+        "focus-trap": {
+          "optional": true
+        },
+        "fuse.js": {
+          "optional": true
+        },
+        "idb-keyval": {
+          "optional": true
+        },
+        "jwt-decode": {
+          "optional": true
+        },
+        "nprogress": {
+          "optional": true
+        },
+        "qrcode": {
+          "optional": true
+        },
+        "sortablejs": {
+          "optional": true
+        },
+        "universal-cookie": {
+          "optional": true
+        }
       }
     },
-    "node_modules/express/node_modules/cookie": {
-      "version": "0.7.1",
+    "node_modules/@vueuse/metadata": {
+      "version": "12.8.2",
+      "resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-12.8.2.tgz",
+      "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/express/node_modules/debug": {
-      "version": "2.6.9",
+    "node_modules/@vueuse/shared": {
+      "version": "12.8.2",
+      "resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-12.8.2.tgz",
+      "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ms": "2.0.0"
+        "vue": "^3.5.13"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/express/node_modules/debug/node_modules/ms": {
-      "version": "2.0.0",
+    "node_modules/@yarnpkg/lockfile": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz",
+      "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==",
       "dev": true,
-      "license": "MIT"
+      "license": "BSD-2-Clause"
     },
-    "node_modules/express/node_modules/fresh": {
-      "version": "0.5.2",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/abbrev": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz",
+      "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==",
+      "license": "ISC",
       "engines": {
-        "node": ">= 0.6"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/express/node_modules/qs": {
-      "version": "6.13.0",
-      "dev": true,
-      "license": "BSD-3-Clause",
+    "node_modules/abort-controller": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
+      "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
+      "license": "MIT",
       "dependencies": {
-        "side-channel": "^1.0.6"
+        "event-target-shim": "^5.0.0"
       },
       "engines": {
-        "node": ">=0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=6.5"
       }
     },
-    "node_modules/express/node_modules/send": {
-      "version": "0.19.0",
+    "node_modules/accepts": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+      "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "debug": "2.6.9",
-        "depd": "2.0.0",
-        "destroy": "1.2.0",
-        "encodeurl": "~1.0.2",
-        "escape-html": "~1.0.3",
-        "etag": "~1.8.1",
-        "fresh": "0.5.2",
-        "http-errors": "2.0.0",
-        "mime": "1.6.0",
-        "ms": "2.1.3",
-        "on-finished": "2.4.1",
-        "range-parser": "~1.2.1",
-        "statuses": "2.0.1"
+        "mime-types": "^3.0.0",
+        "negotiator": "^1.0.0"
       },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/express/node_modules/send/node_modules/encodeurl": {
-      "version": "1.0.2",
-      "dev": true,
+    "node_modules/acorn": {
+      "version": "8.15.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
       "license": "MIT",
+      "peer": true,
+      "bin": {
+        "acorn": "bin/acorn"
+      },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=0.4.0"
       }
     },
-    "node_modules/express/node_modules/serve-static": {
-      "version": "1.16.2",
-      "dev": true,
+    "node_modules/acorn-import-attributes": {
+      "version": "1.9.5",
+      "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
+      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
       "license": "MIT",
-      "dependencies": {
-        "encodeurl": "~2.0.0",
-        "escape-html": "~1.0.3",
-        "parseurl": "~1.3.3",
-        "send": "0.19.0"
-      },
-      "engines": {
-        "node": ">= 0.8.0"
+      "peerDependencies": {
+        "acorn": "^8"
       }
     },
-    "node_modules/express/node_modules/statuses": {
-      "version": "2.0.1",
-      "dev": true,
+    "node_modules/acorn-jsx": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+      "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+      "devOptional": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
+      "peerDependencies": {
+        "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
       }
     },
-    "node_modules/exsolve": {
-      "version": "1.0.5",
-      "license": "MIT"
-    },
-    "node_modules/externality": {
-      "version": "1.0.2",
+    "node_modules/agent-base": {
+      "version": "7.1.4",
+      "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+      "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
       "license": "MIT",
-      "dependencies": {
-        "enhanced-resolve": "^5.14.1",
-        "mlly": "^1.3.0",
-        "pathe": "^1.1.1",
-        "ufo": "^1.1.2"
+      "engines": {
+        "node": ">= 14"
       }
     },
-    "node_modules/extract-zip": {
-      "version": "2.0.1",
-      "license": "BSD-2-Clause",
+    "node_modules/ajv": {
+      "version": "6.12.6",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+      "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+      "devOptional": true,
+      "license": "MIT",
       "dependencies": {
-        "debug": "^4.1.1",
-        "get-stream": "^5.1.0",
-        "yauzl": "^2.10.0"
-      },
-      "bin": {
-        "extract-zip": "cli.js"
-      },
-      "engines": {
-        "node": ">= 10.17.0"
+        "fast-deep-equal": "^3.1.1",
+        "fast-json-stable-stringify": "^2.0.0",
+        "json-schema-traverse": "^0.4.1",
+        "uri-js": "^4.2.2"
       },
-      "optionalDependencies": {
-        "@types/yauzl": "^2.9.1"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/extract-zip/node_modules/get-stream": {
-      "version": "5.2.0",
+    "node_modules/ajv-formats": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
+      "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "pump": "^3.0.0"
+        "ajv": "^8.0.0"
       },
-      "engines": {
-        "node": ">=8"
+      "peerDependencies": {
+        "ajv": "^8.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependenciesMeta": {
+        "ajv": {
+          "optional": true
+        }
       }
     },
-    "node_modules/fast-deep-equal": {
-      "version": "3.1.3",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/fast-diff": {
-      "version": "1.3.0",
+    "node_modules/ajv-formats/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/fast-fifo": {
-      "version": "1.3.2",
-      "license": "MIT"
-    },
-    "node_modules/fast-glob": {
-      "version": "3.3.3",
       "license": "MIT",
       "dependencies": {
-        "@nodelib/fs.stat": "^2.0.2",
-        "@nodelib/fs.walk": "^1.2.3",
-        "glob-parent": "^5.1.2",
-        "merge2": "^1.3.0",
-        "micromatch": "^4.0.8"
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
       },
-      "engines": {
-        "node": ">=8.6.0"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/fast-glob/node_modules/glob-parent": {
-      "version": "5.1.2",
-      "license": "ISC",
+    "node_modules/ajv-formats/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/algoliasearch": {
+      "version": "5.46.2",
+      "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.46.2.tgz",
+      "integrity": "sha512-qqAXW9QvKf2tTyhpDA4qXv1IfBwD2eduSW6tUEBFIfCeE9gn9HQ9I5+MaKoenRuHrzk5sQoNh1/iof8mY7uD6Q==",
+      "dev": true,
+      "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "is-glob": "^4.0.1"
+        "@algolia/abtesting": "1.12.2",
+        "@algolia/client-abtesting": "5.46.2",
+        "@algolia/client-analytics": "5.46.2",
+        "@algolia/client-common": "5.46.2",
+        "@algolia/client-insights": "5.46.2",
+        "@algolia/client-personalization": "5.46.2",
+        "@algolia/client-query-suggestions": "5.46.2",
+        "@algolia/client-search": "5.46.2",
+        "@algolia/ingestion": "1.46.2",
+        "@algolia/monitoring": "1.46.2",
+        "@algolia/recommend": "5.46.2",
+        "@algolia/requester-browser-xhr": "5.46.2",
+        "@algolia/requester-fetch": "5.46.2",
+        "@algolia/requester-node-http": "5.46.2"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 14.0.0"
       }
     },
-    "node_modules/fast-json-stable-stringify": {
-      "version": "2.1.0",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/fast-levenshtein": {
-      "version": "2.0.6",
-      "devOptional": true,
+    "node_modules/alien-signals": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/alien-signals/-/alien-signals-3.1.2.tgz",
+      "integrity": "sha512-d9dYqZTS90WLiU0I5c6DHj/HcKkF8ZyGN3G5x8wSbslulz70KOxaqCT0hQCo9KOyhVqzqGojvNdJXoTumZOtcw==",
       "license": "MIT"
     },
-    "node_modules/fast-npm-meta": {
-      "version": "0.4.3",
+    "node_modules/ansi-colors": {
+      "version": "4.1.3",
+      "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz",
+      "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==",
+      "dev": true,
       "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "engines": {
+        "node": ">=6"
       }
     },
-    "node_modules/fast-uri": {
-      "version": "3.0.6",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fastify"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/fastify"
-        }
-      ],
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/fast-xml-parser": {
-      "version": "4.5.3",
+    "node_modules/ansi-escapes": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+      "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/NaturalIntelligence"
-        }
-      ],
       "license": "MIT",
       "dependencies": {
-        "strnum": "^1.1.1"
+        "type-fest": "^0.21.3"
       },
-      "bin": {
-        "fxparser": "src/cli/cli.js"
+      "engines": {
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/fastq": {
-      "version": "1.19.1",
-      "license": "ISC",
-      "dependencies": {
-        "reusify": "^1.0.4"
+    "node_modules/ansi-regex": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/faye-websocket": {
-      "version": "0.11.4",
-      "dev": true,
-      "license": "Apache-2.0",
+    "node_modules/ansi-styles": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+      "license": "MIT",
       "dependencies": {
-        "websocket-driver": ">=0.5.1"
+        "color-convert": "^2.0.1"
       },
       "engines": {
-        "node": ">=0.8.0"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/fb-watchman": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "bser": "2.1.1"
+    "node_modules/ansis": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.2.0.tgz",
+      "integrity": "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=14"
       }
     },
-    "node_modules/fd-slicer": {
-      "version": "1.1.0",
-      "license": "MIT",
+    "node_modules/anymatch": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+      "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+      "license": "ISC",
       "dependencies": {
-        "pend": "~1.2.0"
+        "normalize-path": "^3.0.0",
+        "picomatch": "^2.0.4"
+      },
+      "engines": {
+        "node": ">= 8"
       }
     },
-    "node_modules/fdir": {
-      "version": "6.4.6",
+    "node_modules/archiver": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/archiver/-/archiver-7.0.1.tgz",
+      "integrity": "sha512-ZcbTaIqJOfCc03QwD468Unz/5Ir8ATtvAHsK+FdXbDIbGfihqh9mrvdcYunQzqn4HrvWWaFyaxJhGZagaJJpPQ==",
       "license": "MIT",
-      "peerDependencies": {
-        "picomatch": "^3 || ^4"
+      "dependencies": {
+        "archiver-utils": "^5.0.2",
+        "async": "^3.2.4",
+        "buffer-crc32": "^1.0.0",
+        "readable-stream": "^4.0.0",
+        "readdir-glob": "^1.1.2",
+        "tar-stream": "^3.0.0",
+        "zip-stream": "^6.0.1"
       },
-      "peerDependenciesMeta": {
-        "picomatch": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">= 14"
       }
     },
-    "node_modules/fecha": {
-      "version": "4.2.3",
-      "license": "MIT"
-    },
-    "node_modules/fetch-blob": {
-      "version": "3.2.0",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/jimmywarting"
-        },
-        {
-          "type": "paypal",
-          "url": "https://paypal.me/jimmywarting"
-        }
-      ],
+    "node_modules/archiver-utils": {
+      "version": "5.0.2",
+      "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-5.0.2.tgz",
+      "integrity": "sha512-wuLJMmIBQYCsGZgYLTy5FIB2pF6Lfb6cXMSF8Qywwk3t20zWnAi7zLcQFdKQmIB8wyZpY5ER38x08GbwtR2cLA==",
       "license": "MIT",
       "dependencies": {
-        "node-domexception": "^1.0.0",
-        "web-streams-polyfill": "^3.0.3"
+        "glob": "^10.0.0",
+        "graceful-fs": "^4.2.0",
+        "is-stream": "^2.0.1",
+        "lazystream": "^1.0.0",
+        "lodash": "^4.17.15",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^4.0.0"
       },
       "engines": {
-        "node": "^12.20 || >= 14.13"
+        "node": ">= 14"
       }
     },
-    "node_modules/figures": {
-      "version": "6.1.0",
-      "dev": true,
+    "node_modules/archiver-utils/node_modules/brace-expansion": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+      "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
       "license": "MIT",
       "dependencies": {
-        "is-unicode-supported": "^2.0.0"
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/archiver-utils/node_modules/glob": {
+      "version": "10.5.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz",
+      "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==",
+      "license": "ISC",
+      "dependencies": {
+        "foreground-child": "^3.1.0",
+        "jackspeak": "^3.1.2",
+        "minimatch": "^9.0.4",
+        "minipass": "^7.1.2",
+        "package-json-from-dist": "^1.0.0",
+        "path-scurry": "^1.11.1"
       },
-      "engines": {
-        "node": ">=18"
+      "bin": {
+        "glob": "dist/esm/bin.mjs"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/file-entry-cache": {
-      "version": "6.0.1",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/archiver-utils/node_modules/lru-cache": {
+      "version": "10.4.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+      "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+      "license": "ISC"
+    },
+    "node_modules/archiver-utils/node_modules/minimatch": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+      "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+      "license": "ISC",
       "dependencies": {
-        "flat-cache": "^3.0.4"
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
-        "node": "^10.12.0 || >=12.0.0"
+        "node": ">=16 || 14 >=14.17"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/file-uri-to-path": {
-      "version": "1.0.0",
-      "license": "MIT"
-    },
-    "node_modules/filelist": {
-      "version": "1.0.4",
-      "dev": true,
-      "license": "Apache-2.0",
+    "node_modules/archiver-utils/node_modules/path-scurry": {
+      "version": "1.11.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz",
+      "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "minimatch": "^5.0.1"
+        "lru-cache": "^10.2.0",
+        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+      },
+      "engines": {
+        "node": ">=16 || 14 >=14.18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/filelist/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
+    "node_modules/argparse": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+      "devOptional": true,
+      "license": "Python-2.0"
     },
-    "node_modules/filelist/node_modules/minimatch": {
-      "version": "5.1.6",
+    "node_modules/array-buffer-byte-length": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz",
+      "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "call-bound": "^1.0.3",
+        "is-array-buffer": "^3.0.5"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/fill-range": {
-      "version": "7.1.1",
+    "node_modules/array-includes": {
+      "version": "3.1.9",
+      "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz",
+      "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "to-regex-range": "^5.0.1"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.4",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.24.0",
+        "es-object-atoms": "^1.1.1",
+        "get-intrinsic": "^1.3.0",
+        "is-string": "^1.1.1",
+        "math-intrinsics": "^1.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/filter-obj": {
-      "version": "6.1.0",
+    "node_modules/array.prototype.findlast": {
+      "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz",
+      "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.2",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.0.0",
+        "es-shim-unscopables": "^1.0.2"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/finalhandler": {
-      "version": "1.3.1",
+    "node_modules/array.prototype.flat": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz",
+      "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "debug": "2.6.9",
-        "encodeurl": "~2.0.0",
-        "escape-html": "~1.0.3",
-        "on-finished": "2.4.1",
-        "parseurl": "~1.3.3",
-        "statuses": "2.0.1",
-        "unpipe": "~1.0.0"
+        "call-bind": "^1.0.8",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.5",
+        "es-shim-unscopables": "^1.0.2"
       },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/finalhandler/node_modules/debug": {
-      "version": "2.6.9",
+    "node_modules/array.prototype.flatmap": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz",
+      "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ms": "2.0.0"
+        "call-bind": "^1.0.8",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.5",
+        "es-shim-unscopables": "^1.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/finalhandler/node_modules/ms": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/finalhandler/node_modules/statuses": {
-      "version": "2.0.1",
+    "node_modules/array.prototype.tosorted": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz",
+      "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.3",
+        "es-errors": "^1.3.0",
+        "es-shim-unscopables": "^1.0.2"
+      },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/find-cache-dir": {
-      "version": "4.0.0",
+    "node_modules/arraybuffer.prototype.slice": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz",
+      "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "common-path-prefix": "^3.0.0",
-        "pkg-dir": "^7.0.0"
+        "array-buffer-byte-length": "^1.0.1",
+        "call-bind": "^1.0.8",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.5",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "is-array-buffer": "^3.0.4"
       },
       "engines": {
-        "node": ">=14.16"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/find-up": {
-      "version": "5.0.0",
-      "devOptional": true,
+    "node_modules/ast-kit": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-2.2.0.tgz",
+      "integrity": "sha512-m1Q/RaVOnTp9JxPX+F+Zn7IcLYMzM8kZofDImfsKZd8MbR+ikdOzTeztStWqfrqIxZnYWryyI9ePm3NGjnZgGw==",
       "license": "MIT",
       "dependencies": {
-        "locate-path": "^6.0.0",
-        "path-exists": "^4.0.0"
+        "@babel/parser": "^7.28.5",
+        "pathe": "^2.0.3"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=20.19.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/find-up-simple": {
-      "version": "1.0.1",
+    "node_modules/ast-types": {
+      "version": "0.13.4",
+      "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+      "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
+      "dependencies": {
+        "tslib": "^2.0.1"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/flat": {
-      "version": "5.0.2",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "bin": {
-        "flat": "cli.js"
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/flat-cache": {
-      "version": "3.2.0",
-      "devOptional": true,
+    "node_modules/ast-walker-scope": {
+      "version": "0.8.3",
+      "resolved": "https://registry.npmjs.org/ast-walker-scope/-/ast-walker-scope-0.8.3.tgz",
+      "integrity": "sha512-cbdCP0PGOBq0ASG+sjnKIoYkWMKhhz+F/h9pRexUdX2Hd38+WOlBkRKlqkGOSm0YQpcFMQBJeK4WspUAkwsEdg==",
       "license": "MIT",
       "dependencies": {
-        "flatted": "^3.2.9",
-        "keyv": "^4.5.3",
-        "rimraf": "^3.0.2"
+        "@babel/parser": "^7.28.4",
+        "ast-kit": "^2.1.3"
       },
       "engines": {
-        "node": "^10.12.0 || >=12.0.0"
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/flatted": {
-      "version": "3.3.3",
-      "devOptional": true,
-      "license": "ISC"
-    },
-    "node_modules/fn.name": {
-      "version": "1.1.0",
+    "node_modules/async": {
+      "version": "3.2.6",
+      "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+      "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
       "license": "MIT"
     },
-    "node_modules/focus-trap": {
-      "version": "7.6.5",
+    "node_modules/async-function": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
+      "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "tabbable": "^6.2.0"
+      "engines": {
+        "node": ">= 0.4"
       }
     },
-    "node_modules/follow-redirects": {
-      "version": "1.15.9",
+    "node_modules/async-sema": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/async-sema/-/async-sema-3.1.1.tgz",
+      "integrity": "sha512-tLRNUXati5MFePdAk8dw7Qt7DpxPB60ofAgn8WRhW6a2rcimZnYBP9oxHiv0OHy+Wz7kPMG+t4LGdt31+4EmGg==",
+      "license": "MIT"
+    },
+    "node_modules/asynckit": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/autoprefixer": {
+      "version": "10.4.23",
+      "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.23.tgz",
+      "integrity": "sha512-YYTXSFulfwytnjAPlw8QHncHJmlvFKtczb8InXaAx9Q0LbfDnfEYDE55omerIJKihhmU61Ft+cAOSzQVaBUmeA==",
       "funding": [
         {
-          "type": "individual",
-          "url": "https://github.com/sponsors/RubenVerborgh"
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
         }
       ],
       "license": "MIT",
+      "dependencies": {
+        "browserslist": "^4.28.1",
+        "caniuse-lite": "^1.0.30001760",
+        "fraction.js": "^5.3.4",
+        "picocolors": "^1.1.1",
+        "postcss-value-parser": "^4.2.0"
+      },
+      "bin": {
+        "autoprefixer": "bin/autoprefixer"
+      },
       "engines": {
-        "node": ">=4.0"
+        "node": "^10 || ^12 || >=14"
       },
-      "peerDependenciesMeta": {
-        "debug": {
-          "optional": true
-        }
+      "peerDependencies": {
+        "postcss": "^8.1.0"
       }
     },
-    "node_modules/for-each": {
-      "version": "0.3.5",
+    "node_modules/available-typed-arrays": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+      "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "is-callable": "^1.2.7"
+        "possible-typed-array-names": "^1.0.0"
       },
       "engines": {
         "node": ">= 0.4"
@@ -17676,530 +11576,670 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/foreground-child": {
-      "version": "3.3.1",
-      "license": "ISC",
-      "dependencies": {
-        "cross-spawn": "^7.0.6",
-        "signal-exit": "^4.0.1"
-      },
+    "node_modules/axe-core": {
+      "version": "4.11.1",
+      "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.1.tgz",
+      "integrity": "sha512-BASOg+YwO2C+346x3LZOeoovTIoTrRqEsqMa6fmfAV0P+U9mFr9NsyOEpiYvFjbc64NMrSswhV50WdXzdb/Z5A==",
+      "dev": true,
+      "license": "MPL-2.0",
       "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": ">=4"
       }
     },
-    "node_modules/form-data": {
-      "version": "4.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "asynckit": "^0.4.0",
-        "combined-stream": "^1.0.8",
-        "es-set-tostringtag": "^2.1.0",
-        "hasown": "^2.0.2",
-        "mime-types": "^2.1.12"
+    "node_modules/b4a": {
+      "version": "1.7.3",
+      "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz",
+      "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==",
+      "license": "Apache-2.0",
+      "peerDependencies": {
+        "react-native-b4a": "*"
       },
-      "engines": {
-        "node": ">= 6"
+      "peerDependenciesMeta": {
+        "react-native-b4a": {
+          "optional": true
+        }
       }
     },
-    "node_modules/form-data-encoder": {
-      "version": "2.1.4",
+    "node_modules/babel-jest": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+      "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 14.17"
-      }
-    },
-    "node_modules/formdata-polyfill": {
-      "version": "4.0.10",
-      "license": "MIT",
       "dependencies": {
-        "fetch-blob": "^3.1.2"
+        "@jest/transform": "^29.7.0",
+        "@types/babel__core": "^7.1.14",
+        "babel-plugin-istanbul": "^6.1.1",
+        "babel-preset-jest": "^29.6.3",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "slash": "^3.0.0"
       },
       "engines": {
-        "node": ">=12.20.0"
-      }
-    },
-    "node_modules/forwarded": {
-      "version": "0.2.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
-      }
-    },
-    "node_modules/fraction.js": {
-      "version": "4.3.7",
-      "license": "MIT",
-      "engines": {
-        "node": "*"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
-      "funding": {
-        "type": "patreon",
-        "url": "https://github.com/sponsors/rawify"
-      }
-    },
-    "node_modules/fresh": {
-      "version": "2.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
+      "peerDependencies": {
+        "@babel/core": "^7.8.0"
       }
     },
-    "node_modules/fs-minipass": {
-      "version": "3.0.3",
+    "node_modules/babel-plugin-istanbul": {
+      "version": "6.1.1",
+      "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+      "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
       "dev": true,
-      "license": "ISC",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "minipass": "^7.0.3"
-      },
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-      }
-    },
-    "node_modules/fs.realpath": {
-      "version": "1.0.0",
-      "devOptional": true,
-      "license": "ISC"
-    },
-    "node_modules/fsevents": {
-      "version": "2.3.3",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
-      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
-      "hasInstallScript": true,
-      "license": "MIT",
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
+        "@babel/helper-plugin-utils": "^7.0.0",
+        "@istanbuljs/load-nyc-config": "^1.0.0",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-instrument": "^5.0.4",
+        "test-exclude": "^6.0.0"
+      },
       "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/fstream": {
-      "version": "1.0.12",
+    "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+      "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
       "dev": true,
-      "license": "ISC",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "graceful-fs": "^4.1.2",
-        "inherits": "~2.0.0",
-        "mkdirp": ">=0.5 0",
-        "rimraf": "2"
+        "@babel/core": "^7.12.3",
+        "@babel/parser": "^7.14.7",
+        "@istanbuljs/schema": "^0.1.2",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^6.3.0"
       },
       "engines": {
-        "node": ">=0.6"
+        "node": ">=8"
       }
     },
-    "node_modules/fstream/node_modules/glob": {
-      "version": "7.2.3",
+    "node_modules/babel-plugin-jest-hoist": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+      "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@babel/template": "^7.3.3",
+        "@babel/types": "^7.3.3",
+        "@types/babel__core": "^7.1.14",
+        "@types/babel__traverse": "^7.0.6"
       },
       "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/fstream/node_modules/mkdirp": {
-      "version": "0.5.6",
+    "node_modules/babel-preset-current-node-syntax": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz",
+      "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "minimist": "^1.2.6"
+        "@babel/plugin-syntax-async-generators": "^7.8.4",
+        "@babel/plugin-syntax-bigint": "^7.8.3",
+        "@babel/plugin-syntax-class-properties": "^7.12.13",
+        "@babel/plugin-syntax-class-static-block": "^7.14.5",
+        "@babel/plugin-syntax-import-attributes": "^7.24.7",
+        "@babel/plugin-syntax-import-meta": "^7.10.4",
+        "@babel/plugin-syntax-json-strings": "^7.8.3",
+        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
+        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
+        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
+        "@babel/plugin-syntax-top-level-await": "^7.14.5"
       },
-      "bin": {
-        "mkdirp": "bin/cmd.js"
+      "peerDependencies": {
+        "@babel/core": "^7.0.0 || ^8.0.0-0"
       }
     },
-    "node_modules/fstream/node_modules/rimraf": {
-      "version": "2.7.1",
+    "node_modules/babel-preset-jest": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+      "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "glob": "^7.1.3"
+        "babel-plugin-jest-hoist": "^29.6.3",
+        "babel-preset-current-node-syntax": "^1.0.0"
       },
-      "bin": {
-        "rimraf": "bin.js"
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/function-bind": {
-      "version": "1.1.2",
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+    "node_modules/balanced-match": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+      "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+      "license": "MIT"
+    },
+    "node_modules/bare-events": {
+      "version": "2.8.2",
+      "resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.8.2.tgz",
+      "integrity": "sha512-riJjyv1/mHLIPX4RwiK+oW9/4c3TEUeORHKefKAKnZ5kyslbN+HXowtbaVEqt4IMUB7OXlfixcs6gsFeo/jhiQ==",
+      "license": "Apache-2.0",
+      "peerDependencies": {
+        "bare-abort-controller": "*"
+      },
+      "peerDependenciesMeta": {
+        "bare-abort-controller": {
+          "optional": true
+        }
       }
     },
-    "node_modules/function.prototype.name": {
-      "version": "1.1.8",
+    "node_modules/bare-fs": {
+      "version": "4.5.3",
+      "resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-4.5.3.tgz",
+      "integrity": "sha512-9+kwVx8QYvt3hPWnmb19tPnh38c6Nihz8Lx3t0g9+4GoIf3/fTgYwM4Z6NxgI+B9elLQA7mLE9PpqcWtOMRDiQ==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "Apache-2.0",
+      "optional": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "define-properties": "^1.2.1",
-        "functions-have-names": "^1.2.3",
-        "hasown": "^2.0.2",
-        "is-callable": "^1.2.7"
+        "bare-events": "^2.5.4",
+        "bare-path": "^3.0.0",
+        "bare-stream": "^2.6.4",
+        "bare-url": "^2.2.2",
+        "fast-fifo": "^1.3.2"
       },
       "engines": {
-        "node": ">= 0.4"
+        "bare": ">=1.16.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "bare-buffer": "*"
+      },
+      "peerDependenciesMeta": {
+        "bare-buffer": {
+          "optional": true
+        }
       }
     },
-    "node_modules/functions-have-names": {
-      "version": "1.2.3",
+    "node_modules/bare-os": {
+      "version": "3.6.2",
+      "resolved": "https://registry.npmjs.org/bare-os/-/bare-os-3.6.2.tgz",
+      "integrity": "sha512-T+V1+1srU2qYNBmJCXZkUY5vQ0B4FSlL3QDROnKQYOqeiQR8UbjNHlPa+TIbM4cuidiN9GaTaOZgSEgsvPbh5A==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "license": "Apache-2.0",
+      "optional": true,
+      "engines": {
+        "bare": ">=1.14.0"
       }
     },
-    "node_modules/fuse.js": {
-      "version": "7.1.0",
+    "node_modules/bare-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.0.tgz",
+      "integrity": "sha512-tyfW2cQcB5NN8Saijrhqn0Zh7AnFNsnczRcuWODH0eYAXBsJ5gVxAUuNr7tsHSC6IZ77cA0SitzT+s47kot8Mw==",
+      "dev": true,
       "license": "Apache-2.0",
-      "engines": {
-        "node": ">=10"
+      "optional": true,
+      "dependencies": {
+        "bare-os": "^3.0.1"
       }
     },
-    "node_modules/geckodriver": {
-      "version": "5.0.0",
+    "node_modules/bare-stream": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-2.7.0.tgz",
+      "integrity": "sha512-oyXQNicV1y8nc2aKffH+BUHFRXmx6VrPzlnaEvMhram0nPBrKcEdcyBg5r08D0i8VxngHFAiVyn1QKXpSG0B8A==",
       "dev": true,
-      "hasInstallScript": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
+      "optional": true,
       "dependencies": {
-        "@wdio/logger": "^9.1.3",
-        "@zip.js/zip.js": "^2.7.53",
-        "decamelize": "^6.0.0",
-        "http-proxy-agent": "^7.0.2",
-        "https-proxy-agent": "^7.0.5",
-        "node-fetch": "^3.3.2",
-        "tar-fs": "^3.0.6",
-        "which": "^5.0.0"
+        "streamx": "^2.21.0"
       },
-      "bin": {
-        "geckodriver": "bin/geckodriver.js"
+      "peerDependencies": {
+        "bare-buffer": "*",
+        "bare-events": "*"
       },
-      "engines": {
-        "node": ">=18.0.0"
+      "peerDependenciesMeta": {
+        "bare-buffer": {
+          "optional": true
+        },
+        "bare-events": {
+          "optional": true
+        }
       }
     },
-    "node_modules/geckodriver/node_modules/isexe": {
-      "version": "3.1.1",
+    "node_modules/bare-url": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/bare-url/-/bare-url-2.3.2.tgz",
+      "integrity": "sha512-ZMq4gd9ngV5aTMa5p9+UfY0b3skwhHELaDkhEHetMdX0LRkW9kzaym4oo/Eh+Ghm0CCDuMTsRIGM/ytUc1ZYmw==",
       "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=16"
+      "license": "Apache-2.0",
+      "optional": true,
+      "dependencies": {
+        "bare-path": "^3.0.0"
       }
     },
-    "node_modules/geckodriver/node_modules/which": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
+    "node_modules/base64-js": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+      "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/baseline-browser-mapping": {
+      "version": "2.9.18",
+      "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz",
+      "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==",
+      "license": "Apache-2.0",
       "bin": {
-        "node-which": "bin/which.js"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "baseline-browser-mapping": "dist/cli.js"
       }
     },
-    "node_modules/gensync": {
-      "version": "1.0.0-beta.2",
+    "node_modules/basic-ftp": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.1.0.tgz",
+      "integrity": "sha512-RkaJzeJKDbaDWTIPiJwubyljaEPwpVWkm9Rt5h9Nd6h7tEXTJ3VB4qxdZBioV7JO5yLUaOKwz7vDOzlncUsegw==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=6.9.0"
+        "node": ">=10.0.0"
       }
     },
-    "node_modules/get-amd-module-type": {
-      "version": "6.0.1",
-      "license": "MIT",
+    "node_modules/beasties": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz",
+      "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==",
+      "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "ast-module-types": "^6.0.1",
-        "node-source-walk": "^7.0.1"
+        "css-select": "^6.0.0",
+        "css-what": "^7.0.0",
+        "dom-serializer": "^2.0.0",
+        "domhandler": "^5.0.3",
+        "htmlparser2": "^10.0.0",
+        "picocolors": "^1.1.1",
+        "postcss": "^8.4.49",
+        "postcss-media-query-parser": "^0.2.3"
       },
       "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/get-caller-file": {
-      "version": "2.0.5",
-      "license": "ISC",
-      "engines": {
-        "node": "6.* || 8.* || >= 10.*"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/get-east-asian-width": {
-      "version": "1.3.0",
+    "node_modules/before-after-hook": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+      "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "license": "Apache-2.0"
     },
-    "node_modules/get-intrinsic": {
-      "version": "1.3.0",
-      "license": "MIT",
-      "dependencies": {
-        "call-bind-apply-helpers": "^1.0.2",
-        "es-define-property": "^1.0.1",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.1.1",
-        "function-bind": "^1.1.2",
-        "get-proto": "^1.0.1",
-        "gopd": "^1.2.0",
-        "has-symbols": "^1.1.0",
-        "hasown": "^2.0.2",
-        "math-intrinsics": "^1.1.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+    "node_modules/bindings": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz",
+      "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==",
+      "license": "MIT",
+      "dependencies": {
+        "file-uri-to-path": "1.0.0"
       }
     },
-    "node_modules/get-package-type": {
-      "version": "0.1.0",
-      "dev": true,
+    "node_modules/birpc": {
+      "version": "2.9.0",
+      "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz",
+      "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==",
       "license": "MIT",
-      "engines": {
-        "node": ">=8.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
       }
     },
-    "node_modules/get-port": {
-      "version": "7.1.0",
+    "node_modules/body-parser": {
+      "version": "2.2.2",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz",
+      "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "bytes": "^3.1.2",
+        "content-type": "^1.0.5",
+        "debug": "^4.4.3",
+        "http-errors": "^2.0.0",
+        "iconv-lite": "^0.7.0",
+        "on-finished": "^2.4.1",
+        "qs": "^6.14.1",
+        "raw-body": "^3.0.1",
+        "type-is": "^2.0.1"
+      },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/get-port-please": {
-      "version": "3.1.2",
-      "license": "MIT"
+    "node_modules/boolbase": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+      "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+      "license": "ISC"
     },
-    "node_modules/get-proto": {
-      "version": "1.0.1",
+    "node_modules/brace-expansion": {
+      "version": "1.1.12",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+      "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "dunder-proto": "^1.0.1",
-        "es-object-atoms": "^1.0.0"
-      },
-      "engines": {
-        "node": ">= 0.4"
+        "balanced-match": "^1.0.0",
+        "concat-map": "0.0.1"
       }
     },
-    "node_modules/get-stream": {
-      "version": "9.0.1",
-      "dev": true,
+    "node_modules/braces": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
       "license": "MIT",
       "dependencies": {
-        "@sec-ant/readable-stream": "^0.4.1",
-        "is-stream": "^4.0.1"
+        "fill-range": "^7.1.1"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=8"
       }
     },
-    "node_modules/get-symbol-description": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/browserslist": {
+      "version": "4.28.1",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz",
+      "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.6"
+        "baseline-browser-mapping": "^2.9.0",
+        "caniuse-lite": "^1.0.30001759",
+        "electron-to-chromium": "^1.5.263",
+        "node-releases": "^2.0.27",
+        "update-browserslist-db": "^1.2.0"
       },
-      "engines": {
-        "node": ">= 0.4"
+      "bin": {
+        "browserslist": "cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
       }
     },
-    "node_modules/get-tsconfig": {
-      "version": "4.10.1",
-      "devOptional": true,
+    "node_modules/bser": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+      "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "node-int64": "^0.4.0"
+      }
+    },
+    "node_modules/buffer": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
+      "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "resolve-pkg-maps": "^1.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
+        "base64-js": "^1.3.1",
+        "ieee754": "^1.2.1"
       }
     },
-    "node_modules/get-uri": {
-      "version": "6.0.4",
-      "dev": true,
+    "node_modules/buffer-crc32": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-1.0.0.tgz",
+      "integrity": "sha512-Db1SbgBS/fg/392AblrMJk97KggmvYhr4pB5ZIMTWtaivCPMWLkmb7m21cJvpvgK+J3nsU2CmmixNBZx4vFj/w==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/buffer-from": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+      "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+      "license": "MIT"
+    },
+    "node_modules/bundle-name": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz",
+      "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==",
       "license": "MIT",
       "dependencies": {
-        "basic-ftp": "^5.0.2",
-        "data-uri-to-buffer": "^6.0.2",
-        "debug": "^4.3.4"
+        "run-applescript": "^7.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/get-uri/node_modules/data-uri-to-buffer": {
-      "version": "6.0.2",
+    "node_modules/bytes": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 14"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/giget": {
-      "version": "2.0.0",
+    "node_modules/c12": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/c12/-/c12-3.3.3.tgz",
+      "integrity": "sha512-750hTRvgBy5kcMNPdh95Qo+XUBeGo8C7nsKSmedDmaQI+E0r82DwHeM6vBewDe4rGFbnxoa4V9pw+sPh5+Iz8Q==",
       "license": "MIT",
       "dependencies": {
-        "citty": "^0.1.6",
-        "consola": "^3.4.0",
+        "chokidar": "^5.0.0",
+        "confbox": "^0.2.2",
         "defu": "^6.1.4",
-        "node-fetch-native": "^1.6.6",
-        "nypm": "^0.6.0",
-        "pathe": "^2.0.3"
+        "dotenv": "^17.2.3",
+        "exsolve": "^1.0.8",
+        "giget": "^2.0.0",
+        "jiti": "^2.6.1",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.0.0",
+        "pkg-types": "^2.3.0",
+        "rc9": "^2.1.2"
       },
-      "bin": {
-        "giget": "dist/cli.mjs"
+      "peerDependencies": {
+        "magicast": "*"
+      },
+      "peerDependenciesMeta": {
+        "magicast": {
+          "optional": true
+        }
       }
     },
-    "node_modules/giget/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/c12/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
       "license": "MIT"
     },
-    "node_modules/git-up": {
-      "version": "8.1.1",
+    "node_modules/c12/node_modules/dotenv": {
+      "version": "17.2.3",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz",
+      "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==",
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://dotenvx.com"
+      }
+    },
+    "node_modules/c12/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "is-ssh": "^1.4.0",
-        "parse-url": "^9.2.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/git-url-parse": {
-      "version": "16.1.0",
+    "node_modules/cac": {
+      "version": "6.7.14",
+      "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz",
+      "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==",
       "license": "MIT",
-      "dependencies": {
-        "git-up": "^8.1.0"
+      "peer": true,
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/glob": {
-      "version": "10.4.5",
+    "node_modules/cacache": {
+      "version": "20.0.3",
+      "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
+      "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
+      "dev": true,
       "license": "ISC",
       "dependencies": {
-        "foreground-child": "^3.1.0",
-        "jackspeak": "^3.1.2",
-        "minimatch": "^9.0.4",
-        "minipass": "^7.1.2",
-        "package-json-from-dist": "^1.0.0",
-        "path-scurry": "^1.11.1"
-      },
-      "bin": {
-        "glob": "dist/esm/bin.mjs"
+        "@npmcli/fs": "^5.0.0",
+        "fs-minipass": "^3.0.0",
+        "glob": "^13.0.0",
+        "lru-cache": "^11.1.0",
+        "minipass": "^7.0.3",
+        "minipass-collect": "^2.0.1",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "p-map": "^7.0.2",
+        "ssri": "^13.0.0",
+        "unique-filename": "^5.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/glob-parent": {
-      "version": "6.0.2",
-      "devOptional": true,
-      "license": "ISC",
+    "node_modules/cacache/node_modules/glob": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+      "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+      "dev": true,
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "is-glob": "^4.0.3"
+        "minimatch": "^10.1.1",
+        "minipass": "^7.1.2",
+        "path-scurry": "^2.0.0"
       },
       "engines": {
-        "node": ">=10.13.0"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/glob-to-regexp": {
-      "version": "0.4.1",
+    "node_modules/cacache/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
       "dev": true,
-      "license": "BSD-2-Clause"
-    },
-    "node_modules/glob/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": "20 || >=22"
       }
     },
-    "node_modules/glob/node_modules/minimatch": {
-      "version": "9.0.5",
-      "license": "ISC",
+    "node_modules/cacache/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+      "dev": true,
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "@isaacs/brace-expansion": "^5.0.0"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": "20 || >=22"
       },
       "funding": {
         "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/global-directory": {
-      "version": "4.0.1",
+    "node_modules/call-bind": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
+      "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ini": "4.1.1"
+        "call-bind-apply-helpers": "^1.0.0",
+        "es-define-property": "^1.0.0",
+        "get-intrinsic": "^1.2.4",
+        "set-function-length": "^1.2.2"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/global-directory/node_modules/ini": {
-      "version": "4.1.1",
-      "license": "ISC",
-      "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/globals": {
-      "version": "11.12.0",
+    "node_modules/call-bind-apply-helpers": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+      "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2"
+      },
       "engines": {
-        "node": ">=4"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/globalthis": {
+    "node_modules/call-bound": {
       "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+      "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "define-properties": "^1.2.1",
-        "gopd": "^1.0.1"
+        "call-bind-apply-helpers": "^1.0.2",
+        "get-intrinsic": "^1.3.0"
       },
       "engines": {
         "node": ">= 0.4"
@@ -18208,1452 +12248,1708 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/globby": {
-      "version": "14.1.0",
+    "node_modules/call-me-maybe": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz",
+      "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/callsites": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+      "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "@sindresorhus/merge-streams": "^2.1.0",
-        "fast-glob": "^3.3.3",
-        "ignore": "^7.0.3",
-        "path-type": "^6.0.0",
-        "slash": "^5.1.0",
-        "unicorn-magic": "^0.3.0"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
-    "node_modules/globby/node_modules/ignore": {
-      "version": "7.0.5",
+    "node_modules/camelcase": {
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 4"
+        "node": ">=6"
       }
     },
-    "node_modules/globrex": {
-      "version": "0.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/gonzales-pe": {
-      "version": "4.3.0",
+    "node_modules/caniuse-api": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
+      "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
       "license": "MIT",
       "dependencies": {
-        "minimist": "^1.2.5"
-      },
-      "bin": {
-        "gonzales": "bin/gonzales.js"
-      },
-      "engines": {
-        "node": ">=0.6.0"
+        "browserslist": "^4.0.0",
+        "caniuse-lite": "^1.0.0",
+        "lodash.memoize": "^4.1.2",
+        "lodash.uniq": "^4.5.0"
       }
     },
-    "node_modules/gopd": {
-      "version": "1.2.0",
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001766",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz",
+      "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
+      "license": "CC-BY-4.0"
+    },
+    "node_modules/ccount": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+      "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.4"
-      },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/got": {
-      "version": "12.6.1",
-      "dev": true,
+    "node_modules/chalk": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "@sindresorhus/is": "^5.2.0",
-        "@szmarczak/http-timer": "^5.0.1",
-        "cacheable-lookup": "^7.0.0",
-        "cacheable-request": "^10.2.8",
-        "decompress-response": "^6.0.0",
-        "form-data-encoder": "^2.1.2",
-        "get-stream": "^6.0.1",
-        "http2-wrapper": "^2.1.10",
-        "lowercase-keys": "^3.0.0",
-        "p-cancelable": "^3.0.0",
-        "responselike": "^3.0.0"
+        "ansi-styles": "^4.1.0",
+        "supports-color": "^7.1.0"
       },
       "engines": {
-        "node": ">=14.16"
+        "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/sindresorhus/got?sponsor=1"
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/got/node_modules/@sindresorhus/is": {
-      "version": "5.6.0",
+    "node_modules/char-regex": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+      "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/is?sponsor=1"
+        "node": ">=10"
       }
     },
-    "node_modules/got/node_modules/get-stream": {
-      "version": "6.0.1",
+    "node_modules/character-entities-html4": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+      "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/graceful-fs": {
-      "version": "4.2.11",
-      "license": "ISC"
-    },
-    "node_modules/grapheme-splitter": {
-      "version": "1.0.4",
+    "node_modules/character-entities-legacy": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+      "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
     },
-    "node_modules/graphemer": {
-      "version": "1.4.0",
-      "devOptional": true,
+    "node_modules/chardet": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.1.tgz",
+      "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/gzip-size": {
-      "version": "7.0.0",
-      "license": "MIT",
+    "node_modules/chevrotain": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/chevrotain/-/chevrotain-11.0.3.tgz",
+      "integrity": "sha512-ci2iJH6LeIkvP9eJW6gpueU8cnZhv85ELY8w8WiFtNjMHA5ad6pQLaJo9mEly/9qUyCpvqX8/POVUTf18/HFdw==",
+      "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "duplexer": "^0.1.2"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "@chevrotain/cst-dts-gen": "11.0.3",
+        "@chevrotain/gast": "11.0.3",
+        "@chevrotain/regexp-to-ast": "11.0.3",
+        "@chevrotain/types": "11.0.3",
+        "@chevrotain/utils": "11.0.3",
+        "lodash-es": "4.17.21"
       }
     },
-    "node_modules/h3": {
-      "version": "1.15.3",
+    "node_modules/chevrotain-allstar": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/chevrotain-allstar/-/chevrotain-allstar-0.3.1.tgz",
+      "integrity": "sha512-b7g+y9A0v4mxCW1qUhf3BSVPg+/NvGErk/dOkrDaHA0nQIQGAtrOjlX//9OQtRlSCy+x9rfB5N8yC71lH1nvMw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cookie-es": "^1.2.2",
-        "crossws": "^0.3.4",
-        "defu": "^6.1.4",
-        "destr": "^2.0.5",
-        "iron-webcrypto": "^1.2.1",
-        "node-mock-http": "^1.0.0",
-        "radix3": "^1.1.2",
-        "ufo": "^1.6.1",
-        "uncrypto": "^0.1.3"
+        "lodash-es": "^4.17.21"
+      },
+      "peerDependencies": {
+        "chevrotain": "^11.0.0"
       }
     },
-    "node_modules/h3/node_modules/cookie-es": {
-      "version": "1.2.2",
-      "license": "MIT"
-    },
-    "node_modules/hachure-fill": {
-      "version": "0.5.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/handle-thing": {
-      "version": "2.0.1",
+    "node_modules/chevrotain/node_modules/lodash-es": {
+      "version": "4.17.21",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+      "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/has-bigints": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/chokidar": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz",
+      "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==",
       "license": "MIT",
-      "peer": true,
+      "dependencies": {
+        "readdirp": "^5.0.0"
+      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">= 20.19.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/has-flag": {
-      "version": "4.0.0",
-      "devOptional": true,
+    "node_modules/chownr": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz",
+      "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==",
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": ">=18"
+      }
+    },
+    "node_modules/chromium-bidi": {
+      "version": "13.0.1",
+      "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-13.0.1.tgz",
+      "integrity": "sha512-c+RLxH0Vg2x2syS9wPw378oJgiJNXtYXUvnVAldUlt5uaHekn0CCU7gPksNgHjrH1qFhmjVXQj4esvuthuC7OQ==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "mitt": "^3.0.1",
+        "zod": "^3.24.1"
+      },
+      "peerDependencies": {
+        "devtools-protocol": "*"
+      }
+    },
+    "node_modules/ci-info": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+      "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/sibiraj-s"
+        }
+      ],
       "license": "MIT",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/has-property-descriptors": {
-      "version": "1.0.2",
-      "dev": true,
+    "node_modules/citty": {
+      "version": "0.1.6",
+      "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz",
+      "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "es-define-property": "^1.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "consola": "^3.2.3"
       }
     },
-    "node_modules/has-proto": {
-      "version": "1.2.0",
+    "node_modules/cjs-module-lexer": {
+      "version": "1.4.3",
+      "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz",
+      "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/cli-cursor": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz",
+      "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "dunder-proto": "^1.0.0"
+        "restore-cursor": "^5.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/has-symbols": {
-      "version": "1.1.0",
+    "node_modules/cli-spinners": {
+      "version": "3.4.0",
+      "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-3.4.0.tgz",
+      "integrity": "sha512-bXfOC4QcT1tKXGorxL3wbJm6XJPDqEnij2gQ2m7ESQuE+/z9YFIWnl/5RpTiKWbMq3EVKR4fRLJGn6DVfu0mpw==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18.20"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/has-tostringtag": {
-      "version": "1.0.2",
+    "node_modules/cli-truncate": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-5.1.1.tgz",
+      "integrity": "sha512-SroPvNHxUnk+vIW/dOSfNqdy1sPEFkrTk6TUtqLCnBlo3N7TNYYkzzN7uSD6+jVjrdO4+p8nH7JzH6cIvUem6A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "has-symbols": "^1.0.3"
+        "slice-ansi": "^7.1.0",
+        "string-width": "^8.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=20"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/hasown": {
-      "version": "2.0.2",
+    "node_modules/cli-truncate/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "function-bind": "^1.1.2"
-      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/hast-util-to-html": {
-      "version": "9.0.5",
+    "node_modules/cli-truncate/node_modules/string-width": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
+      "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/hast": "^3.0.0",
-        "@types/unist": "^3.0.0",
-        "ccount": "^2.0.0",
-        "comma-separated-tokens": "^2.0.0",
-        "hast-util-whitespace": "^3.0.0",
-        "html-void-elements": "^3.0.0",
-        "mdast-util-to-hast": "^13.0.0",
-        "property-information": "^7.0.0",
-        "space-separated-tokens": "^2.0.0",
-        "stringify-entities": "^4.0.0",
-        "zwitch": "^2.0.4"
+        "get-east-asian-width": "^1.3.0",
+        "strip-ansi": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=20"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/hast-util-whitespace": {
-      "version": "3.0.0",
+    "node_modules/cli-truncate/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/hast": "^3.0.0"
+        "ansi-regex": "^6.0.1"
+      },
+      "engines": {
+        "node": ">=12"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
-      }
-    },
-    "node_modules/he": {
-      "version": "1.2.0",
-      "devOptional": true,
-      "license": "MIT",
-      "bin": {
-        "he": "bin/he"
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/hookable": {
-      "version": "5.5.3",
-      "license": "MIT"
-    },
-    "node_modules/hosted-git-info": {
-      "version": "8.1.0",
+    "node_modules/cli-width": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz",
+      "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==",
       "dev": true,
       "license": "ISC",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/clipboardy": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-4.0.0.tgz",
+      "integrity": "sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==",
+      "license": "MIT",
       "dependencies": {
-        "lru-cache": "^10.0.1"
+        "execa": "^8.0.1",
+        "is-wsl": "^3.1.0",
+        "is64bit": "^2.0.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/hosted-git-info/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/hpack.js": {
-      "version": "2.1.6",
-      "dev": true,
+    "node_modules/clipboardy/node_modules/execa": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz",
+      "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==",
       "license": "MIT",
       "dependencies": {
-        "inherits": "^2.0.1",
-        "obuf": "^1.0.0",
-        "readable-stream": "^2.0.1",
-        "wbuf": "^1.1.0"
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^8.0.1",
+        "human-signals": "^5.0.0",
+        "is-stream": "^3.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^5.1.0",
+        "onetime": "^6.0.0",
+        "signal-exit": "^4.1.0",
+        "strip-final-newline": "^3.0.0"
+      },
+      "engines": {
+        "node": ">=16.17"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/hpack.js/node_modules/isarray": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/hpack.js/node_modules/readable-stream": {
-      "version": "2.3.8",
-      "dev": true,
+    "node_modules/clipboardy/node_modules/get-stream": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz",
+      "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==",
       "license": "MIT",
-      "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+      "engines": {
+        "node": ">=16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/hpack.js/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "dev": true,
-      "license": "MIT"
+    "node_modules/clipboardy/node_modules/human-signals": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz",
+      "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==",
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=16.17.0"
+      }
     },
-    "node_modules/hpack.js/node_modules/string_decoder": {
-      "version": "1.1.1",
-      "dev": true,
+    "node_modules/clipboardy/node_modules/is-stream": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz",
+      "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==",
       "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
+      "engines": {
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/html-dom-parser": {
-      "version": "5.1.1",
+    "node_modules/clipboardy/node_modules/mimic-fn": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz",
+      "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==",
       "license": "MIT",
-      "dependencies": {
-        "domhandler": "5.0.3",
-        "htmlparser2": "10.0.0"
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/html-encoding-sniffer": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/clipboardy/node_modules/npm-run-path": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz",
+      "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==",
       "license": "MIT",
       "dependencies": {
-        "whatwg-encoding": "^3.1.1"
+        "path-key": "^4.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/html-escaper": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/html-react-parser": {
-      "version": "5.2.5",
+    "node_modules/clipboardy/node_modules/onetime": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz",
+      "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==",
       "license": "MIT",
       "dependencies": {
-        "domhandler": "5.0.3",
-        "html-dom-parser": "5.1.1",
-        "react-property": "2.0.2",
-        "style-to-js": "1.1.16"
+        "mimic-fn": "^4.0.0"
       },
-      "peerDependencies": {
-        "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19",
-        "react": "0.14 || 15 || 16 || 17 || 18 || 19"
+      "engines": {
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "@types/react": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/html-void-elements": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/clipboardy/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
       "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
       "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/htmlfy": {
-      "version": "0.6.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/htmlparser2": {
-      "version": "10.0.0",
-      "funding": [
-        "https://github.com/fb55/htmlparser2?sponsor=1",
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fb55"
-        }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "domelementtype": "^2.3.0",
-        "domhandler": "^5.0.3",
-        "domutils": "^3.2.1",
-        "entities": "^6.0.0"
+    "node_modules/clipboardy/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/htmlparser2/node_modules/entities": {
-      "version": "6.0.1",
-      "license": "BSD-2-Clause",
+    "node_modules/clipboardy/node_modules/strip-final-newline": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz",
+      "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==",
+      "license": "MIT",
       "engines": {
-        "node": ">=0.12"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/http-cache-semantics": {
-      "version": "4.2.0",
-      "dev": true,
-      "license": "BSD-2-Clause"
-    },
-    "node_modules/http-deceiver": {
-      "version": "1.2.7",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/http-errors": {
-      "version": "2.0.0",
-      "license": "MIT",
+    "node_modules/cliui": {
+      "version": "8.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+      "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+      "license": "ISC",
       "dependencies": {
-        "depd": "2.0.0",
-        "inherits": "2.0.4",
-        "setprototypeof": "1.2.0",
-        "statuses": "2.0.1",
-        "toidentifier": "1.0.1"
+        "string-width": "^4.2.0",
+        "strip-ansi": "^6.0.1",
+        "wrap-ansi": "^7.0.0"
       },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=12"
       }
     },
-    "node_modules/http-errors/node_modules/statuses": {
-      "version": "2.0.1",
-      "license": "MIT",
+    "node_modules/cluster-key-slot": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz",
+      "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/http-parser-js": {
-      "version": "0.5.10",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/http-proxy": {
-      "version": "1.18.1",
+    "node_modules/co": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+      "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "eventemitter3": "^4.0.0",
-        "follow-redirects": "^1.0.0",
-        "requires-port": "^1.0.0"
-      },
       "engines": {
-        "node": ">=8.0.0"
+        "iojs": ">= 1.0.0",
+        "node": ">= 0.12.0"
       }
     },
-    "node_modules/http-proxy-agent": {
-      "version": "7.0.2",
+    "node_modules/code-block-writer": {
+      "version": "13.0.3",
+      "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-13.0.3.tgz",
+      "integrity": "sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==",
+      "license": "MIT"
+    },
+    "node_modules/collect-v8-coverage": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz",
+      "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/color-convert": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.1.0",
-        "debug": "^4.3.4"
+        "color-name": "~1.1.4"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=7.0.0"
       }
     },
-    "node_modules/http-proxy-middleware": {
-      "version": "3.0.5",
+    "node_modules/color-name": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+      "license": "MIT"
+    },
+    "node_modules/colord": {
+      "version": "2.9.3",
+      "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
+      "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
+      "license": "MIT"
+    },
+    "node_modules/colorette": {
+      "version": "2.0.20",
+      "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+      "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/colorjs.io": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/colorjs.io/-/colorjs.io-0.5.2.tgz",
+      "integrity": "sha512-twmVoizEW7ylZSN32OgKdXRmo1qg+wT5/6C3xu5b9QsWzSFAhHLn2xd8ro0diCsKfCj1RdaTP/nrcW+vAoQPIw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/combined-stream": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/http-proxy": "^1.17.15",
-        "debug": "^4.3.6",
-        "http-proxy": "^1.18.1",
-        "is-glob": "^4.0.3",
-        "is-plain-object": "^5.0.0",
-        "micromatch": "^4.0.8"
+        "delayed-stream": "~1.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/http-shutdown": {
-      "version": "1.2.2",
+    "node_modules/comma-separated-tokens": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz",
+      "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "iojs": ">= 1.0.0",
-        "node": ">= 0.12.0"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/http2-wrapper": {
-      "version": "2.2.1",
-      "dev": true,
+    "node_modules/commander": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
+      "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "quick-lru": "^5.1.1",
-        "resolve-alpn": "^1.2.0"
-      },
+      "peer": true,
       "engines": {
-        "node": ">=10.19.0"
+        "node": ">= 10"
       }
     },
-    "node_modules/http2-wrapper/node_modules/quick-lru": {
-      "version": "5.1.1",
+    "node_modules/common-path-prefix": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz",
+      "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+      "license": "ISC"
     },
-    "node_modules/https-proxy-agent": {
-      "version": "7.0.6",
+    "node_modules/commondir": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+      "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+      "license": "MIT"
+    },
+    "node_modules/compatx": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/compatx/-/compatx-0.2.0.tgz",
+      "integrity": "sha512-6gLRNt4ygsi5NyMVhceOCFv14CIdDFN7fQjX1U4+47qVE/+kjPoXMK65KWK+dWxmFzMTuKazoQ9sch6pM0p5oA==",
+      "license": "MIT"
+    },
+    "node_modules/compress-commons": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-6.0.2.tgz",
+      "integrity": "sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==",
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.1.2",
-        "debug": "4"
+        "crc-32": "^1.2.0",
+        "crc32-stream": "^6.0.0",
+        "is-stream": "^2.0.1",
+        "normalize-path": "^3.0.0",
+        "readable-stream": "^4.0.0"
       },
       "engines": {
         "node": ">= 14"
       }
     },
-    "node_modules/httpxy": {
-      "version": "0.1.7",
+    "node_modules/concat-map": {
+      "version": "0.0.1",
+      "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+      "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+      "devOptional": true,
       "license": "MIT"
     },
-    "node_modules/human-signals": {
-      "version": "8.0.1",
-      "dev": true,
-      "license": "Apache-2.0",
+    "node_modules/confbox": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.1.8.tgz",
+      "integrity": "sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==",
+      "license": "MIT"
+    },
+    "node_modules/consola": {
+      "version": "3.4.2",
+      "resolved": "https://registry.npmjs.org/consola/-/consola-3.4.2.tgz",
+      "integrity": "sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==",
+      "license": "MIT",
       "engines": {
-        "node": ">=18.18.0"
+        "node": "^14.18.0 || >=16.10.0"
       }
     },
-    "node_modules/hyperdyperid": {
-      "version": "1.2.0",
+    "node_modules/content-disposition": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz",
+      "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=10.18"
+        "node": ">=18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/iconv-lite": {
-      "version": "0.4.24",
+    "node_modules/content-type": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
+      "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/icss-utils": {
-      "version": "5.1.0",
+    "node_modules/convert-source-map": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+      "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+      "license": "MIT"
+    },
+    "node_modules/cookie": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
+      "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/ieee754": {
-      "version": "1.2.1",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "BSD-3-Clause"
+    "node_modules/cookie-es": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-2.0.0.tgz",
+      "integrity": "sha512-RAj4E421UYRgqokKUmotqAwuplYw15qtdXfY+hGzgCJ/MBjCVZcSoHK/kH9kocfjRjcDME7IiDWR/1WX1TM2Pg==",
+      "license": "MIT"
     },
-    "node_modules/ignore": {
-      "version": "5.3.2",
-      "devOptional": true,
+    "node_modules/cookie-signature": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+      "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 4"
+        "node": ">=6.6.0"
       }
     },
-    "node_modules/ignore-walk": {
-      "version": "7.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/copy-anything": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz",
+      "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==",
+      "devOptional": true,
+      "license": "MIT",
       "dependencies": {
-        "minimatch": "^9.0.0"
+        "is-what": "^3.14.1"
       },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+      "funding": {
+        "url": "https://github.com/sponsors/mesqueeb"
       }
     },
-    "node_modules/ignore-walk/node_modules/brace-expansion": {
-      "version": "2.0.2",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/copy-paste": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/copy-paste/-/copy-paste-2.2.0.tgz",
+      "integrity": "sha512-jqSL4r9DSeiIvJZStLzY/sMLt9ToTM7RsK237lYOTG+KcbQJHGala3R1TUpa8h1p9adswVgIdV4qGbseVhL4lg==",
       "dependencies": {
-        "balanced-match": "^1.0.0"
+        "iconv-lite": "^0.4.8"
       }
     },
-    "node_modules/ignore-walk/node_modules/minimatch": {
-      "version": "9.0.5",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/copy-paste/node_modules/iconv-lite": {
+      "version": "0.4.24",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+      "license": "MIT",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "safer-buffer": ">= 2.1.2 < 3"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/image-meta": {
-      "version": "0.2.1",
+    "node_modules/core-util-is": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+      "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
       "license": "MIT"
     },
-    "node_modules/image-size": {
-      "version": "0.5.5",
+    "node_modules/cors": {
+      "version": "2.8.6",
+      "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
+      "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
-      "bin": {
-        "image-size": "bin/image-size.js"
+      "dependencies": {
+        "object-assign": "^4",
+        "vary": "^1"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.10"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/immediate": {
-      "version": "3.0.6",
+    "node_modules/cose-base": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-1.0.3.tgz",
+      "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/immutable": {
-      "version": "5.1.3",
-      "devOptional": true,
-      "license": "MIT"
+      "license": "MIT",
+      "dependencies": {
+        "layout-base": "^1.0.0"
+      }
     },
-    "node_modules/import-fresh": {
-      "version": "3.3.1",
-      "devOptional": true,
+    "node_modules/cosmiconfig": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
+      "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "parent-module": "^1.0.0",
-        "resolve-from": "^4.0.0"
+        "env-paths": "^2.2.1",
+        "import-fresh": "^3.3.0",
+        "js-yaml": "^4.1.0",
+        "parse-json": "^5.2.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=14"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/d-fischer"
+      },
+      "peerDependencies": {
+        "typescript": ">=4.9.5"
+      },
+      "peerDependenciesMeta": {
+        "typescript": {
+          "optional": true
+        }
       }
     },
-    "node_modules/import-local": {
-      "version": "3.2.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "pkg-dir": "^4.2.0",
-        "resolve-cwd": "^3.0.0"
-      },
+    "node_modules/crc-32": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/crc-32/-/crc-32-1.2.2.tgz",
+      "integrity": "sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==",
+      "license": "Apache-2.0",
       "bin": {
-        "import-local-fixture": "fixtures/cli.js"
+        "crc32": "bin/crc32.njs"
       },
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=0.8"
       }
     },
-    "node_modules/import-local/node_modules/find-up": {
-      "version": "4.1.0",
-      "dev": true,
+    "node_modules/crc32-stream": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-6.0.0.tgz",
+      "integrity": "sha512-piICUB6ei4IlTv1+653yq5+KoqfBYmj9bw6LqXoOneTMDXk5nM1qt12mFW1caG3LlJXEKW1Bp0WggEmIfQB34g==",
       "license": "MIT",
       "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
+        "crc-32": "^1.2.0",
+        "readable-stream": "^4.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 14"
       }
     },
-    "node_modules/import-local/node_modules/locate-path": {
-      "version": "5.0.0",
+    "node_modules/create-jest": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+      "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "p-locate": "^4.1.0"
+        "@jest/types": "^29.6.3",
+        "chalk": "^4.0.0",
+        "exit": "^0.1.2",
+        "graceful-fs": "^4.2.9",
+        "jest-config": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "prompts": "^2.0.1"
+      },
+      "bin": {
+        "create-jest": "bin/create-jest.js"
       },
       "engines": {
-        "node": ">=8"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/import-local/node_modules/p-limit": {
-      "version": "2.3.0",
-      "dev": true,
+    "node_modules/croner": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/croner/-/croner-9.1.0.tgz",
+      "integrity": "sha512-p9nwwR4qyT5W996vBZhdvBCnMhicY5ytZkR4D1Xj0wuTDEiMnjwR57Q3RXYY/s0EpX6Ay3vgIcfaR+ewGHsi+g==",
       "license": "MIT",
-      "dependencies": {
-        "p-try": "^2.0.0"
-      },
       "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=18.0"
       }
     },
-    "node_modules/import-local/node_modules/p-locate": {
-      "version": "4.1.0",
+    "node_modules/cross-env": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-10.1.0.tgz",
+      "integrity": "sha512-GsYosgnACZTADcmEyJctkJIoqAhHjttw7RsFrVoJNXbsWWqaq6Ym+7kZjq6mS45O0jij6vtiReppKQEtqWy6Dw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "p-limit": "^2.2.0"
+        "@epic-web/invariant": "^1.0.0",
+        "cross-spawn": "^7.0.6"
+      },
+      "bin": {
+        "cross-env": "dist/bin/cross-env.js",
+        "cross-env-shell": "dist/bin/cross-env-shell.js"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=20"
       }
     },
-    "node_modules/import-local/node_modules/pkg-dir": {
-      "version": "4.2.0",
-      "dev": true,
+    "node_modules/cross-spawn": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
       "license": "MIT",
       "dependencies": {
-        "find-up": "^4.0.0"
+        "path-key": "^3.1.0",
+        "shebang-command": "^2.0.0",
+        "which": "^2.0.1"
       },
       "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/import-meta-resolve": {
-      "version": "4.1.0",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+        "node": ">= 8"
       }
     },
-    "node_modules/impound": {
-      "version": "1.0.0",
+    "node_modules/crossws": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz",
+      "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==",
       "license": "MIT",
       "dependencies": {
-        "exsolve": "^1.0.5",
-        "mocked-exports": "^0.1.1",
-        "pathe": "^2.0.3",
-        "unplugin": "^2.3.2",
-        "unplugin-utils": "^0.2.4"
+        "uncrypto": "^0.1.3"
       }
     },
-    "node_modules/impound/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/imurmurhash": {
-      "version": "0.1.4",
-      "license": "MIT",
+    "node_modules/css-declaration-sorter": {
+      "version": "7.3.1",
+      "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.3.1.tgz",
+      "integrity": "sha512-gz6x+KkgNCjxq3Var03pRYLhyNfwhkKF1g/yoLgDNtFvVu0/fOLV9C8fFEZRjACp/XQLumjAYo7JVjzH3wLbxA==",
+      "license": "ISC",
       "engines": {
-        "node": ">=0.8.19"
+        "node": "^14 || ^16 || >=18"
+      },
+      "peerDependencies": {
+        "postcss": "^8.0.9"
       }
     },
-    "node_modules/index-to-position": {
-      "version": "1.1.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
+    "node_modules/css-select": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz",
+      "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==",
+      "dev": true,
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "boolbase": "^1.0.0",
+        "css-what": "^7.0.0",
+        "domhandler": "^5.0.3",
+        "domutils": "^3.2.2",
+        "nth-check": "^2.1.1"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/inflight": {
-      "version": "1.0.6",
-      "devOptional": true,
-      "license": "ISC",
+    "node_modules/css-tree": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz",
+      "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==",
+      "license": "MIT",
       "dependencies": {
-        "once": "^1.3.0",
-        "wrappy": "1"
+        "mdn-data": "2.12.2",
+        "source-map-js": "^1.0.1"
+      },
+      "engines": {
+        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0"
       }
     },
-    "node_modules/inherits": {
-      "version": "2.0.4",
-      "license": "ISC"
-    },
-    "node_modules/ini": {
-      "version": "5.0.0",
+    "node_modules/css-what": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz",
+      "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==",
       "dev": true,
-      "license": "ISC",
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">= 6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/injection-js": {
-      "version": "2.5.0",
-      "dev": true,
+    "node_modules/cssesc": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+      "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
       "license": "MIT",
-      "dependencies": {
-        "tslib": "^2.0.0"
+      "bin": {
+        "cssesc": "bin/cssesc"
+      },
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/inline-style-parser": {
-      "version": "0.2.4",
-      "license": "MIT"
-    },
-    "node_modules/inquirer": {
-      "version": "12.9.4",
-      "dev": true,
+    "node_modules/cssnano": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-7.1.2.tgz",
+      "integrity": "sha512-HYOPBsNvoiFeR1eghKD5C3ASm64v9YVyJB4Ivnl2gqKoQYvjjN/G0rztvKQq8OxocUtC6sjqY8jwYngIB4AByA==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/prompts": "^7.8.4",
-        "@inquirer/type": "^3.0.8",
-        "ansi-escapes": "^4.3.2",
-        "mute-stream": "^2.0.0",
-        "run-async": "^4.0.5",
-        "rxjs": "^7.8.2"
+        "cssnano-preset-default": "^7.0.10",
+        "lilconfig": "^3.1.3"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "peerDependencies": {
-        "@types/node": ">=18"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/cssnano"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/inquirer/node_modules/@inquirer/confirm": {
-      "version": "5.1.16",
-      "dev": true,
+    "node_modules/cssnano-preset-default": {
+      "version": "7.0.10",
+      "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-7.0.10.tgz",
+      "integrity": "sha512-6ZBjW0Lf1K1Z+0OKUAUpEN62tSXmYChXWi2NAA0afxEVsj9a+MbcB1l5qel6BHJHmULai2fCGRthCeKSFbScpA==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/core": "^10.2.0",
-        "@inquirer/type": "^3.0.8"
+        "browserslist": "^4.27.0",
+        "css-declaration-sorter": "^7.2.0",
+        "cssnano-utils": "^5.0.1",
+        "postcss-calc": "^10.1.1",
+        "postcss-colormin": "^7.0.5",
+        "postcss-convert-values": "^7.0.8",
+        "postcss-discard-comments": "^7.0.5",
+        "postcss-discard-duplicates": "^7.0.2",
+        "postcss-discard-empty": "^7.0.1",
+        "postcss-discard-overridden": "^7.0.1",
+        "postcss-merge-longhand": "^7.0.5",
+        "postcss-merge-rules": "^7.0.7",
+        "postcss-minify-font-values": "^7.0.1",
+        "postcss-minify-gradients": "^7.0.1",
+        "postcss-minify-params": "^7.0.5",
+        "postcss-minify-selectors": "^7.0.5",
+        "postcss-normalize-charset": "^7.0.1",
+        "postcss-normalize-display-values": "^7.0.1",
+        "postcss-normalize-positions": "^7.0.1",
+        "postcss-normalize-repeat-style": "^7.0.1",
+        "postcss-normalize-string": "^7.0.1",
+        "postcss-normalize-timing-functions": "^7.0.1",
+        "postcss-normalize-unicode": "^7.0.5",
+        "postcss-normalize-url": "^7.0.1",
+        "postcss-normalize-whitespace": "^7.0.1",
+        "postcss-ordered-values": "^7.0.2",
+        "postcss-reduce-initial": "^7.0.5",
+        "postcss-reduce-transforms": "^7.0.1",
+        "postcss-svgo": "^7.1.0",
+        "postcss-unique-selectors": "^7.0.4"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
       "peerDependencies": {
-        "@types/node": ">=18"
+        "postcss": "^8.4.32"
+      }
+    },
+    "node_modules/cssnano-utils": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-5.0.1.tgz",
+      "integrity": "sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==",
+      "license": "MIT",
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/inquirer/node_modules/@inquirer/prompts": {
-      "version": "7.8.4",
-      "dev": true,
+    "node_modules/csso": {
+      "version": "5.0.5",
+      "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz",
+      "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==",
+      "license": "MIT",
+      "dependencies": {
+        "css-tree": "~2.2.0"
+      },
+      "engines": {
+        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+        "npm": ">=7.0.0"
+      }
+    },
+    "node_modules/csso/node_modules/css-tree": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz",
+      "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==",
       "license": "MIT",
       "dependencies": {
-        "@inquirer/checkbox": "^4.2.2",
-        "@inquirer/confirm": "^5.1.16",
-        "@inquirer/editor": "^4.2.18",
-        "@inquirer/expand": "^4.0.18",
-        "@inquirer/input": "^4.2.2",
-        "@inquirer/number": "^3.0.18",
-        "@inquirer/password": "^4.0.18",
-        "@inquirer/rawlist": "^4.1.6",
-        "@inquirer/search": "^3.1.1",
-        "@inquirer/select": "^4.3.2"
+        "mdn-data": "2.0.28",
+        "source-map-js": "^1.0.1"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "@types/node": ">=18"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        }
+        "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0",
+        "npm": ">=7.0.0"
       }
     },
-    "node_modules/internal-slot": {
-      "version": "1.1.0",
+    "node_modules/csso/node_modules/mdn-data": {
+      "version": "2.0.28",
+      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz",
+      "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==",
+      "license": "CC0-1.0"
+    },
+    "node_modules/cssstyle": {
+      "version": "4.6.0",
+      "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
+      "integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "es-errors": "^1.3.0",
-        "hasown": "^2.0.2",
-        "side-channel": "^1.1.0"
+        "@asamuzakjp/css-color": "^3.2.0",
+        "rrweb-cssom": "^0.8.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       }
     },
-    "node_modules/internmap": {
-      "version": "2.0.3",
+    "node_modules/cssstyle/node_modules/rrweb-cssom": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
+      "integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
       "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=12"
-      }
+      "license": "MIT"
     },
-    "node_modules/interpret": {
-      "version": "1.4.0",
+    "node_modules/csstype": {
+      "version": "3.2.3",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz",
+      "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==",
+      "license": "MIT"
+    },
+    "node_modules/cytoscape": {
+      "version": "3.33.1",
+      "resolved": "https://registry.npmjs.org/cytoscape/-/cytoscape-3.33.1.tgz",
+      "integrity": "sha512-iJc4TwyANnOGR1OmWhsS9ayRS3s+XQ185FmuHObThD+5AeJCakAAbWv8KimMTt08xCCLNgneQwFp+JRJOr9qGQ==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": ">= 0.10"
+        "node": ">=0.10"
       }
     },
-    "node_modules/ioredis": {
-      "version": "5.6.1",
+    "node_modules/cytoscape-cose-bilkent": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz",
+      "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@ioredis/commands": "^1.1.1",
-        "cluster-key-slot": "^1.1.0",
-        "debug": "^4.3.4",
-        "denque": "^2.1.0",
-        "lodash.defaults": "^4.2.0",
-        "lodash.isarguments": "^3.1.0",
-        "redis-errors": "^1.2.0",
-        "redis-parser": "^3.0.0",
-        "standard-as-callback": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=12.22.0"
+        "cose-base": "^1.0.0"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/ioredis"
+      "peerDependencies": {
+        "cytoscape": "^3.2.0"
       }
     },
-    "node_modules/ip-address": {
-      "version": "9.0.5",
+    "node_modules/cytoscape-fcose": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz",
+      "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "jsbn": "1.1.0",
-        "sprintf-js": "^1.1.3"
+        "cose-base": "^2.2.0"
       },
-      "engines": {
-        "node": ">= 12"
+      "peerDependencies": {
+        "cytoscape": "^3.2.0"
       }
     },
-    "node_modules/ipaddr.js": {
+    "node_modules/cytoscape-fcose/node_modules/cose-base": {
       "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/cose-base/-/cose-base-2.2.0.tgz",
+      "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 10"
-      }
-    },
-    "node_modules/iron-webcrypto": {
-      "version": "1.2.1",
-      "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/brc-dd"
-      }
-    },
-    "node_modules/is-array-buffer": {
-      "version": "3.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "get-intrinsic": "^1.2.6"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "layout-base": "^2.0.0"
       }
     },
-    "node_modules/is-arrayish": {
-      "version": "0.2.1",
+    "node_modules/cytoscape-fcose/node_modules/layout-base": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-2.0.1.tgz",
+      "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/is-async-function": {
-      "version": "2.1.1",
+    "node_modules/d3": {
+      "version": "7.9.0",
+      "resolved": "https://registry.npmjs.org/d3/-/d3-7.9.0.tgz",
+      "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "async-function": "^1.0.0",
-        "call-bound": "^1.0.3",
-        "get-proto": "^1.0.1",
-        "has-tostringtag": "^1.0.2",
-        "safe-regex-test": "^1.1.0"
+        "d3-array": "3",
+        "d3-axis": "3",
+        "d3-brush": "3",
+        "d3-chord": "3",
+        "d3-color": "3",
+        "d3-contour": "4",
+        "d3-delaunay": "6",
+        "d3-dispatch": "3",
+        "d3-drag": "3",
+        "d3-dsv": "3",
+        "d3-ease": "3",
+        "d3-fetch": "3",
+        "d3-force": "3",
+        "d3-format": "3",
+        "d3-geo": "3",
+        "d3-hierarchy": "3",
+        "d3-interpolate": "3",
+        "d3-path": "3",
+        "d3-polygon": "3",
+        "d3-quadtree": "3",
+        "d3-random": "3",
+        "d3-scale": "4",
+        "d3-scale-chromatic": "3",
+        "d3-selection": "3",
+        "d3-shape": "3",
+        "d3-time": "3",
+        "d3-time-format": "4",
+        "d3-timer": "3",
+        "d3-transition": "3",
+        "d3-zoom": "3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-bigint": {
-      "version": "1.1.0",
+    "node_modules/d3-array": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz",
+      "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "has-bigints": "^1.0.2"
+        "internmap": "1 - 2"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-binary-path": {
-      "version": "2.1.0",
+    "node_modules/d3-axis": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-axis/-/d3-axis-3.0.0.tgz",
+      "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "binary-extensions": "^2.0.0"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
       }
     },
-    "node_modules/is-boolean-object": {
-      "version": "1.2.2",
+    "node_modules/d3-brush": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-brush/-/d3-brush-3.0.0.tgz",
+      "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "has-tostringtag": "^1.0.2"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "3",
+        "d3-transition": "3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-builtin-module": {
-      "version": "3.2.1",
-      "license": "MIT",
+    "node_modules/d3-chord": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-chord/-/d3-chord-3.0.1.tgz",
+      "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "builtin-modules": "^3.3.0"
+        "d3-path": "1 - 3"
       },
       "engines": {
-        "node": ">=6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=12"
       }
     },
-    "node_modules/is-callable": {
-      "version": "1.2.7",
+    "node_modules/d3-color": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz",
+      "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-core-module": {
-      "version": "2.16.1",
-      "license": "MIT",
+    "node_modules/d3-contour": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-contour/-/d3-contour-4.0.2.tgz",
+      "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "hasown": "^2.0.2"
+        "d3-array": "^3.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-delaunay": {
+      "version": "6.0.4",
+      "resolved": "https://registry.npmjs.org/d3-delaunay/-/d3-delaunay-6.0.4.tgz",
+      "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "delaunator": "5"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/is-data-view": {
-      "version": "1.0.2",
+    "node_modules/d3-dispatch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz",
+      "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==",
+      "dev": true,
+      "license": "ISC",
+      "engines": {
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-drag": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-drag/-/d3-drag-3.0.0.tgz",
+      "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "get-intrinsic": "^1.2.6",
-        "is-typed-array": "^1.1.13"
+        "d3-dispatch": "1 - 3",
+        "d3-selection": "3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-date-object": {
-      "version": "1.1.0",
+    "node_modules/d3-dsv": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz",
+      "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "has-tostringtag": "^1.0.2"
+        "commander": "7",
+        "iconv-lite": "0.6",
+        "rw": "1"
       },
-      "engines": {
-        "node": ">= 0.4"
+      "bin": {
+        "csv2json": "bin/dsv2json.js",
+        "csv2tsv": "bin/dsv2dsv.js",
+        "dsv2dsv": "bin/dsv2dsv.js",
+        "dsv2json": "bin/dsv2json.js",
+        "json2csv": "bin/json2dsv.js",
+        "json2dsv": "bin/json2dsv.js",
+        "json2tsv": "bin/json2dsv.js",
+        "tsv2csv": "bin/dsv2dsv.js",
+        "tsv2json": "bin/dsv2json.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/is-docker": {
-      "version": "3.0.0",
+    "node_modules/d3-dsv/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
       "license": "MIT",
-      "bin": {
-        "is-docker": "cli.js"
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/is-extglob": {
-      "version": "2.1.1",
-      "license": "MIT",
+    "node_modules/d3-ease": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz",
+      "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==",
+      "dev": true,
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/is-finalizationregistry": {
-      "version": "1.1.1",
+    "node_modules/d3-fetch": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-fetch/-/d3-fetch-3.0.1.tgz",
+      "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.3"
+        "d3-dsv": "1 - 3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-fullwidth-code-point": {
-      "version": "4.0.0",
+    "node_modules/d3-force": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz",
+      "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
+      "dependencies": {
+        "d3-dispatch": "1 - 3",
+        "d3-quadtree": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-generator-fn": {
-      "version": "2.1.0",
+    "node_modules/d3-format": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.2.tgz",
+      "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "engines": {
-        "node": ">=6"
+        "node": ">=12"
       }
     },
-    "node_modules/is-generator-function": {
-      "version": "1.1.0",
+    "node_modules/d3-geo": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.1.tgz",
+      "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "get-proto": "^1.0.0",
-        "has-tostringtag": "^1.0.2",
-        "safe-regex-test": "^1.1.0"
+        "d3-array": "2.5.0 - 3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-glob": {
-      "version": "4.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "is-extglob": "^2.1.1"
-      },
+    "node_modules/d3-hierarchy": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz",
+      "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/is-inside-container": {
-      "version": "1.0.0",
-      "license": "MIT",
+    "node_modules/d3-interpolate": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz",
+      "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "is-docker": "^3.0.0"
-      },
-      "bin": {
-        "is-inside-container": "cli.js"
+        "d3-color": "1 - 3"
       },
       "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=12"
       }
     },
-    "node_modules/is-installed-globally": {
-      "version": "1.0.0",
-      "license": "MIT",
-      "dependencies": {
-        "global-directory": "^4.0.1",
-        "is-path-inside": "^4.0.0"
-      },
+    "node_modules/d3-path": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz",
+      "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=12"
       }
     },
-    "node_modules/is-installed-globally/node_modules/is-path-inside": {
-      "version": "4.0.0",
-      "license": "MIT",
+    "node_modules/d3-polygon": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-polygon/-/d3-polygon-3.0.1.tgz",
+      "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-interactive": {
-      "version": "2.0.0",
+    "node_modules/d3-quadtree": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz",
+      "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-map": {
-      "version": "2.0.3",
+    "node_modules/d3-random": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-random/-/d3-random-3.0.1.tgz",
+      "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-module": {
-      "version": "1.0.0",
-      "license": "MIT"
+    "node_modules/d3-sankey": {
+      "version": "0.12.3",
+      "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.12.3.tgz",
+      "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "d3-array": "1 - 2",
+        "d3-shape": "^1.2.0"
+      }
     },
-    "node_modules/is-negative-zero": {
-      "version": "2.0.3",
+    "node_modules/d3-sankey/node_modules/d3-array": {
+      "version": "2.12.1",
+      "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz",
+      "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "internmap": "^1.0.0"
       }
     },
-    "node_modules/is-network-error": {
-      "version": "1.1.0",
+    "node_modules/d3-sankey/node_modules/d3-path": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz",
+      "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==",
       "dev": true,
-      "license": "MIT",
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/d3-sankey/node_modules/d3-shape": {
+      "version": "1.3.7",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz",
+      "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "d3-path": "1"
+      }
+    },
+    "node_modules/d3-sankey/node_modules/internmap": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz",
+      "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/d3-scale": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz",
+      "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "d3-array": "2.10.0 - 3",
+        "d3-format": "1 - 3",
+        "d3-interpolate": "1.2.0 - 3",
+        "d3-time": "2.1.1 - 3",
+        "d3-time-format": "2 - 4"
+      },
       "engines": {
-        "node": ">=16"
+        "node": ">=12"
+      }
+    },
+    "node_modules/d3-scale-chromatic": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz",
+      "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "d3-color": "1 - 3",
+        "d3-interpolate": "1 - 3"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/is-number": {
-      "version": "7.0.0",
-      "license": "MIT",
+    "node_modules/d3-selection": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-3.0.0.tgz",
+      "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==",
+      "dev": true,
+      "license": "ISC",
+      "peer": true,
       "engines": {
-        "node": ">=0.12.0"
+        "node": ">=12"
       }
     },
-    "node_modules/is-number-object": {
-      "version": "1.1.1",
+    "node_modules/d3-shape": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz",
+      "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "has-tostringtag": "^1.0.2"
+        "d3-path": "^3.1.0"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-path-inside": {
-      "version": "3.0.3",
-      "devOptional": true,
-      "license": "MIT",
+    "node_modules/d3-time": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz",
+      "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "d3-array": "2 - 3"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
       }
     },
-    "node_modules/is-plain-obj": {
+    "node_modules/d3-time-format": {
       "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz",
+      "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
+      "dependencies": {
+        "d3-time": "1 - 3"
+      },
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-plain-object": {
-      "version": "5.0.0",
+    "node_modules/d3-timer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz",
+      "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
       }
     },
-    "node_modules/is-potential-custom-element-name": {
-      "version": "1.0.1",
+    "node_modules/d3-transition": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-3.0.1.tgz",
+      "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/is-reference": {
-      "version": "1.2.1",
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@types/estree": "*"
+        "d3-color": "1 - 3",
+        "d3-dispatch": "1 - 3",
+        "d3-ease": "1 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-timer": "1 - 3"
+      },
+      "engines": {
+        "node": ">=12"
+      },
+      "peerDependencies": {
+        "d3-selection": "2 - 3"
       }
     },
-    "node_modules/is-regex": {
-      "version": "1.2.1",
+    "node_modules/d3-zoom": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/d3-zoom/-/d3-zoom-3.0.0.tgz",
+      "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "gopd": "^1.2.0",
-        "has-tostringtag": "^1.0.2",
-        "hasown": "^2.0.2"
+        "d3-dispatch": "1 - 3",
+        "d3-drag": "2 - 3",
+        "d3-interpolate": "1 - 3",
+        "d3-selection": "2 - 3",
+        "d3-transition": "2 - 3"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=12"
       }
     },
-    "node_modules/is-set": {
-      "version": "2.0.3",
+    "node_modules/dagre-d3-es": {
+      "version": "7.0.13",
+      "resolved": "https://registry.npmjs.org/dagre-d3-es/-/dagre-d3-es-7.0.13.tgz",
+      "integrity": "sha512-efEhnxpSuwpYOKRm/L5KbqoZmNNukHa/Flty4Wp62JRvgH2ojwVgPgdYyr4twpieZnyRDdIH7PY2mopX26+j2Q==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "dependencies": {
+        "d3": "^7.9.0",
+        "lodash-es": "^4.17.21"
       }
     },
-    "node_modules/is-shared-array-buffer": {
-      "version": "1.0.4",
+    "node_modules/data-uri-to-buffer": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-6.0.2.tgz",
+      "integrity": "sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3"
-      },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">= 14"
       }
     },
-    "node_modules/is-ssh": {
-      "version": "1.4.1",
+    "node_modules/data-urls": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
+      "integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "protocols": "^2.0.1"
-      }
-    },
-    "node_modules/is-stream": {
-      "version": "4.0.1",
-      "license": "MIT",
+        "whatwg-mimetype": "^4.0.0",
+        "whatwg-url": "^14.0.0"
+      },
       "engines": {
         "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is-string": {
-      "version": "1.1.1",
+    "node_modules/data-view-buffer": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz",
+      "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "call-bound": "^1.0.3",
-        "has-tostringtag": "^1.0.2"
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.2"
       },
       "engines": {
         "node": ">= 0.4"
@@ -19662,30 +13958,34 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/is-symbol": {
-      "version": "1.1.1",
+    "node_modules/data-view-byte-length": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz",
+      "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "has-symbols": "^1.1.0",
-        "safe-regex-test": "^1.1.0"
+        "call-bound": "^1.0.3",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.2"
       },
       "engines": {
         "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/inspect-js"
       }
     },
-    "node_modules/is-typed-array": {
-      "version": "1.1.15",
+    "node_modules/data-view-byte-offset": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz",
+      "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "which-typed-array": "^1.1.16"
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "is-data-view": "^1.0.1"
       },
       "engines": {
         "node": ">= 0.4"
@@ -19694,98 +13994,143 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/is-unicode-supported": {
-      "version": "2.1.0",
-      "dev": true,
+    "node_modules/date-fns": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz",
+      "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "github",
+        "url": "https://github.com/sponsors/kossnocorp"
       }
     },
-    "node_modules/is-url": {
-      "version": "1.2.4",
+    "node_modules/dayjs": {
+      "version": "1.11.19",
+      "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.19.tgz",
+      "integrity": "sha512-t5EcLVS6QPBNqM2z8fakk/NKel+Xzshgt8FFKAn+qwlD1pzZWxh0nVCrvFK7ZDb6XucZeF9z8C7CBWTRIVApAw==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/is-url-superb": {
-      "version": "4.0.0",
+    "node_modules/db0": {
+      "version": "0.3.4",
+      "resolved": "https://registry.npmjs.org/db0/-/db0-0.3.4.tgz",
+      "integrity": "sha512-RiXXi4WaNzPTHEOu8UPQKMooIbqOEyqA1t7Z6MsdxSCeb8iUC9ko3LcmsLmeUt2SM5bctfArZKkRQggKZz7JNw==",
       "license": "MIT",
-      "engines": {
-        "node": ">=10"
+      "peerDependencies": {
+        "@electric-sql/pglite": "*",
+        "@libsql/client": "*",
+        "better-sqlite3": "*",
+        "drizzle-orm": "*",
+        "mysql2": "*",
+        "sqlite3": "*"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependenciesMeta": {
+        "@electric-sql/pglite": {
+          "optional": true
+        },
+        "@libsql/client": {
+          "optional": true
+        },
+        "better-sqlite3": {
+          "optional": true
+        },
+        "drizzle-orm": {
+          "optional": true
+        },
+        "mysql2": {
+          "optional": true
+        },
+        "sqlite3": {
+          "optional": true
+        }
       }
     },
-    "node_modules/is-weakmap": {
-      "version": "2.0.2",
-      "dev": true,
+    "node_modules/debug": {
+      "version": "4.4.3",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+      "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
       "license": "MIT",
-      "peer": true,
+      "dependencies": {
+        "ms": "^2.1.3"
+      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=6.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependenciesMeta": {
+        "supports-color": {
+          "optional": true
+        }
       }
     },
-    "node_modules/is-weakref": {
-      "version": "1.1.1",
+    "node_modules/decimal.js": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+      "integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/decode-uri-component": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.4.1.tgz",
+      "integrity": "sha512-+8VxcR21HhTy8nOt6jf20w0c9CADrw1O8d+VZ/YzzCt4bJ3uBjw+D1q2osAB8RnpwwaeYBxy0HyKQxD5JBMuuQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "engines": {
+        "node": ">=14.16"
       }
     },
-    "node_modules/is-weakset": {
-      "version": "2.0.4",
+    "node_modules/dedent": {
+      "version": "1.7.1",
+      "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.1.tgz",
+      "integrity": "sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bound": "^1.0.3",
-        "get-intrinsic": "^1.2.6"
-      },
-      "engines": {
-        "node": ">= 0.4"
+      "peerDependencies": {
+        "babel-plugin-macros": "^3.1.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependenciesMeta": {
+        "babel-plugin-macros": {
+          "optional": true
+        }
       }
     },
-    "node_modules/is-what": {
-      "version": "3.14.1",
+    "node_modules/deep-is": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+      "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
       "devOptional": true,
       "license": "MIT"
     },
-    "node_modules/is-wsl": {
-      "version": "3.1.0",
+    "node_modules/deepmerge": {
+      "version": "4.3.1",
+      "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+      "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/default-browser": {
+      "version": "5.4.0",
+      "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.4.0.tgz",
+      "integrity": "sha512-XDuvSq38Hr1MdN47EDvYtx3U0MTqpCEn+F6ft8z2vYDzMrvQhVp0ui9oQdqW3MvK3vqUETglt1tVGgjLuJ5izg==",
       "license": "MIT",
       "dependencies": {
-        "is-inside-container": "^1.0.0"
+        "bundle-name": "^4.1.0",
+        "default-browser-id": "^5.0.0"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/is64bit": {
-      "version": "2.0.0",
+    "node_modules/default-browser-id": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.1.tgz",
+      "integrity": "sha512-x1VCxdX4t+8wVfd1so/9w+vQ4vx7lKd2Qp5tDRutErwmR85OgmfX7RlLRMWafRMY7hbEiXIbudNrjOAPa/hL8Q==",
       "license": "MIT",
-      "dependencies": {
-        "system-architecture": "^0.1.0"
-      },
       "engines": {
         "node": ">=18"
       },
@@ -19793,1709 +14138,1946 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/isarray": {
-      "version": "2.0.5",
-      "dev": true,
-      "license": "MIT",
-      "peer": true
-    },
-    "node_modules/isbinaryfile": {
-      "version": "5.0.4",
+    "node_modules/define-data-property": {
+      "version": "1.1.4",
+      "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+      "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "es-define-property": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.0.1"
+      },
       "engines": {
-        "node": ">= 18.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/gjtorikian/"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/isexe": {
+    "node_modules/define-lazy-prop": {
       "version": "2.0.0",
-      "license": "ISC"
-    },
-    "node_modules/isobject": {
-      "version": "3.0.1",
-      "dev": true,
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
+      "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
       "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/istanbul-lib-coverage": {
-      "version": "3.2.2",
-      "dev": true,
-      "license": "BSD-3-Clause",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/istanbul-lib-instrument": {
-      "version": "6.0.3",
+    "node_modules/define-properties": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
+      "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT",
       "dependencies": {
-        "@babel/core": "^7.23.9",
-        "@babel/parser": "^7.23.9",
-        "@istanbuljs/schema": "^0.1.3",
-        "istanbul-lib-coverage": "^3.2.0",
-        "semver": "^7.5.4"
+        "define-data-property": "^1.0.1",
+        "has-property-descriptors": "^1.0.0",
+        "object-keys": "^1.1.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/istanbul-lib-report": {
-      "version": "3.0.1",
+    "node_modules/defu": {
+      "version": "6.1.4",
+      "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz",
+      "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==",
+      "license": "MIT"
+    },
+    "node_modules/degenerator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+      "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT",
       "dependencies": {
-        "istanbul-lib-coverage": "^3.0.0",
-        "make-dir": "^4.0.0",
-        "supports-color": "^7.1.0"
+        "ast-types": "^0.13.4",
+        "escodegen": "^2.1.0",
+        "esprima": "^4.0.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 14"
       }
     },
-    "node_modules/istanbul-lib-source-maps": {
-      "version": "4.0.1",
+    "node_modules/delaunator": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/delaunator/-/delaunator-5.0.1.tgz",
+      "integrity": "sha512-8nvh+XBe96aCESrGOqMp/84b13H9cdKbG5P2ejQCh4d4sK9RL4371qou9drQjMhvnPmhWl5hnmqbEE0fXr9Xnw==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "ISC",
       "dependencies": {
-        "debug": "^4.1.1",
-        "istanbul-lib-coverage": "^3.0.0",
-        "source-map": "^0.6.1"
-      },
-      "engines": {
-        "node": ">=10"
+        "robust-predicates": "^3.0.2"
       }
     },
-    "node_modules/istanbul-lib-source-maps/node_modules/source-map": {
-      "version": "0.6.1",
+    "node_modules/delayed-stream": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=0.4.0"
       }
     },
-    "node_modules/istanbul-reports": {
-      "version": "3.1.7",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "html-escaper": "^2.0.0",
-        "istanbul-lib-report": "^3.0.0"
-      },
+    "node_modules/denque": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
+      "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10"
       }
     },
-    "node_modules/iterator.prototype": {
-      "version": "1.1.5",
-      "dev": true,
+    "node_modules/depd": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+      "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "define-data-property": "^1.1.4",
-        "es-object-atoms": "^1.0.0",
-        "get-intrinsic": "^1.2.6",
-        "get-proto": "^1.0.0",
-        "has-symbols": "^1.1.0",
-        "set-function-name": "^2.0.2"
-      },
       "engines": {
-        "node": ">= 0.4"
-      }
-    },
-    "node_modules/jackspeak": {
-      "version": "3.4.3",
-      "license": "BlueOak-1.0.0",
-      "dependencies": {
-        "@isaacs/cliui": "^8.0.2"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      },
-      "optionalDependencies": {
-        "@pkgjs/parseargs": "^0.11.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/jake": {
-      "version": "10.9.4",
+    "node_modules/dependency-graph": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz",
+      "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==",
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "async": "^3.2.6",
-        "filelist": "^1.0.4",
-        "picocolors": "^1.1.1"
-      },
-      "bin": {
-        "jake": "bin/cli.js"
-      },
+      "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">=4"
       }
     },
-    "node_modules/jest": {
-      "version": "29.7.0",
+    "node_modules/deprecation": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+      "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/dequal": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+      "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@jest/core": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "import-local": "^3.0.2",
-        "jest-cli": "^29.7.0"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
-      },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-      },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
+        "node": ">=6"
       }
     },
-    "node_modules/jest-changed-files": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "execa": "^5.0.0",
-        "jest-util": "^29.7.0",
-        "p-limit": "^3.1.0"
-      },
+    "node_modules/destr": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz",
+      "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==",
+      "license": "MIT"
+    },
+    "node_modules/detect-libc": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+      "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/jest-changed-files/node_modules/execa": {
-      "version": "5.1.1",
+    "node_modules/detect-newline": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+      "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^7.0.3",
-        "get-stream": "^6.0.0",
-        "human-signals": "^2.1.0",
-        "is-stream": "^2.0.0",
-        "merge-stream": "^2.0.0",
-        "npm-run-path": "^4.0.1",
-        "onetime": "^5.1.2",
-        "signal-exit": "^3.0.3",
-        "strip-final-newline": "^2.0.0"
-      },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/execa?sponsor=1"
+        "node": ">=8"
       }
     },
-    "node_modules/jest-changed-files/node_modules/get-stream": {
-      "version": "6.0.1",
+    "node_modules/devalue": {
+      "version": "5.6.2",
+      "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.2.tgz",
+      "integrity": "sha512-nPRkjWzzDQlsejL1WVifk5rvcFi/y1onBRxjaFMjZeR9mFpqu2gmAZ9xUB9/IEanEP/vBtGeGganC/GO1fmufg==",
+      "license": "MIT"
+    },
+    "node_modules/devlop": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
+      "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "dequal": "^2.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/jest-changed-files/node_modules/human-signals": {
-      "version": "2.1.0",
+    "node_modules/devtools-protocol": {
+      "version": "0.0.1551306",
+      "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1551306.tgz",
+      "integrity": "sha512-CFx8QdSim8iIv+2ZcEOclBKTQY6BI1IEDa7Tm9YkwAXzEWFndTEzpTo5jAUhSnq24IC7xaDw0wvGcm96+Y3PEg==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "BSD-3-Clause",
+      "peer": true
+    },
+    "node_modules/diff": {
+      "version": "8.0.3",
+      "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz",
+      "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==",
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": ">=10.17.0"
+        "node": ">=0.3.1"
       }
     },
-    "node_modules/jest-changed-files/node_modules/is-stream": {
-      "version": "2.0.1",
+    "node_modules/diff-sequences": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+      "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/jest-changed-files/node_modules/npm-run-path": {
-      "version": "4.0.1",
+    "node_modules/docs": {
+      "resolved": "docs",
+      "link": true
+    },
+    "node_modules/doctrine": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+      "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "dependencies": {
-        "path-key": "^3.0.0"
+        "esutils": "^2.0.2"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/jest-changed-files/node_modules/onetime": {
-      "version": "5.1.2",
-      "dev": true,
+    "node_modules/dom-serializer": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
+      "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
       "license": "MIT",
       "dependencies": {
-        "mimic-fn": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=6"
+        "domelementtype": "^2.3.0",
+        "domhandler": "^5.0.2",
+        "entities": "^4.2.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
       }
     },
-    "node_modules/jest-changed-files/node_modules/signal-exit": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "ISC"
+    "node_modules/domelementtype": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
+      "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fb55"
+        }
+      ],
+      "license": "BSD-2-Clause"
     },
-    "node_modules/jest-changed-files/node_modules/strip-final-newline": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/domhandler": {
+      "version": "5.0.3",
+      "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
+      "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "domelementtype": "^2.3.0"
+      },
       "engines": {
-        "node": ">=6"
+        "node": ">= 4"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/domhandler?sponsor=1"
       }
     },
-    "node_modules/jest-circus": {
-      "version": "29.7.0",
+    "node_modules/dompurify": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz",
+      "integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==",
       "dev": true,
-      "license": "MIT",
+      "license": "(MPL-2.0 OR Apache-2.0)",
+      "optionalDependencies": {
+        "@types/trusted-types": "^2.0.7"
+      }
+    },
+    "node_modules/domutils": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
+      "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "@jest/environment": "^29.7.0",
-        "@jest/expect": "^29.7.0",
-        "@jest/test-result": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "co": "^4.6.0",
-        "dedent": "^1.0.0",
-        "is-generator-fn": "^2.0.0",
-        "jest-each": "^29.7.0",
-        "jest-matcher-utils": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-runtime": "^29.7.0",
-        "jest-snapshot": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "p-limit": "^3.1.0",
-        "pretty-format": "^29.7.0",
-        "pure-rand": "^6.0.0",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.3"
+        "dom-serializer": "^2.0.0",
+        "domelementtype": "^2.3.0",
+        "domhandler": "^5.0.3"
       },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      "funding": {
+        "url": "https://github.com/fb55/domutils?sponsor=1"
       }
     },
-    "node_modules/jest-circus/node_modules/slash": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/dot-prop": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-10.1.0.tgz",
+      "integrity": "sha512-MVUtAugQMOff5RnBy2d9N31iG0lNwg1qAoAOn7pOK5wf94WIaE3My2p3uwTQuvS2AcqchkcR3bHByjaM0mmi7Q==",
       "license": "MIT",
+      "dependencies": {
+        "type-fest": "^5.0.0"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/jest-cli": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/dot-prop/node_modules/type-fest": {
+      "version": "5.4.1",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.1.tgz",
+      "integrity": "sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ==",
+      "license": "(MIT OR CC0-1.0)",
       "dependencies": {
-        "@jest/core": "^29.7.0",
-        "@jest/test-result": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "chalk": "^4.0.0",
-        "create-jest": "^29.7.0",
-        "exit": "^0.1.2",
-        "import-local": "^3.0.2",
-        "jest-config": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "jest-validate": "^29.7.0",
-        "yargs": "^17.3.1"
-      },
-      "bin": {
-        "jest": "bin/jest.js"
+        "tagged-tag": "^1.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=20"
       },
-      "peerDependencies": {
-        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/dotenv": {
+      "version": "16.6.1",
+      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
+      "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "node-notifier": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://dotenvx.com"
       }
     },
-    "node_modules/jest-config": {
-      "version": "29.7.0",
+    "node_modules/dunder-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+      "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/core": "^7.11.6",
-        "@jest/test-sequencer": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "babel-jest": "^29.7.0",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "deepmerge": "^4.2.2",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.9",
-        "jest-circus": "^29.7.0",
-        "jest-environment-node": "^29.7.0",
-        "jest-get-type": "^29.6.3",
-        "jest-regex-util": "^29.6.3",
-        "jest-resolve": "^29.7.0",
-        "jest-runner": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "jest-validate": "^29.7.0",
-        "micromatch": "^4.0.4",
-        "parse-json": "^5.2.0",
-        "pretty-format": "^29.7.0",
-        "slash": "^3.0.0",
-        "strip-json-comments": "^3.1.1"
+        "call-bind-apply-helpers": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "gopd": "^1.2.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      },
-      "peerDependencies": {
-        "@types/node": "*",
-        "ts-node": ">=9.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "ts-node": {
-          "optional": true
-        }
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-config/node_modules/glob": {
-      "version": "7.2.3",
+    "node_modules/duplexer": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz",
+      "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==",
+      "license": "MIT"
+    },
+    "node_modules/eastasianwidth": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+      "license": "MIT"
+    },
+    "node_modules/ee-first": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+      "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
+      "license": "MIT"
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.5.278",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.278.tgz",
+      "integrity": "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==",
+      "license": "ISC"
+    },
+    "node_modules/emittery": {
+      "version": "0.13.1",
+      "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+      "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
+      "license": "MIT",
       "engines": {
-        "node": "*"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sindresorhus/emittery?sponsor=1"
       }
     },
-    "node_modules/jest-config/node_modules/slash": {
-      "version": "3.0.0",
+    "node_modules/emoji-regex": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+      "license": "MIT"
+    },
+    "node_modules/emoji-regex-xs": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz",
+      "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/encodeurl": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/jest-diff": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/encoding": {
+      "version": "0.1.13",
+      "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz",
+      "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==",
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "chalk": "^4.0.0",
-        "diff-sequences": "^29.6.3",
-        "jest-get-type": "^29.6.3",
-        "pretty-format": "^29.7.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "iconv-lite": "^0.6.2"
       }
     },
-    "node_modules/jest-docblock": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/encoding/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "detect-newline": "^3.0.0"
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/jest-each": {
-      "version": "29.7.0",
+    "node_modules/end-of-stream": {
+      "version": "1.4.5",
+      "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz",
+      "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jest/types": "^29.6.3",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^29.6.3",
-        "jest-util": "^29.7.0",
-        "pretty-format": "^29.7.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "once": "^1.4.0"
       }
     },
-    "node_modules/jest-environment-node": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jest/environment": "^29.7.0",
-        "@jest/fake-timers": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "jest-mock": "^29.7.0",
-        "jest-util": "^29.7.0"
-      },
+    "node_modules/entities": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
+      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
-    "node_modules/jest-get-type": {
-      "version": "29.6.3",
+    "node_modules/env-paths": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
+      "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=6"
       }
     },
-    "node_modules/jest-haste-map": {
-      "version": "29.7.0",
+    "node_modules/environment": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
+      "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@jest/types": "^29.6.3",
-        "@types/graceful-fs": "^4.1.3",
-        "@types/node": "*",
-        "anymatch": "^3.0.3",
-        "fb-watchman": "^2.0.0",
-        "graceful-fs": "^4.2.9",
-        "jest-regex-util": "^29.6.3",
-        "jest-util": "^29.7.0",
-        "jest-worker": "^29.7.0",
-        "micromatch": "^4.0.4",
-        "walker": "^1.0.8"
-      },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=18"
       },
-      "optionalDependencies": {
-        "fsevents": "^2.3.2"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/jest-leak-detector": {
-      "version": "29.7.0",
+    "node_modules/err-code": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz",
+      "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/errno": {
+      "version": "0.1.8",
+      "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz",
+      "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==",
       "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "jest-get-type": "^29.6.3",
-        "pretty-format": "^29.7.0"
+        "prr": "~1.0.1"
       },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      "bin": {
+        "errno": "cli.js"
       }
     },
-    "node_modules/jest-matcher-utils": {
-      "version": "29.7.0",
+    "node_modules/error-ex": {
+      "version": "1.3.4",
+      "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz",
+      "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "chalk": "^4.0.0",
-        "jest-diff": "^29.7.0",
-        "jest-get-type": "^29.6.3",
-        "pretty-format": "^29.7.0"
-      },
-      "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "is-arrayish": "^0.2.1"
       }
     },
-    "node_modules/jest-message-util": {
-      "version": "29.7.0",
+    "node_modules/error-stack-parser-es": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/error-stack-parser-es/-/error-stack-parser-es-1.0.5.tgz",
+      "integrity": "sha512-5qucVt2XcuGMcEGgWI7i+yZpmpByQ8J1lHhcL7PwqCwu9FPP3VUXzT4ltHe5i2z9dePwEHcDVOAfSnHsOlCXRA==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/errx": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/errx/-/errx-0.1.0.tgz",
+      "integrity": "sha512-fZmsRiDNv07K6s2KkKFTiD2aIvECa7++PKyD5NC32tpRw46qZA3sOz+aM+/V9V0GDHxVTKLziveV4JhzBHDp9Q==",
+      "license": "MIT"
+    },
+    "node_modules/es-abstract": {
+      "version": "1.24.1",
+      "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.1.tgz",
+      "integrity": "sha512-zHXBLhP+QehSSbsS9Pt23Gg964240DPd6QCf8WpkqEXxQ7fhdZzYsocOr5u7apWonsS5EjZDmTF+/slGMyasvw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/code-frame": "^7.12.13",
-        "@jest/types": "^29.6.3",
-        "@types/stack-utils": "^2.0.0",
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "micromatch": "^4.0.4",
-        "pretty-format": "^29.7.0",
-        "slash": "^3.0.0",
-        "stack-utils": "^2.0.3"
+        "array-buffer-byte-length": "^1.0.2",
+        "arraybuffer.prototype.slice": "^1.0.4",
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.4",
+        "data-view-buffer": "^1.0.2",
+        "data-view-byte-length": "^1.0.2",
+        "data-view-byte-offset": "^1.0.1",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "es-set-tostringtag": "^2.1.0",
+        "es-to-primitive": "^1.3.0",
+        "function.prototype.name": "^1.1.8",
+        "get-intrinsic": "^1.3.0",
+        "get-proto": "^1.0.1",
+        "get-symbol-description": "^1.1.0",
+        "globalthis": "^1.0.4",
+        "gopd": "^1.2.0",
+        "has-property-descriptors": "^1.0.2",
+        "has-proto": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "internal-slot": "^1.1.0",
+        "is-array-buffer": "^3.0.5",
+        "is-callable": "^1.2.7",
+        "is-data-view": "^1.0.2",
+        "is-negative-zero": "^2.0.3",
+        "is-regex": "^1.2.1",
+        "is-set": "^2.0.3",
+        "is-shared-array-buffer": "^1.0.4",
+        "is-string": "^1.1.1",
+        "is-typed-array": "^1.1.15",
+        "is-weakref": "^1.1.1",
+        "math-intrinsics": "^1.1.0",
+        "object-inspect": "^1.13.4",
+        "object-keys": "^1.1.1",
+        "object.assign": "^4.1.7",
+        "own-keys": "^1.0.1",
+        "regexp.prototype.flags": "^1.5.4",
+        "safe-array-concat": "^1.1.3",
+        "safe-push-apply": "^1.0.0",
+        "safe-regex-test": "^1.1.0",
+        "set-proto": "^1.0.0",
+        "stop-iteration-iterator": "^1.1.0",
+        "string.prototype.trim": "^1.2.10",
+        "string.prototype.trimend": "^1.0.9",
+        "string.prototype.trimstart": "^1.0.8",
+        "typed-array-buffer": "^1.0.3",
+        "typed-array-byte-length": "^1.0.3",
+        "typed-array-byte-offset": "^1.0.4",
+        "typed-array-length": "^1.0.7",
+        "unbox-primitive": "^1.1.0",
+        "which-typed-array": "^1.1.19"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/jest-message-util/node_modules/slash": {
-      "version": "3.0.0",
+    "node_modules/es-define-property": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-mock": {
-      "version": "29.7.0",
+    "node_modules/es-errors": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "jest-util": "^29.7.0"
-      },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-pnp-resolver": {
-      "version": "1.2.3",
+    "node_modules/es-iterator-helpers": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.2.tgz",
+      "integrity": "sha512-BrUQ0cPTB/IwXj23HtwHjS9n7O4h9FX94b4xc5zlTHxeLgTAdzYUDyy6KdExAl9lbN5rtfe44xpjpmj9grxs5w==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      },
-      "peerDependencies": {
-        "jest-resolve": "*"
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.4",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.24.1",
+        "es-errors": "^1.3.0",
+        "es-set-tostringtag": "^2.1.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.3.0",
+        "globalthis": "^1.0.4",
+        "gopd": "^1.2.0",
+        "has-property-descriptors": "^1.0.2",
+        "has-proto": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "internal-slot": "^1.1.0",
+        "iterator.prototype": "^1.1.5",
+        "safe-array-concat": "^1.1.3"
       },
-      "peerDependenciesMeta": {
-        "jest-resolve": {
-          "optional": true
-        }
+      "engines": {
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-regex-util": {
-      "version": "29.6.3",
+    "node_modules/es-module-lexer": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz",
+      "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==",
+      "license": "MIT"
+    },
+    "node_modules/es-object-atoms": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+      "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0"
+      },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-resolve": {
-      "version": "29.7.0",
+    "node_modules/es-set-tostringtag": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "chalk": "^4.0.0",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^29.7.0",
-        "jest-pnp-resolver": "^1.2.2",
-        "jest-util": "^29.7.0",
-        "jest-validate": "^29.7.0",
-        "resolve": "^1.20.0",
-        "resolve.exports": "^2.0.0",
-        "slash": "^3.0.0"
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-resolve-dependencies": {
-      "version": "29.7.0",
+    "node_modules/es-shim-unscopables": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz",
+      "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "jest-regex-util": "^29.6.3",
-        "jest-snapshot": "^29.7.0"
+        "hasown": "^2.0.2"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/jest-resolve/node_modules/slash": {
-      "version": "3.0.0",
+    "node_modules/es-to-primitive": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz",
+      "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "is-callable": "^1.2.7",
+        "is-date-object": "^1.0.5",
+        "is-symbol": "^1.0.4"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/jest-runner": {
-      "version": "29.7.0",
-      "dev": true,
+    "node_modules/esbuild": {
+      "version": "0.27.2",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
+      "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
+      "hasInstallScript": true,
       "license": "MIT",
-      "dependencies": {
-        "@jest/console": "^29.7.0",
-        "@jest/environment": "^29.7.0",
-        "@jest/test-result": "^29.7.0",
-        "@jest/transform": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "emittery": "^0.13.1",
-        "graceful-fs": "^4.2.9",
-        "jest-docblock": "^29.7.0",
-        "jest-environment-node": "^29.7.0",
-        "jest-haste-map": "^29.7.0",
-        "jest-leak-detector": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-resolve": "^29.7.0",
-        "jest-runtime": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "jest-watcher": "^29.7.0",
-        "jest-worker": "^29.7.0",
-        "p-limit": "^3.1.0",
-        "source-map-support": "0.5.13"
+      "bin": {
+        "esbuild": "bin/esbuild"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=18"
+      },
+      "optionalDependencies": {
+        "@esbuild/aix-ppc64": "0.27.2",
+        "@esbuild/android-arm": "0.27.2",
+        "@esbuild/android-arm64": "0.27.2",
+        "@esbuild/android-x64": "0.27.2",
+        "@esbuild/darwin-arm64": "0.27.2",
+        "@esbuild/darwin-x64": "0.27.2",
+        "@esbuild/freebsd-arm64": "0.27.2",
+        "@esbuild/freebsd-x64": "0.27.2",
+        "@esbuild/linux-arm": "0.27.2",
+        "@esbuild/linux-arm64": "0.27.2",
+        "@esbuild/linux-ia32": "0.27.2",
+        "@esbuild/linux-loong64": "0.27.2",
+        "@esbuild/linux-mips64el": "0.27.2",
+        "@esbuild/linux-ppc64": "0.27.2",
+        "@esbuild/linux-riscv64": "0.27.2",
+        "@esbuild/linux-s390x": "0.27.2",
+        "@esbuild/linux-x64": "0.27.2",
+        "@esbuild/netbsd-arm64": "0.27.2",
+        "@esbuild/netbsd-x64": "0.27.2",
+        "@esbuild/openbsd-arm64": "0.27.2",
+        "@esbuild/openbsd-x64": "0.27.2",
+        "@esbuild/openharmony-arm64": "0.27.2",
+        "@esbuild/sunos-x64": "0.27.2",
+        "@esbuild/win32-arm64": "0.27.2",
+        "@esbuild/win32-ia32": "0.27.2",
+        "@esbuild/win32-x64": "0.27.2"
       }
     },
-    "node_modules/jest-runner/node_modules/source-map": {
-      "version": "0.6.1",
-      "dev": true,
-      "license": "BSD-3-Clause",
+    "node_modules/escalade": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
+      "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/jest-runner/node_modules/source-map-support": {
-      "version": "0.5.13",
-      "dev": true,
+    "node_modules/escape-html": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+      "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
+      "license": "MIT"
+    },
+    "node_modules/escape-string-regexp": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+      "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/jest-runtime": {
-      "version": "29.7.0",
+    "node_modules/escodegen": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+      "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
       "dev": true,
-      "license": "MIT",
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "@jest/environment": "^29.7.0",
-        "@jest/fake-timers": "^29.7.0",
-        "@jest/globals": "^29.7.0",
-        "@jest/source-map": "^29.6.3",
-        "@jest/test-result": "^29.7.0",
-        "@jest/transform": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "cjs-module-lexer": "^1.0.0",
-        "collect-v8-coverage": "^1.0.0",
-        "glob": "^7.1.3",
-        "graceful-fs": "^4.2.9",
-        "jest-haste-map": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-mock": "^29.7.0",
-        "jest-regex-util": "^29.6.3",
-        "jest-resolve": "^29.7.0",
-        "jest-snapshot": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "slash": "^3.0.0",
-        "strip-bom": "^4.0.0"
+        "esprima": "^4.0.1",
+        "estraverse": "^5.2.0",
+        "esutils": "^2.0.2"
+      },
+      "bin": {
+        "escodegen": "bin/escodegen.js",
+        "esgenerate": "bin/esgenerate.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=6.0"
+      },
+      "optionalDependencies": {
+        "source-map": "~0.6.1"
       }
     },
-    "node_modules/jest-runtime/node_modules/glob": {
-      "version": "7.2.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/eslint": {
+      "version": "9.39.2",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz",
+      "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==",
+      "devOptional": true,
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "@eslint-community/eslint-utils": "^4.8.0",
+        "@eslint-community/regexpp": "^4.12.1",
+        "@eslint/config-array": "^0.21.1",
+        "@eslint/config-helpers": "^0.4.2",
+        "@eslint/core": "^0.17.0",
+        "@eslint/eslintrc": "^3.3.1",
+        "@eslint/js": "9.39.2",
+        "@eslint/plugin-kit": "^0.4.1",
+        "@humanfs/node": "^0.16.6",
+        "@humanwhocodes/module-importer": "^1.0.1",
+        "@humanwhocodes/retry": "^0.4.2",
+        "@types/estree": "^1.0.6",
+        "ajv": "^6.12.4",
+        "chalk": "^4.0.0",
+        "cross-spawn": "^7.0.6",
+        "debug": "^4.3.2",
+        "escape-string-regexp": "^4.0.0",
+        "eslint-scope": "^8.4.0",
+        "eslint-visitor-keys": "^4.2.1",
+        "espree": "^10.4.0",
+        "esquery": "^1.5.0",
+        "esutils": "^2.0.2",
+        "fast-deep-equal": "^3.1.3",
+        "file-entry-cache": "^8.0.0",
+        "find-up": "^5.0.0",
+        "glob-parent": "^6.0.2",
+        "ignore": "^5.2.0",
+        "imurmurhash": "^0.1.4",
+        "is-glob": "^4.0.0",
+        "json-stable-stringify-without-jsonify": "^1.0.1",
+        "lodash.merge": "^4.6.2",
+        "minimatch": "^3.1.2",
+        "natural-compare": "^1.4.0",
+        "optionator": "^0.9.3"
+      },
+      "bin": {
+        "eslint": "bin/eslint.js"
       },
       "engines": {
-        "node": "*"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://eslint.org/donate"
+      },
+      "peerDependencies": {
+        "jiti": "*"
+      },
+      "peerDependenciesMeta": {
+        "jiti": {
+          "optional": true
+        }
       }
     },
-    "node_modules/jest-runtime/node_modules/slash": {
-      "version": "3.0.0",
+    "node_modules/eslint-config-prettier": {
+      "version": "10.1.8",
+      "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.1.8.tgz",
+      "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "bin": {
+        "eslint-config-prettier": "bin/cli.js"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint-config-prettier"
+      },
+      "peerDependencies": {
+        "eslint": ">=7.0.0"
       }
     },
-    "node_modules/jest-snapshot": {
-      "version": "29.7.0",
+    "node_modules/eslint-plugin-prettier": {
+      "version": "5.5.5",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz",
+      "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@babel/core": "^7.11.6",
-        "@babel/generator": "^7.7.2",
-        "@babel/plugin-syntax-jsx": "^7.7.2",
-        "@babel/plugin-syntax-typescript": "^7.7.2",
-        "@babel/types": "^7.3.3",
-        "@jest/expect-utils": "^29.7.0",
-        "@jest/transform": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "babel-preset-current-node-syntax": "^1.0.0",
-        "chalk": "^4.0.0",
-        "expect": "^29.7.0",
-        "graceful-fs": "^4.2.9",
-        "jest-diff": "^29.7.0",
-        "jest-get-type": "^29.6.3",
-        "jest-matcher-utils": "^29.7.0",
-        "jest-message-util": "^29.7.0",
-        "jest-util": "^29.7.0",
-        "natural-compare": "^1.4.0",
-        "pretty-format": "^29.7.0",
-        "semver": "^7.5.3"
+        "prettier-linter-helpers": "^1.0.1",
+        "synckit": "^0.11.12"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint-plugin-prettier"
+      },
+      "peerDependencies": {
+        "@types/eslint": ">=8.0.0",
+        "eslint": ">=8.0.0",
+        "eslint-config-prettier": ">= 7.0.0 <10.0.0 || >=10.1.0",
+        "prettier": ">=3.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@types/eslint": {
+          "optional": true
+        },
+        "eslint-config-prettier": {
+          "optional": true
+        }
       }
     },
-    "node_modules/jest-util": {
-      "version": "29.7.0",
+    "node_modules/eslint-plugin-react": {
+      "version": "7.37.5",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz",
+      "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "chalk": "^4.0.0",
-        "ci-info": "^3.2.0",
-        "graceful-fs": "^4.2.9",
-        "picomatch": "^2.2.3"
+        "array-includes": "^3.1.8",
+        "array.prototype.findlast": "^1.2.5",
+        "array.prototype.flatmap": "^1.3.3",
+        "array.prototype.tosorted": "^1.1.4",
+        "doctrine": "^2.1.0",
+        "es-iterator-helpers": "^1.2.1",
+        "estraverse": "^5.3.0",
+        "hasown": "^2.0.2",
+        "jsx-ast-utils": "^2.4.1 || ^3.0.0",
+        "minimatch": "^3.1.2",
+        "object.entries": "^1.1.9",
+        "object.fromentries": "^2.0.8",
+        "object.values": "^1.2.1",
+        "prop-types": "^15.8.1",
+        "resolve": "^2.0.0-next.5",
+        "semver": "^6.3.1",
+        "string.prototype.matchall": "^4.0.12",
+        "string.prototype.repeat": "^1.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=4"
+      },
+      "peerDependencies": {
+        "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7"
       }
     },
-    "node_modules/jest-util/node_modules/picomatch": {
-      "version": "2.3.1",
+    "node_modules/eslint-plugin-react/node_modules/resolve": {
+      "version": "2.0.0-next.5",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz",
+      "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=8.6"
+      "dependencies": {
+        "is-core-module": "^2.13.0",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/jest-validate": {
-      "version": "29.7.0",
+    "node_modules/eslint-plugin-vue": {
+      "version": "10.7.0",
+      "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-10.7.0.tgz",
+      "integrity": "sha512-r2XFCK4qlo1sxEoAMIoTTX0PZAdla0JJDt1fmYiworZUX67WeEGqm+JbyAg3M+pGiJ5U6Mp5WQbontXWtIW7TA==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@jest/types": "^29.6.3",
-        "camelcase": "^6.2.0",
-        "chalk": "^4.0.0",
-        "jest-get-type": "^29.6.3",
-        "leven": "^3.1.0",
-        "pretty-format": "^29.7.0"
+        "@eslint-community/eslint-utils": "^4.4.0",
+        "natural-compare": "^1.4.0",
+        "nth-check": "^2.1.1",
+        "postcss-selector-parser": "^7.1.0",
+        "semver": "^7.6.3",
+        "xml-name-validator": "^4.0.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-      }
-    },
-    "node_modules/jest-validate/node_modules/camelcase": {
-      "version": "6.3.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@stylistic/eslint-plugin": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0",
+        "@typescript-eslint/parser": "^7.0.0 || ^8.0.0",
+        "eslint": "^8.57.0 || ^9.0.0",
+        "vue-eslint-parser": "^10.0.0"
+      },
+      "peerDependenciesMeta": {
+        "@stylistic/eslint-plugin": {
+          "optional": true
+        },
+        "@typescript-eslint/parser": {
+          "optional": true
+        }
       }
     },
-    "node_modules/jest-watcher": {
-      "version": "29.7.0",
+    "node_modules/eslint-plugin-vue/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@jest/test-result": "^29.7.0",
-        "@jest/types": "^29.6.3",
-        "@types/node": "*",
-        "ansi-escapes": "^4.2.1",
-        "chalk": "^4.0.0",
-        "emittery": "^0.13.1",
-        "jest-util": "^29.7.0",
-        "string-length": "^4.0.1"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/jest-worker": {
-      "version": "29.7.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/eslint-scope": {
+      "version": "8.4.0",
+      "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
+      "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
+      "devOptional": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "@types/node": "*",
-        "jest-util": "^29.7.0",
-        "merge-stream": "^2.0.0",
-        "supports-color": "^8.0.0"
+        "esrecurse": "^4.3.0",
+        "estraverse": "^5.2.0"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/jest-worker/node_modules/supports-color": {
-      "version": "8.1.1",
+    "node_modules/eslint-utils": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+      "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "eslint-visitor-keys": "^2.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
+        "url": "https://github.com/sponsors/mysticatea"
+      },
+      "peerDependencies": {
+        "eslint": ">=5"
       }
     },
-    "node_modules/jiti": {
-      "version": "2.4.2",
-      "license": "MIT",
-      "bin": {
-        "jiti": "lib/jiti-cli.mjs"
+    "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+      "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/js-tokens": {
-      "version": "4.0.0",
-      "license": "MIT"
-    },
-    "node_modules/js-yaml": {
-      "version": "4.1.0",
+    "node_modules/eslint-visitor-keys": {
+      "version": "4.2.1",
+      "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
+      "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
       "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "argparse": "^2.0.1"
+      "license": "Apache-2.0",
+      "engines": {
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
-      "bin": {
-        "js-yaml": "bin/js-yaml.js"
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/jsbn": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/jsdom": {
-      "version": "25.0.1",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/espree": {
+      "version": "10.4.0",
+      "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
+      "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
+      "devOptional": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "cssstyle": "^4.1.0",
-        "data-urls": "^5.0.0",
-        "decimal.js": "^10.4.3",
-        "form-data": "^4.0.0",
-        "html-encoding-sniffer": "^4.0.0",
-        "http-proxy-agent": "^7.0.2",
-        "https-proxy-agent": "^7.0.5",
-        "is-potential-custom-element-name": "^1.0.1",
-        "nwsapi": "^2.2.12",
-        "parse5": "^7.1.2",
-        "rrweb-cssom": "^0.7.1",
-        "saxes": "^6.0.0",
-        "symbol-tree": "^3.2.4",
-        "tough-cookie": "^5.0.0",
-        "w3c-xmlserializer": "^5.0.0",
-        "webidl-conversions": "^7.0.0",
-        "whatwg-encoding": "^3.1.1",
-        "whatwg-mimetype": "^4.0.0",
-        "whatwg-url": "^14.0.0",
-        "ws": "^8.18.0",
-        "xml-name-validator": "^5.0.0"
+        "acorn": "^8.15.0",
+        "acorn-jsx": "^5.3.2",
+        "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "canvas": "^2.11.2"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
-      "peerDependenciesMeta": {
-        "canvas": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://opencollective.com/eslint"
       }
     },
-    "node_modules/jsdom/node_modules/xml-name-validator": {
-      "version": "5.0.0",
+    "node_modules/esprima": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "BSD-2-Clause",
+      "bin": {
+        "esparse": "bin/esparse.js",
+        "esvalidate": "bin/esvalidate.js"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">=4"
       }
     },
-    "node_modules/jsesc": {
-      "version": "3.1.0",
-      "license": "MIT",
-      "bin": {
-        "jsesc": "bin/jsesc"
+    "node_modules/esquery": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz",
+      "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==",
+      "devOptional": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "estraverse": "^5.1.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=0.10"
       }
     },
-    "node_modules/json-buffer": {
-      "version": "3.0.1",
+    "node_modules/esrecurse": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+      "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
       "devOptional": true,
-      "license": "MIT"
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "estraverse": "^5.2.0"
+      },
+      "engines": {
+        "node": ">=4.0"
+      }
     },
-    "node_modules/json-parse-even-better-errors": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/estraverse": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+      "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+      "devOptional": true,
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=4.0"
       }
     },
-    "node_modules/json-schema-traverse": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/estree-walker": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+      "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
       "license": "MIT"
     },
-    "node_modules/json-stable-stringify-without-jsonify": {
-      "version": "1.0.1",
+    "node_modules/esutils": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+      "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
       "devOptional": true,
-      "license": "MIT"
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.10.0"
+      }
     },
-    "node_modules/json5": {
-      "version": "2.2.3",
+    "node_modules/etag": {
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
+      "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/event-target-shim": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
+      "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
       "license": "MIT",
-      "bin": {
-        "json5": "lib/cli.js"
-      },
       "engines": {
         "node": ">=6"
       }
     },
-    "node_modules/jsonc-parser": {
-      "version": "3.3.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/jsonparse": {
-      "version": "1.3.1",
+    "node_modules/eventemitter3": {
+      "version": "5.0.4",
+      "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.4.tgz",
+      "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==",
       "dev": true,
-      "engines": [
-        "node >= 0.2.0"
-      ],
       "license": "MIT"
     },
-    "node_modules/jsx-ast-utils": {
-      "version": "3.3.5",
-      "dev": true,
+    "node_modules/events": {
+      "version": "3.3.0",
+      "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
+      "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "array-includes": "^3.1.6",
-        "array.prototype.flat": "^1.3.1",
-        "object.assign": "^4.1.4",
-        "object.values": "^1.1.6"
-      },
       "engines": {
-        "node": ">=4.0"
+        "node": ">=0.8.x"
       }
     },
-    "node_modules/jszip": {
-      "version": "3.10.1",
-      "dev": true,
-      "license": "(MIT OR GPL-3.0-or-later)",
+    "node_modules/events-universal": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz",
+      "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==",
+      "license": "Apache-2.0",
       "dependencies": {
-        "lie": "~3.3.0",
-        "pako": "~1.0.2",
-        "readable-stream": "~2.3.6",
-        "setimmediate": "^1.0.5"
+        "bare-events": "^2.7.0"
       }
     },
-    "node_modules/jszip/node_modules/isarray": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/jszip/node_modules/readable-stream": {
-      "version": "2.3.8",
+    "node_modules/eventsource": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
+      "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "eventsource-parser": "^3.0.1"
+      },
+      "engines": {
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/jszip/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/jszip/node_modules/string_decoder": {
-      "version": "1.1.1",
+    "node_modules/eventsource-parser": {
+      "version": "3.0.6",
+      "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
+      "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
+      "engines": {
+        "node": ">=18.0.0"
       }
     },
-    "node_modules/junk": {
-      "version": "4.0.1",
+    "node_modules/execa": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+      "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "cross-spawn": "^7.0.3",
+        "get-stream": "^6.0.0",
+        "human-signals": "^2.1.0",
+        "is-stream": "^2.0.0",
+        "merge-stream": "^2.0.0",
+        "npm-run-path": "^4.0.1",
+        "onetime": "^5.1.2",
+        "signal-exit": "^3.0.3",
+        "strip-final-newline": "^2.0.0"
+      },
       "engines": {
-        "node": ">=12.20"
+        "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sindresorhus/execa?sponsor=1"
       }
     },
-    "node_modules/jwt-decode": {
-      "version": "4.0.0",
-      "license": "MIT",
+    "node_modules/exit": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+      "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+      "dev": true,
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/karma-source-map-support": {
-      "version": "1.4.0",
+    "node_modules/expect": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+      "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "source-map-support": "^0.5.5"
+        "@jest/expect-utils": "^29.7.0",
+        "jest-get-type": "^29.6.3",
+        "jest-matcher-utils": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-util": "^29.7.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/katex": {
-      "version": "0.16.22",
+    "node_modules/exponential-backoff": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz",
+      "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/express": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
+      "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
       "dev": true,
-      "funding": [
-        "https://opencollective.com/katex",
-        "https://github.com/sponsors/katex"
-      ],
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "commander": "^8.3.0"
+        "accepts": "^2.0.0",
+        "body-parser": "^2.2.1",
+        "content-disposition": "^1.0.0",
+        "content-type": "^1.0.5",
+        "cookie": "^0.7.1",
+        "cookie-signature": "^1.2.1",
+        "debug": "^4.4.0",
+        "depd": "^2.0.0",
+        "encodeurl": "^2.0.0",
+        "escape-html": "^1.0.3",
+        "etag": "^1.8.1",
+        "finalhandler": "^2.1.0",
+        "fresh": "^2.0.0",
+        "http-errors": "^2.0.0",
+        "merge-descriptors": "^2.0.0",
+        "mime-types": "^3.0.0",
+        "on-finished": "^2.4.1",
+        "once": "^1.4.0",
+        "parseurl": "^1.3.3",
+        "proxy-addr": "^2.0.7",
+        "qs": "^6.14.0",
+        "range-parser": "^1.2.1",
+        "router": "^2.2.0",
+        "send": "^1.1.0",
+        "serve-static": "^2.2.0",
+        "statuses": "^2.0.1",
+        "type-is": "^2.0.1",
+        "vary": "^1.1.2"
       },
-      "bin": {
-        "katex": "cli.js"
+      "engines": {
+        "node": ">= 18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/katex/node_modules/commander": {
-      "version": "8.3.0",
+    "node_modules/express-rate-limit": {
+      "version": "7.5.1",
+      "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz",
+      "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 12"
-      }
-    },
-    "node_modules/keyv": {
-      "version": "4.5.4",
-      "devOptional": true,
-      "license": "MIT",
-      "dependencies": {
-        "json-buffer": "3.0.1"
+        "node": ">= 16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/express-rate-limit"
+      },
+      "peerDependencies": {
+        "express": ">= 4.11"
       }
     },
-    "node_modules/khroma": {
-      "version": "2.1.0",
-      "dev": true
+    "node_modules/exsolve": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz",
+      "integrity": "sha512-LmDxfWXwcTArk8fUEnOfSZpHOJ6zOMUJKOtFLFqJLoKJetuQG874Uc7/Kki7zFLzYybmZhp1M7+98pfMqeX8yA==",
+      "license": "MIT"
     },
-    "node_modules/kind-of": {
-      "version": "6.0.3",
+    "node_modules/extract-zip": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+      "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/kleur": {
-      "version": "3.0.3",
-      "license": "MIT",
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "debug": "^4.1.1",
+        "get-stream": "^5.1.0",
+        "yauzl": "^2.10.0"
+      },
+      "bin": {
+        "extract-zip": "cli.js"
+      },
       "engines": {
-        "node": ">=6"
+        "node": ">= 10.17.0"
+      },
+      "optionalDependencies": {
+        "@types/yauzl": "^2.9.1"
       }
     },
-    "node_modules/klona": {
-      "version": "2.0.6",
+    "node_modules/extract-zip/node_modules/get-stream": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+      "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "pump": "^3.0.0"
+      },
       "engines": {
-        "node": ">= 8"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/knitwork": {
-      "version": "1.2.0",
+    "node_modules/fast-deep-equal": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+      "devOptional": true,
       "license": "MIT"
     },
-    "node_modules/kolorist": {
-      "version": "1.8.0",
+    "node_modules/fast-diff": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz",
+      "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==",
       "dev": true,
-      "license": "MIT"
+      "license": "Apache-2.0"
     },
-    "node_modules/kuler": {
-      "version": "2.0.0",
+    "node_modules/fast-fifo": {
+      "version": "1.3.2",
+      "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+      "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==",
       "license": "MIT"
     },
-    "node_modules/ky": {
-      "version": "0.33.3",
-      "dev": true,
+    "node_modules/fast-glob": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+      "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=14.16"
+      "dependencies": {
+        "@nodelib/fs.stat": "^2.0.2",
+        "@nodelib/fs.walk": "^1.2.3",
+        "glob-parent": "^5.1.2",
+        "merge2": "^1.3.0",
+        "micromatch": "^4.0.8"
       },
-      "funding": {
-        "url": "https://github.com/sindresorhus/ky?sponsor=1"
+      "engines": {
+        "node": ">=8.6.0"
       }
     },
-    "node_modules/lambda-local": {
-      "version": "2.2.0",
-      "license": "MIT",
+    "node_modules/fast-glob/node_modules/glob-parent": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+      "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+      "license": "ISC",
       "dependencies": {
-        "commander": "^10.0.1",
-        "dotenv": "^16.3.1",
-        "winston": "^3.10.0"
-      },
-      "bin": {
-        "lambda-local": "build/cli.js"
+        "is-glob": "^4.0.1"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 6"
       }
     },
-    "node_modules/lambda-local/node_modules/commander": {
-      "version": "10.0.1",
+    "node_modules/fast-json-stable-stringify": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+      "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/fast-levenshtein": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+      "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/fast-npm-meta": {
+      "version": "0.4.8",
+      "resolved": "https://registry.npmjs.org/fast-npm-meta/-/fast-npm-meta-0.4.8.tgz",
+      "integrity": "sha512-ybZVlDZ2PkO79dosM+6CLZfKWRH8MF0PiWlw8M4mVWJl8IEJrPfxYc7Tsu830Dwj/R96LKXfePGTSzKWbPJ08w==",
       "license": "MIT",
-      "engines": {
-        "node": ">=14"
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/fast-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+      "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fastify"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/fastify"
+        }
+      ],
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/fastq": {
+      "version": "1.20.1",
+      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz",
+      "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==",
+      "license": "ISC",
+      "dependencies": {
+        "reusify": "^1.0.4"
       }
     },
-    "node_modules/langium": {
-      "version": "3.3.1",
+    "node_modules/fb-watchman": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+      "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "dependencies": {
-        "chevrotain": "~11.0.3",
-        "chevrotain-allstar": "~0.3.0",
-        "vscode-languageserver": "~9.0.1",
-        "vscode-languageserver-textdocument": "~1.0.11",
-        "vscode-uri": "~3.0.8"
-      },
-      "engines": {
-        "node": ">=16.0.0"
+        "bser": "2.1.1"
       }
     },
-    "node_modules/launch-editor": {
-      "version": "2.10.0",
+    "node_modules/fd-slicer": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+      "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "picocolors": "^1.0.0",
-        "shell-quote": "^1.8.1"
+        "pend": "~1.2.0"
       }
     },
-    "node_modules/layout-base": {
-      "version": "1.0.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lazystream": {
-      "version": "1.0.1",
+    "node_modules/file-entry-cache": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz",
+      "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "readable-stream": "^2.0.5"
+        "flat-cache": "^4.0.0"
       },
       "engines": {
-        "node": ">= 0.6.3"
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/lazystream/node_modules/isarray": {
+    "node_modules/file-uri-to-path": {
       "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz",
+      "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==",
       "license": "MIT"
     },
-    "node_modules/lazystream/node_modules/readable-stream": {
-      "version": "2.3.8",
+    "node_modules/fill-range": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
       "license": "MIT",
       "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "to-regex-range": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/lazystream/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "license": "MIT"
-    },
-    "node_modules/lazystream/node_modules/string_decoder": {
-      "version": "1.1.1",
+    "node_modules/filter-obj": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-5.1.0.tgz",
+      "integrity": "sha512-qWeTREPoT7I0bifpPUXtxkZJ1XJzxWtfoWWkdVGqa+eCr3SHW/Ocp89o8vLvbUuQnadybJpjOKu4V+RwO6sGng==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "safe-buffer": "~5.1.0"
-      }
-    },
-    "node_modules/less": {
-      "version": "4.3.0",
-      "devOptional": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "copy-anything": "^2.0.1",
-        "parse-node-version": "^1.0.1",
-        "tslib": "^2.3.0"
-      },
-      "bin": {
-        "lessc": "bin/lessc"
-      },
       "engines": {
-        "node": ">=14"
+        "node": ">=14.16"
       },
-      "optionalDependencies": {
-        "errno": "^0.1.1",
-        "graceful-fs": "^4.1.2",
-        "image-size": "~0.5.0",
-        "make-dir": "^2.1.0",
-        "mime": "^1.4.1",
-        "needle": "^3.1.0",
-        "source-map": "~0.6.0"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/less-loader": {
-      "version": "12.2.0",
+    "node_modules/finalhandler": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
+      "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "debug": "^4.4.0",
+        "encodeurl": "^2.0.0",
+        "escape-html": "^1.0.3",
+        "on-finished": "^2.4.1",
+        "parseurl": "^1.3.3",
+        "statuses": "^2.0.1"
+      },
       "engines": {
-        "node": ">= 18.12.0"
+        "node": ">= 18.0.0"
       },
       "funding": {
         "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "@rspack/core": "0.x || 1.x",
-        "less": "^3.5.0 || ^4.0.0",
-        "webpack": "^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@rspack/core": {
-          "optional": true
-        },
-        "webpack": {
-          "optional": true
-        }
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/less/node_modules/make-dir": {
-      "version": "2.1.0",
+    "node_modules/find-cache-directory": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/find-cache-directory/-/find-cache-directory-6.0.0.tgz",
+      "integrity": "sha512-CvFd5ivA6HcSHbD+59P7CyzINHXzwhuQK8RY7CxJZtgDSAtRlHiCaQpZQ2lMR/WRyUIEmzUvL6G2AGurMfegZA==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "pify": "^4.0.1",
-        "semver": "^5.6.0"
+        "common-path-prefix": "^3.0.0",
+        "pkg-dir": "^8.0.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/less/node_modules/pify": {
-      "version": "4.0.1",
+    "node_modules/find-cache-directory/node_modules/pkg-dir": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-8.0.0.tgz",
+      "integrity": "sha512-4peoBq4Wks0riS0z8741NVv+/8IiTvqnZAr8QGgtdifrtpdXbNw/FxRS1l6NFqm4EMzuS0EDqNNx4XGaz8cuyQ==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
+      "dependencies": {
+        "find-up-simple": "^1.0.0"
+      },
       "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/less/node_modules/semver": {
-      "version": "5.7.2",
-      "license": "ISC",
-      "optional": true,
-      "bin": {
-        "semver": "bin/semver"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/less/node_modules/source-map": {
-      "version": "0.6.1",
-      "license": "BSD-3-Clause",
-      "optional": true,
+    "node_modules/find-up": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+      "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+      "devOptional": true,
+      "license": "MIT",
+      "dependencies": {
+        "locate-path": "^6.0.0",
+        "path-exists": "^4.0.0"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/leven": {
-      "version": "3.1.0",
+    "node_modules/find-up-simple": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/find-up-simple/-/find-up-simple-1.0.1.tgz",
+      "integrity": "sha512-afd4O7zpqHeRyg4PfDQsXmlDe2PfdHtJt6Akt8jOWaApLOZk5JXs6VMR29lz03pRe9mpykrRCYIYxaJYcfpncQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=6"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/levn": {
-      "version": "0.4.1",
+    "node_modules/flat-cache": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz",
+      "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==",
       "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "prelude-ls": "^1.2.1",
-        "type-check": "~0.4.0"
+        "flatted": "^3.2.9",
+        "keyv": "^4.5.4"
       },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">=16"
       }
     },
-    "node_modules/license-webpack-plugin": {
-      "version": "4.0.2",
+    "node_modules/flatted": {
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
+      "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
+      "devOptional": true,
+      "license": "ISC"
+    },
+    "node_modules/focus-trap": {
+      "version": "7.8.0",
+      "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-7.8.0.tgz",
+      "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "webpack-sources": "^3.0.0"
-      },
-      "peerDependenciesMeta": {
-        "webpack": {
-          "optional": true
-        },
-        "webpack-sources": {
-          "optional": true
-        }
+        "tabbable": "^6.4.0"
       }
     },
-    "node_modules/lie": {
-      "version": "3.3.0",
+    "node_modules/for-each": {
+      "version": "0.3.5",
+      "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
+      "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "immediate": "~3.0.5"
+        "is-callable": "^1.2.7"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/lilconfig": {
-      "version": "3.1.3",
-      "license": "MIT",
+    "node_modules/foreground-child": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+      "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+      "license": "ISC",
+      "dependencies": {
+        "cross-spawn": "^7.0.6",
+        "signal-exit": "^4.0.1"
+      },
       "engines": {
         "node": ">=14"
       },
       "funding": {
-        "url": "https://github.com/sponsors/antonk52"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/lines-and-columns": {
-      "version": "1.2.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/listenercount": {
-      "version": "1.0.1",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/listhen": {
-      "version": "1.9.0",
-      "license": "MIT",
-      "dependencies": {
-        "@parcel/watcher": "^2.4.1",
-        "@parcel/watcher-wasm": "^2.4.1",
-        "citty": "^0.1.6",
-        "clipboardy": "^4.0.0",
-        "consola": "^3.2.3",
-        "crossws": ">=0.2.0 <0.4.0",
-        "defu": "^6.1.4",
-        "get-port-please": "^3.1.2",
-        "h3": "^1.12.0",
-        "http-shutdown": "^1.2.2",
-        "jiti": "^2.1.2",
-        "mlly": "^1.7.1",
-        "node-forge": "^1.3.1",
-        "pathe": "^1.1.2",
-        "std-env": "^3.7.0",
-        "ufo": "^1.5.4",
-        "untun": "^0.1.3",
-        "uqr": "^0.1.2"
+    "node_modules/foreground-child/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+      "license": "ISC",
+      "engines": {
+        "node": ">=14"
       },
-      "bin": {
-        "listen": "bin/listhen.mjs",
-        "listhen": "bin/listhen.mjs"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/listr2": {
-      "version": "8.3.3",
+    "node_modules/form-data": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+      "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cli-truncate": "^4.0.0",
-        "colorette": "^2.0.20",
-        "eventemitter3": "^5.0.1",
-        "log-update": "^6.1.0",
-        "rfdc": "^1.4.1",
-        "wrap-ansi": "^9.0.0"
+        "asynckit": "^0.4.0",
+        "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
+        "mime-types": "^2.1.12"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">= 6"
       }
     },
-    "node_modules/listr2/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/form-data/node_modules/mime-db": {
+      "version": "1.52.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/listr2/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/form-data/node_modules/mime-types": {
+      "version": "2.1.35",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "mime-db": "1.52.0"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "engines": {
+        "node": ">= 0.6"
       }
     },
-    "node_modules/listr2/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/listr2/node_modules/eventemitter3": {
-      "version": "5.0.1",
+    "node_modules/forwarded": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
+      "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
     },
-    "node_modules/listr2/node_modules/string-width": {
-      "version": "7.2.0",
-      "dev": true,
+    "node_modules/fraction.js": {
+      "version": "5.3.4",
+      "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz",
+      "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==",
       "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
-      },
       "engines": {
-        "node": ">=18"
+        "node": "*"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "github",
+        "url": "https://github.com/sponsors/rawify"
       }
     },
-    "node_modules/listr2/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
+    "node_modules/fresh": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+      "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/listr2/node_modules/wrap-ansi": {
-      "version": "9.0.0",
+    "node_modules/fs-minipass": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz",
+      "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "string-width": "^7.0.0",
-        "strip-ansi": "^7.1.0"
+        "minipass": "^7.0.3"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/lmdb": {
-      "version": "3.3.0",
+    "node_modules/fs.realpath": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+      "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
       "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/fsevents": {
+      "version": "2.3.3",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+      "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
       "hasInstallScript": true,
       "license": "MIT",
       "optional": true,
+      "os": [
+        "darwin"
+      ],
+      "engines": {
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+      }
+    },
+    "node_modules/function-bind": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/function.prototype.name": {
+      "version": "1.1.8",
+      "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz",
+      "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "msgpackr": "^1.11.2",
-        "node-addon-api": "^6.1.0",
-        "node-gyp-build-optional-packages": "5.2.2",
-        "ordered-binary": "^1.5.3",
-        "weak-lru-cache": "^1.2.2"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.3",
+        "define-properties": "^1.2.1",
+        "functions-have-names": "^1.2.3",
+        "hasown": "^2.0.2",
+        "is-callable": "^1.2.7"
       },
-      "bin": {
-        "download-lmdb-prebuilds": "bin/download-prebuilds.js"
+      "engines": {
+        "node": ">= 0.4"
       },
-      "optionalDependencies": {
-        "@lmdb/lmdb-darwin-arm64": "3.3.0",
-        "@lmdb/lmdb-darwin-x64": "3.3.0",
-        "@lmdb/lmdb-linux-arm": "3.3.0",
-        "@lmdb/lmdb-linux-arm64": "3.3.0",
-        "@lmdb/lmdb-linux-x64": "3.3.0",
-        "@lmdb/lmdb-win32-arm64": "3.3.0",
-        "@lmdb/lmdb-win32-x64": "3.3.0"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/loader-runner": {
-      "version": "4.3.0",
+    "node_modules/functions-have-names": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz",
+      "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==",
       "dev": true,
       "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/fuse.js": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/fuse.js/-/fuse.js-7.1.0.tgz",
+      "integrity": "sha512-trLf4SzuuUxfusZADLINj+dE8clK1frKdmqiJNb1Es75fmI5oY6X2mxLVUciLLjxqw/xr72Dhy+lER6dGd02FQ==",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6.11.5"
+        "node": ">=10"
       }
     },
-    "node_modules/loader-utils": {
-      "version": "3.3.1",
+    "node_modules/generator-function": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz",
+      "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 12.13.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/local-pkg": {
-      "version": "1.1.1",
+    "node_modules/gensync": {
+      "version": "1.0.0-beta.2",
+      "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+      "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
       "license": "MIT",
-      "dependencies": {
-        "mlly": "^1.7.4",
-        "pkg-types": "^2.0.1",
-        "quansync": "^0.2.8"
-      },
       "engines": {
-        "node": ">=14"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+        "node": ">=6.9.0"
       }
     },
-    "node_modules/locate-app": {
-      "version": "2.5.0",
-      "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://buymeacoffee.com/hejny"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/hejny/locate-app/blob/main/README.md#%EF%B8%8F-contributing"
-        }
-      ],
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@promptbook/utils": "0.69.5",
-        "type-fest": "4.26.0",
-        "userhome": "1.0.1"
+    "node_modules/get-caller-file": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+      "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+      "license": "ISC",
+      "engines": {
+        "node": "6.* || 8.* || >= 10.*"
       }
     },
-    "node_modules/locate-app/node_modules/type-fest": {
-      "version": "4.26.0",
+    "node_modules/get-east-asian-width": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz",
+      "integrity": "sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==",
       "dev": true,
-      "license": "(MIT OR CC0-1.0)",
+      "license": "MIT",
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/locate-path": {
-      "version": "6.0.0",
-      "devOptional": true,
+    "node_modules/get-intrinsic": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "p-locate": "^5.0.0"
+        "call-bind-apply-helpers": "^1.0.2",
+        "es-define-property": "^1.0.1",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.1.1",
+        "function-bind": "^1.1.2",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "hasown": "^2.0.2",
+        "math-intrinsics": "^1.1.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/lodash": {
-      "version": "4.17.21",
-      "license": "MIT"
-    },
-    "node_modules/lodash-es": {
-      "version": "4.17.21",
-      "license": "MIT"
-    },
-    "node_modules/lodash.clonedeep": {
-      "version": "4.5.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.debounce": {
-      "version": "4.0.8",
-      "license": "MIT"
-    },
-    "node_modules/lodash.defaults": {
-      "version": "4.2.0",
-      "license": "MIT"
-    },
-    "node_modules/lodash.flattendeep": {
-      "version": "4.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.isarguments": {
-      "version": "3.1.0",
-      "license": "MIT"
-    },
-    "node_modules/lodash.isequal": {
-      "version": "4.5.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.memoize": {
-      "version": "4.1.2",
-      "license": "MIT"
-    },
-    "node_modules/lodash.merge": {
-      "version": "4.6.2",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.pickby": {
-      "version": "4.6.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.union": {
-      "version": "4.6.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/lodash.uniq": {
-      "version": "4.5.0",
-      "license": "MIT"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
-    "node_modules/lodash.zip": {
-      "version": "4.2.0",
+    "node_modules/get-package-type": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+      "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
       "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8.0.0"
+      }
+    },
+    "node_modules/get-port-please": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/get-port-please/-/get-port-please-3.2.0.tgz",
+      "integrity": "sha512-I9QVvBw5U/hw3RmWpYKRumUeaDgxTPd401x364rLmWBJcOQ753eov1eTgzDqRG9bqFIfDc7gfzcQEWrUri3o1A==",
       "license": "MIT"
     },
-    "node_modules/log-symbols": {
-      "version": "4.1.0",
+    "node_modules/get-proto": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+      "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "chalk": "^4.1.0",
-        "is-unicode-supported": "^0.1.0"
+        "dunder-proto": "^1.0.1",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/log-symbols/node_modules/is-unicode-supported": {
-      "version": "0.1.0",
+    "node_modules/get-stream": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+      "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -21505,2516 +16087,2792 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/log-update": {
-      "version": "6.1.0",
+    "node_modules/get-symbol-description": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz",
+      "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-escapes": "^7.0.0",
-        "cli-cursor": "^5.0.0",
-        "slice-ansi": "^7.1.0",
-        "strip-ansi": "^7.1.0",
-        "wrap-ansi": "^9.0.0"
+        "call-bound": "^1.0.3",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.6"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/log-update/node_modules/ansi-escapes": {
-      "version": "7.0.0",
-      "dev": true,
+    "node_modules/get-tsconfig": {
+      "version": "4.13.0",
+      "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz",
+      "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "environment": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=18"
+        "resolve-pkg-maps": "^1.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1"
       }
     },
-    "node_modules/log-update/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/get-uri": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.5.tgz",
+      "integrity": "sha512-b1O07XYq8eRuVzBNgJLstU6FYc1tS6wnMtF1I1D9lE8LxZSOGZ7LhxN54yPP6mGw5f2CkXY2BQUL9Fx41qvcIg==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "basic-ftp": "^5.0.2",
+        "data-uri-to-buffer": "^6.0.2",
+        "debug": "^4.3.4"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+      "engines": {
+        "node": ">= 14"
       }
     },
-    "node_modules/log-update/node_modules/ansi-styles": {
-      "version": "6.2.1",
-      "dev": true,
+    "node_modules/giget": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/giget/-/giget-2.0.0.tgz",
+      "integrity": "sha512-L5bGsVkxJbJgdnwyuheIunkGatUF/zssUoxxjACCseZYAVbaqdh9Tsmmlkl8vYan09H7sbvKt4pS8GqKLBrEzA==",
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
+      "dependencies": {
+        "citty": "^0.1.6",
+        "consola": "^3.4.0",
+        "defu": "^6.1.4",
+        "node-fetch-native": "^1.6.6",
+        "nypm": "^0.6.0",
+        "pathe": "^2.0.3"
       },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+      "bin": {
+        "giget": "dist/cli.mjs"
       }
     },
-    "node_modules/log-update/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/log-update/node_modules/is-fullwidth-code-point": {
-      "version": "5.0.0",
-      "dev": true,
+    "node_modules/git-up": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/git-up/-/git-up-8.1.1.tgz",
+      "integrity": "sha512-FDenSF3fVqBYSaJoYy1KSc2wosx0gCvKP+c+PRBht7cAaiCeQlBtfBDX9vgnNOHmdePlSFITVcn4pFfcgNvx3g==",
       "license": "MIT",
       "dependencies": {
-        "get-east-asian-width": "^1.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "is-ssh": "^1.4.0",
+        "parse-url": "^9.2.0"
       }
     },
-    "node_modules/log-update/node_modules/slice-ansi": {
-      "version": "7.1.0",
-      "dev": true,
+    "node_modules/git-url-parse": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-16.1.0.tgz",
+      "integrity": "sha512-cPLz4HuK86wClEW7iDdeAKcCVlWXmrLpb2L+G9goW0Z1dtpNS6BXXSOckUTlJT/LDQViE1QZKstNORzHsLnobw==",
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "is-fullwidth-code-point": "^5.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+        "git-up": "^8.1.0"
       }
     },
-    "node_modules/log-update/node_modules/string-width": {
-      "version": "7.2.0",
+    "node_modules/glob": {
+      "version": "7.2.3",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+      "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+      "deprecated": "Glob versions prior to v9 are no longer supported",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "emoji-regex": "^10.3.0",
-        "get-east-asian-width": "^1.0.0",
-        "strip-ansi": "^7.1.0"
+        "fs.realpath": "^1.0.0",
+        "inflight": "^1.0.4",
+        "inherits": "2",
+        "minimatch": "^3.1.1",
+        "once": "^1.3.0",
+        "path-is-absolute": "^1.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "*"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/log-update/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/glob-parent": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+      "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+      "devOptional": true,
+      "license": "ISC",
       "dependencies": {
-        "ansi-regex": "^6.0.1"
+        "is-glob": "^4.0.3"
       },
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/log-update/node_modules/wrap-ansi": {
-      "version": "9.0.0",
+    "node_modules/glob-to-regexp": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
+      "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
       "dev": true,
+      "license": "BSD-2-Clause"
+    },
+    "node_modules/global-directory": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/global-directory/-/global-directory-4.0.1.tgz",
+      "integrity": "sha512-wHTUcDUoZ1H5/0iVqEudYW4/kAlN5cZ3j/bXn0Dpbizl9iaUVeWSHqiOjsgk6OW2bkLclbBjzewBz6weQ1zA2Q==",
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "string-width": "^7.0.0",
-        "strip-ansi": "^7.1.0"
+        "ini": "4.1.1"
       },
       "engines": {
         "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/logform": {
-      "version": "2.7.0",
-      "license": "MIT",
-      "dependencies": {
-        "@colors/colors": "1.6.0",
-        "@types/triple-beam": "^1.3.2",
-        "fecha": "^4.2.0",
-        "ms": "^2.1.1",
-        "safe-stable-stringify": "^2.3.1",
-        "triple-beam": "^1.3.0"
-      },
+    "node_modules/global-directory/node_modules/ini": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
+      "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
+      "license": "ISC",
       "engines": {
-        "node": ">= 12.0.0"
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/loglevel": {
-      "version": "1.9.2",
-      "dev": true,
+    "node_modules/globals": {
+      "version": "14.0.0",
+      "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+      "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6.0"
+        "node": ">=18"
       },
       "funding": {
-        "type": "tidelift",
-        "url": "https://tidelift.com/funding/github/npm/loglevel"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/loglevel-plugin-prefix": {
-      "version": "0.8.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/loose-envify": {
-      "version": "1.4.0",
+    "node_modules/globalthis": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz",
+      "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "js-tokens": "^3.0.0 || ^4.0.0"
+        "define-properties": "^1.2.1",
+        "gopd": "^1.0.1"
       },
-      "bin": {
-        "loose-envify": "cli.js"
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/lowercase-keys": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/globby": {
+      "version": "16.1.0",
+      "resolved": "https://registry.npmjs.org/globby/-/globby-16.1.0.tgz",
+      "integrity": "sha512-+A4Hq7m7Ze592k9gZRy4gJ27DrXRNnC1vPjxTt1qQxEY8RxagBkBxivkCwg7FxSTG0iLLEMaUx13oOr0R2/qcQ==",
       "license": "MIT",
+      "dependencies": {
+        "@sindresorhus/merge-streams": "^4.0.0",
+        "fast-glob": "^3.3.3",
+        "ignore": "^7.0.5",
+        "is-path-inside": "^4.0.0",
+        "slash": "^5.1.0",
+        "unicorn-magic": "^0.4.0"
+      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">=20"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/lru-cache": {
-      "version": "5.1.1",
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^3.0.2"
-      }
-    },
-    "node_modules/luxon": {
-      "version": "3.6.1",
+    "node_modules/globby/node_modules/ignore": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">= 4"
       }
     },
-    "node_modules/magic-string": {
-      "version": "0.30.17",
+    "node_modules/globby/node_modules/slash": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+      "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
       "license": "MIT",
-      "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.5.0"
+      "engines": {
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/magic-string-ast": {
-      "version": "0.7.1",
+    "node_modules/globrex": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
+      "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/gopd": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "magic-string": "^0.30.17"
-      },
       "engines": {
-        "node": ">=16.14.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sxzz"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/magicast": {
-      "version": "0.3.5",
-      "license": "MIT",
-      "dependencies": {
-        "@babel/parser": "^7.25.4",
-        "@babel/types": "^7.25.4",
-        "source-map-js": "^1.2.0"
-      }
+    "node_modules/graceful-fs": {
+      "version": "4.2.11",
+      "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+      "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+      "license": "ISC"
     },
-    "node_modules/make-dir": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/gzip-size": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-7.0.0.tgz",
+      "integrity": "sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==",
       "license": "MIT",
       "dependencies": {
-        "semver": "^7.5.3"
+        "duplexer": "^0.1.2"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/make-fetch-happen": {
-      "version": "14.0.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/h3": {
+      "version": "1.15.5",
+      "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.5.tgz",
+      "integrity": "sha512-xEyq3rSl+dhGX2Lm0+eFQIAzlDN6Fs0EcC4f7BNUmzaRX/PTzeuM+Tr2lHB8FoXggsQIeXLj8EDVgs5ywxyxmg==",
+      "license": "MIT",
       "dependencies": {
-        "@npmcli/agent": "^3.0.0",
-        "cacache": "^19.0.1",
-        "http-cache-semantics": "^4.1.1",
-        "minipass": "^7.0.2",
-        "minipass-fetch": "^4.0.0",
-        "minipass-flush": "^1.0.5",
-        "minipass-pipeline": "^1.2.4",
-        "negotiator": "^1.0.0",
-        "proc-log": "^5.0.0",
-        "promise-retry": "^2.0.1",
-        "ssri": "^12.0.0"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "cookie-es": "^1.2.2",
+        "crossws": "^0.3.5",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "iron-webcrypto": "^1.2.1",
+        "node-mock-http": "^1.0.4",
+        "radix3": "^1.1.2",
+        "ufo": "^1.6.3",
+        "uncrypto": "^0.1.3"
       }
     },
-    "node_modules/makeerror": {
-      "version": "1.0.12",
-      "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "tmpl": "1.0.5"
-      }
+    "node_modules/h3/node_modules/cookie-es": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz",
+      "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==",
+      "license": "MIT"
     },
-    "node_modules/mark.js": {
-      "version": "8.11.1",
+    "node_modules/hachure-fill": {
+      "version": "0.5.2",
+      "resolved": "https://registry.npmjs.org/hachure-fill/-/hachure-fill-0.5.2.tgz",
+      "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/marked": {
-      "version": "16.2.0",
+    "node_modules/has-bigints": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz",
+      "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "marked": "bin/marked.js"
-      },
       "engines": {
-        "node": ">= 20"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/math-intrinsics": {
-      "version": "1.1.0",
+    "node_modules/has-flag": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=8"
       }
     },
-    "node_modules/mdast-util-to-hast": {
-      "version": "13.2.0",
+    "node_modules/has-property-descriptors": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+      "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/hast": "^3.0.0",
-        "@types/mdast": "^4.0.0",
-        "@ungap/structured-clone": "^1.0.0",
-        "devlop": "^1.0.0",
-        "micromark-util-sanitize-uri": "^2.0.0",
-        "trim-lines": "^3.0.0",
-        "unist-util-position": "^5.0.0",
-        "unist-util-visit": "^5.0.0",
-        "vfile": "^6.0.0"
+        "es-define-property": "^1.0.0"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mdn-data": {
-      "version": "2.0.30",
-      "license": "CC0-1.0"
+    "node_modules/has-proto": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz",
+      "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "dunder-proto": "^1.0.0"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
-    "node_modules/media-typer": {
-      "version": "0.3.0",
+    "node_modules/has-symbols": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/memfs": {
-      "version": "4.17.2",
+    "node_modules/has-tostringtag": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "dependencies": {
-        "@jsonjoy.com/json-pack": "^1.0.3",
-        "@jsonjoy.com/util": "^1.3.0",
-        "tree-dump": "^1.0.1",
-        "tslib": "^2.0.0"
+        "has-symbols": "^1.0.3"
       },
       "engines": {
-        "node": ">= 4.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/streamich"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/memorystream": {
-      "version": "0.3.1",
-      "dev": true,
+    "node_modules/hasown": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+      "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+      "license": "MIT",
+      "dependencies": {
+        "function-bind": "^1.1.2"
+      },
       "engines": {
-        "node": ">= 0.10.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/merge-descriptors": {
-      "version": "1.0.3",
+    "node_modules/hast-util-to-html": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz",
+      "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@types/hast": "^3.0.0",
+        "@types/unist": "^3.0.0",
+        "ccount": "^2.0.0",
+        "comma-separated-tokens": "^2.0.0",
+        "hast-util-whitespace": "^3.0.0",
+        "html-void-elements": "^3.0.0",
+        "mdast-util-to-hast": "^13.0.0",
+        "property-information": "^7.0.0",
+        "space-separated-tokens": "^2.0.0",
+        "stringify-entities": "^4.0.0",
+        "zwitch": "^2.0.4"
+      },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/merge-options": {
-      "version": "3.0.4",
+    "node_modules/hast-util-whitespace": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz",
+      "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-plain-obj": "^2.1.0"
+        "@types/hast": "^3.0.0"
       },
-      "engines": {
-        "node": ">=10"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/merge-options/node_modules/is-plain-obj": {
-      "version": "2.1.0",
+    "node_modules/he": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "bin": {
+        "he": "bin/he"
       }
     },
-    "node_modules/merge-stream": {
-      "version": "2.0.0",
-      "license": "MIT"
-    },
-    "node_modules/merge2": {
-      "version": "1.4.1",
+    "node_modules/hono": {
+      "version": "4.11.7",
+      "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz",
+      "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==",
+      "dev": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": ">= 8"
+        "node": ">=16.9.0"
       }
     },
-    "node_modules/mermaid": {
-      "version": "11.10.1",
+    "node_modules/hookable": {
+      "version": "5.5.3",
+      "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz",
+      "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==",
+      "license": "MIT"
+    },
+    "node_modules/hosted-git-info": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.2.tgz",
+      "integrity": "sha512-M422h7o/BR3rmCQ8UHi7cyyMqKltdP9Uo+J2fXK+RSAY+wTcKOIRyhTuKv4qn+DJf3g+PL890AzId5KZpX+CBg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@braintree/sanitize-url": "^7.0.4",
-        "@iconify/utils": "^2.1.33",
-        "@mermaid-js/parser": "^0.6.2",
-        "@types/d3": "^7.4.3",
-        "cytoscape": "^3.29.3",
-        "cytoscape-cose-bilkent": "^4.1.0",
-        "cytoscape-fcose": "^2.2.0",
-        "d3": "^7.9.0",
-        "d3-sankey": "^0.12.3",
-        "dagre-d3-es": "7.0.11",
-        "dayjs": "^1.11.13",
-        "dompurify": "^3.2.5",
-        "katex": "^0.16.22",
-        "khroma": "^2.1.0",
-        "lodash-es": "^4.17.21",
-        "marked": "^16.0.0",
-        "roughjs": "^4.6.6",
-        "stylis": "^4.3.6",
-        "ts-dedent": "^2.2.0",
-        "uuid": "^11.1.0"
+        "lru-cache": "^11.1.0"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/methods": {
-      "version": "1.1.2",
+    "node_modules/hosted-git-info/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
       "dev": true,
-      "license": "MIT",
+      "license": "BlueOak-1.0.0",
       "engines": {
-        "node": ">= 0.6"
+        "node": "20 || >=22"
       }
     },
-    "node_modules/micro-api-client": {
-      "version": "3.3.0",
-      "license": "ISC"
+    "node_modules/html-dom-parser": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.1.4.tgz",
+      "integrity": "sha512-UGjp7y8jSrDU2RdN2J9FDOo3X+WBu+LkS/I3TjjFW020ocZWjPvave+RKk1zeuY2sUWy5fh6zHgXHthzDGlFNQ==",
+      "license": "MIT",
+      "dependencies": {
+        "domhandler": "5.0.3",
+        "htmlparser2": "10.1.0"
+      }
     },
-    "node_modules/micromark-util-character": {
-      "version": "2.1.1",
+    "node_modules/html-encoding-sniffer": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
+      "integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
       "dev": true,
-      "funding": [
-        {
-          "type": "GitHub Sponsors",
-          "url": "https://github.com/sponsors/unifiedjs"
-        },
-        {
-          "type": "OpenCollective",
-          "url": "https://opencollective.com/unified"
-        }
-      ],
       "license": "MIT",
       "dependencies": {
-        "micromark-util-symbol": "^2.0.0",
-        "micromark-util-types": "^2.0.0"
+        "whatwg-encoding": "^3.1.1"
+      },
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/micromark-util-encode": {
-      "version": "2.0.1",
+    "node_modules/html-escaper": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+      "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "GitHub Sponsors",
-          "url": "https://github.com/sponsors/unifiedjs"
-        },
-        {
-          "type": "OpenCollective",
-          "url": "https://opencollective.com/unified"
-        }
-      ],
       "license": "MIT"
     },
-    "node_modules/micromark-util-sanitize-uri": {
-      "version": "2.0.1",
-      "dev": true,
-      "funding": [
-        {
-          "type": "GitHub Sponsors",
-          "url": "https://github.com/sponsors/unifiedjs"
-        },
-        {
-          "type": "OpenCollective",
-          "url": "https://opencollective.com/unified"
+    "node_modules/html-react-parser": {
+      "version": "5.2.12",
+      "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.2.12.tgz",
+      "integrity": "sha512-tvamxqkg5va1t9Wnq8OdikpIZrcgdatNd2rxQt0oEzb+IpbsWR1I7ddPd6CkwqZjiv8zKDzm8oiqqxy+KknQEQ==",
+      "license": "MIT",
+      "dependencies": {
+        "domhandler": "5.0.3",
+        "html-dom-parser": "5.1.4",
+        "react-property": "2.0.2",
+        "style-to-js": "1.1.21"
+      },
+      "peerDependencies": {
+        "@types/react": "0.14 || 15 || 16 || 17 || 18 || 19",
+        "react": "0.14 || 15 || 16 || 17 || 18 || 19"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
         }
-      ],
-      "license": "MIT",
-      "dependencies": {
-        "micromark-util-character": "^2.0.0",
-        "micromark-util-encode": "^2.0.0",
-        "micromark-util-symbol": "^2.0.0"
       }
     },
-    "node_modules/micromark-util-symbol": {
-      "version": "2.0.1",
+    "node_modules/html-void-elements": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz",
+      "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "GitHub Sponsors",
-          "url": "https://github.com/sponsors/unifiedjs"
-        },
-        {
-          "type": "OpenCollective",
-          "url": "https://opencollective.com/unified"
-        }
-      ],
-      "license": "MIT"
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
     },
-    "node_modules/micromark-util-types": {
-      "version": "2.0.2",
-      "dev": true,
+    "node_modules/htmlparser2": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.1.0.tgz",
+      "integrity": "sha512-VTZkM9GWRAtEpveh7MSF6SjjrpNVNNVJfFup7xTY3UpFtm67foy9HDVXneLtFVt4pMz5kZtgNcvCniNFb1hlEQ==",
       "funding": [
+        "https://github.com/fb55/htmlparser2?sponsor=1",
         {
-          "type": "GitHub Sponsors",
-          "url": "https://github.com/sponsors/unifiedjs"
-        },
-        {
-          "type": "OpenCollective",
-          "url": "https://opencollective.com/unified"
+          "type": "github",
+          "url": "https://github.com/sponsors/fb55"
         }
       ],
-      "license": "MIT"
-    },
-    "node_modules/micromatch": {
-      "version": "4.0.8",
       "license": "MIT",
       "dependencies": {
-        "braces": "^3.0.3",
-        "picomatch": "^2.3.1"
-      },
+        "domelementtype": "^2.3.0",
+        "domhandler": "^5.0.3",
+        "domutils": "^3.2.2",
+        "entities": "^7.0.1"
+      }
+    },
+    "node_modules/htmlparser2/node_modules/entities": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz",
+      "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==",
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">=8.6"
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
-    "node_modules/micromatch/node_modules/picomatch": {
-      "version": "2.3.1",
+    "node_modules/http-cache-semantics": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz",
+      "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==",
+      "dev": true,
+      "license": "BSD-2-Clause"
+    },
+    "node_modules/http-errors": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+      "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
       "license": "MIT",
+      "dependencies": {
+        "depd": "~2.0.0",
+        "inherits": "~2.0.4",
+        "setprototypeof": "~1.2.0",
+        "statuses": "~2.0.2",
+        "toidentifier": "~1.0.1"
+      },
       "engines": {
-        "node": ">=8.6"
+        "node": ">= 0.8"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/mime": {
-      "version": "1.6.0",
-      "devOptional": true,
+    "node_modules/http-proxy-agent": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
+      "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
+      "dev": true,
       "license": "MIT",
-      "bin": {
-        "mime": "cli.js"
+      "dependencies": {
+        "agent-base": "^7.1.0",
+        "debug": "^4.3.4"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">= 14"
       }
     },
-    "node_modules/mime-db": {
-      "version": "1.52.0",
-      "dev": true,
+    "node_modules/http-shutdown": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/http-shutdown/-/http-shutdown-1.2.2.tgz",
+      "integrity": "sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==",
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6"
+        "iojs": ">= 1.0.0",
+        "node": ">= 0.12.0"
       }
     },
-    "node_modules/mime-types": {
-      "version": "2.1.35",
-      "dev": true,
+    "node_modules/https-proxy-agent": {
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+      "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
       "license": "MIT",
       "dependencies": {
-        "mime-db": "1.52.0"
+        "agent-base": "^7.1.2",
+        "debug": "4"
       },
       "engines": {
-        "node": ">= 0.6"
+        "node": ">= 14"
       }
     },
-    "node_modules/mimic-fn": {
+    "node_modules/httpxy": {
+      "version": "0.1.7",
+      "resolved": "https://registry.npmjs.org/httpxy/-/httpxy-0.1.7.tgz",
+      "integrity": "sha512-pXNx8gnANKAndgga5ahefxc++tJvNL87CXoRwxn1cJE2ZkWEojF3tNfQIEhZX/vfpt+wzeAzpUI4qkediX1MLQ==",
+      "license": "MIT"
+    },
+    "node_modules/human-signals": {
       "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+      "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=6"
+        "node": ">=10.17.0"
       }
     },
-    "node_modules/mimic-function": {
-      "version": "5.0.1",
+    "node_modules/iconv-lite": {
+      "version": "0.7.2",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
+      "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">=0.10.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/mimic-response": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/ieee754": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+      "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/ignore": {
+      "version": "5.3.2",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
+      "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 4"
       }
     },
-    "node_modules/mini-css-extract-plugin": {
-      "version": "2.9.2",
+    "node_modules/ignore-walk": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz",
+      "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "schema-utils": "^4.0.0",
-        "tapable": "^2.2.1"
+        "minimatch": "^10.0.3"
       },
       "engines": {
-        "node": ">= 12.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^5.0.0"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/minimalistic-assert": {
-      "version": "1.0.1",
+    "node_modules/ignore-walk/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
       "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/minimatch": {
-      "version": "3.1.2",
-      "devOptional": true,
-      "license": "ISC",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "brace-expansion": "^1.1.7"
+        "@isaacs/brace-expansion": "^5.0.0"
       },
       "engines": {
-        "node": "*"
-      }
-    },
-    "node_modules/minimist": {
-      "version": "1.2.8",
-      "license": "MIT",
+        "node": "20 || >=22"
+      },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/minipass": {
-      "version": "7.1.2",
-      "license": "ISC",
+    "node_modules/image-meta": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/image-meta/-/image-meta-0.2.2.tgz",
+      "integrity": "sha512-3MOLanc3sb3LNGWQl1RlQlNWURE5g32aUphrDyFeCsxBTk08iE3VNe4CwsUZ0Qs1X+EfX0+r29Sxdpza4B+yRA==",
+      "license": "MIT"
+    },
+    "node_modules/image-size": {
+      "version": "0.5.5",
+      "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz",
+      "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "bin": {
+        "image-size": "bin/image-size.js"
+      },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/minipass-collect": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/immutable": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.4.tgz",
+      "integrity": "sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/import-fresh": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
+      "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
+      "devOptional": true,
+      "license": "MIT",
       "dependencies": {
-        "minipass": "^7.0.3"
+        "parent-module": "^1.0.0",
+        "resolve-from": "^4.0.0"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.17"
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/minipass-fetch": {
-      "version": "4.0.1",
+    "node_modules/import-local": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
+      "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "minipass": "^7.0.3",
-        "minipass-sized": "^1.0.3",
-        "minizlib": "^3.0.1"
+        "pkg-dir": "^4.2.0",
+        "resolve-cwd": "^3.0.0"
+      },
+      "bin": {
+        "import-local-fixture": "fixtures/cli.js"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=8"
       },
-      "optionalDependencies": {
-        "encoding": "^0.1.13"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/minipass-flush": {
-      "version": "1.0.5",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/impound": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/impound/-/impound-1.0.0.tgz",
+      "integrity": "sha512-8lAJ+1Arw2sMaZ9HE2ZmL5zOcMnt18s6+7Xqgq2aUVy4P1nlzAyPtzCDxsk51KVFwHEEdc6OWvUyqwHwhRYaug==",
+      "license": "MIT",
       "dependencies": {
-        "minipass": "^3.0.0"
-      },
+        "exsolve": "^1.0.5",
+        "mocked-exports": "^0.1.1",
+        "pathe": "^2.0.3",
+        "unplugin": "^2.3.2",
+        "unplugin-utils": "^0.2.4"
+      }
+    },
+    "node_modules/imurmurhash": {
+      "version": "0.1.4",
+      "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+      "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+      "devOptional": true,
+      "license": "MIT",
       "engines": {
-        "node": ">= 8"
+        "node": ">=0.8.19"
       }
     },
-    "node_modules/minipass-flush/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/inflight": {
+      "version": "1.0.6",
+      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+      "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+      "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
       "dev": true,
       "license": "ISC",
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "once": "^1.3.0",
+        "wrappy": "1"
       }
     },
-    "node_modules/minipass-flush/node_modules/yallist": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/inherits": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+      "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
       "license": "ISC"
     },
-    "node_modules/minipass-pipeline": {
-      "version": "1.2.4",
+    "node_modules/ini": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
+      "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
       "dev": true,
       "license": "ISC",
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/minipass-pipeline/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/injection-js": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.6.1.tgz",
+      "integrity": "sha512-dbR5bdhi7TWDoCye9cByZqeg/gAfamm8Vu3G1KZOTYkOif8WkuM8CD0oeDPtZYMzT5YH76JAFB7bkmyY9OJi2A==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "tslib": "^2.0.0"
       }
     },
-    "node_modules/minipass-pipeline/node_modules/yallist": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC"
+    "node_modules/inline-style-parser": {
+      "version": "0.2.7",
+      "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz",
+      "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==",
+      "license": "MIT"
     },
-    "node_modules/minipass-sized": {
-      "version": "1.0.3",
+    "node_modules/internal-slot": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz",
+      "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "minipass": "^3.0.0"
+        "es-errors": "^1.3.0",
+        "hasown": "^2.0.2",
+        "side-channel": "^1.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/minipass-sized/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/internmap": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz",
+      "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==",
       "dev": true,
       "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
       }
     },
-    "node_modules/minipass-sized/node_modules/yallist": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/minisearch": {
-      "version": "7.1.2",
+    "node_modules/interpret": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
+      "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/minizlib": {
-      "version": "3.0.2",
       "license": "MIT",
-      "dependencies": {
-        "minipass": "^7.1.2"
-      },
       "engines": {
-        "node": ">= 18"
+        "node": ">= 0.10"
       }
     },
-    "node_modules/mitt": {
-      "version": "3.0.1",
-      "license": "MIT"
-    },
-    "node_modules/mkdirp": {
-      "version": "3.0.1",
+    "node_modules/ioredis": {
+      "version": "5.9.2",
+      "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.9.2.tgz",
+      "integrity": "sha512-tAAg/72/VxOUW7RQSX1pIxJVucYKcjFjfvj60L57jrZpYCHC3XN0WCQ3sNYL4Gmvv+7GPvTAjc+KSdeNuE8oWQ==",
       "license": "MIT",
-      "bin": {
-        "mkdirp": "dist/cjs/src/bin.js"
+      "dependencies": {
+        "@ioredis/commands": "1.5.0",
+        "cluster-key-slot": "^1.1.0",
+        "debug": "^4.3.4",
+        "denque": "^2.1.0",
+        "lodash.defaults": "^4.2.0",
+        "lodash.isarguments": "^3.1.0",
+        "redis-errors": "^1.2.0",
+        "redis-parser": "^3.0.0",
+        "standard-as-callback": "^2.1.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=12.22.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "type": "opencollective",
+        "url": "https://opencollective.com/ioredis"
       }
     },
-    "node_modules/mkdirp-classic": {
-      "version": "0.5.3",
+    "node_modules/ip-address": {
+      "version": "10.1.0",
+      "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.1.0.tgz",
+      "integrity": "sha512-XXADHxXmvT9+CRxhXg56LJovE+bmWnEWB78LB83VZTprKTmaC5QfruXocxzTZ2Kl0DNwKuBdlIhjL8LeY8Sf8Q==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/mlly": {
-      "version": "1.7.4",
       "license": "MIT",
-      "dependencies": {
-        "acorn": "^8.14.0",
-        "pathe": "^2.0.1",
-        "pkg-types": "^1.3.0",
-        "ufo": "^1.5.4"
+      "engines": {
+        "node": ">= 12"
       }
     },
-    "node_modules/mlly/node_modules/confbox": {
-      "version": "0.1.8",
-      "license": "MIT"
-    },
-    "node_modules/mlly/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
+    "node_modules/ipaddr.js": {
+      "version": "1.9.1",
+      "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
+      "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.10"
+      }
     },
-    "node_modules/mlly/node_modules/pkg-types": {
-      "version": "1.3.1",
+    "node_modules/iron-webcrypto": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz",
+      "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==",
       "license": "MIT",
-      "dependencies": {
-        "confbox": "^0.1.8",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.1"
+      "funding": {
+        "url": "https://github.com/sponsors/brc-dd"
       }
     },
-    "node_modules/mocha": {
-      "version": "10.8.2",
+    "node_modules/is-array-buffer": {
+      "version": "3.0.5",
+      "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz",
+      "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-colors": "^4.1.3",
-        "browser-stdout": "^1.3.1",
-        "chokidar": "^3.5.3",
-        "debug": "^4.3.5",
-        "diff": "^5.2.0",
-        "escape-string-regexp": "^4.0.0",
-        "find-up": "^5.0.0",
-        "glob": "^8.1.0",
-        "he": "^1.2.0",
-        "js-yaml": "^4.1.0",
-        "log-symbols": "^4.1.0",
-        "minimatch": "^5.1.6",
-        "ms": "^2.1.3",
-        "serialize-javascript": "^6.0.2",
-        "strip-json-comments": "^3.1.1",
-        "supports-color": "^8.1.1",
-        "workerpool": "^6.5.1",
-        "yargs": "^16.2.0",
-        "yargs-parser": "^20.2.9",
-        "yargs-unparser": "^2.0.0"
-      },
-      "bin": {
-        "_mocha": "bin/_mocha",
-        "mocha": "bin/mocha.js"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.3",
+        "get-intrinsic": "^1.2.6"
       },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/brace-expansion": {
-      "version": "2.0.2",
+    "node_modules/is-arrayish": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+      "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
-      }
+      "license": "MIT"
     },
-    "node_modules/mocha/node_modules/chokidar": {
-      "version": "3.6.0",
+    "node_modules/is-async-function": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz",
+      "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
+        "async-function": "^1.0.0",
+        "call-bound": "^1.0.3",
+        "get-proto": "^1.0.1",
+        "has-tostringtag": "^1.0.2",
+        "safe-regex-test": "^1.1.0"
       },
       "engines": {
-        "node": ">= 8.10.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://paulmillr.com/funding/"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/cliui": {
-      "version": "7.0.4",
+    "node_modules/is-bigint": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz",
+      "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "string-width": "^4.2.0",
-        "strip-ansi": "^6.0.0",
-        "wrap-ansi": "^7.0.0"
-      }
-    },
-    "node_modules/mocha/node_modules/diff": {
-      "version": "5.2.0",
-      "dev": true,
-      "license": "BSD-3-Clause",
+        "has-bigints": "^1.0.2"
+      },
       "engines": {
-        "node": ">=0.3.1"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/mocha/node_modules/glob": {
-      "version": "8.1.0",
+    "node_modules/is-boolean-object": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz",
+      "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^5.0.1",
-        "once": "^1.3.0"
+        "call-bound": "^1.0.3",
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/glob-parent": {
-      "version": "5.1.2",
+    "node_modules/is-callable": {
+      "version": "1.2.7",
+      "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
+      "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-core-module": {
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
+      "license": "MIT",
       "dependencies": {
-        "is-glob": "^4.0.1"
+        "hasown": "^2.0.2"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
+    "node_modules/is-data-view": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz",
+      "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bound": "^1.0.2",
+        "get-intrinsic": "^1.2.6",
+        "is-typed-array": "^1.1.13"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/minimatch": {
-      "version": "5.1.6",
+    "node_modules/is-date-object": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz",
+      "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "call-bound": "^1.0.2",
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/picomatch": {
-      "version": "2.3.1",
-      "dev": true,
+    "node_modules/is-docker": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz",
+      "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==",
       "license": "MIT",
+      "bin": {
+        "is-docker": "cli.js"
+      },
       "engines": {
-        "node": ">=8.6"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/mocha/node_modules/readdirp": {
-      "version": "3.6.0",
-      "dev": true,
+    "node_modules/is-extglob": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
       "license": "MIT",
-      "dependencies": {
-        "picomatch": "^2.2.1"
-      },
       "engines": {
-        "node": ">=8.10.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/mocha/node_modules/string-width": {
-      "version": "4.2.3",
+    "node_modules/is-finalizationregistry": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz",
+      "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "call-bound": "^1.0.3"
+      },
+      "engines": {
+        "node": ">= 0.4"
       },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/is-fullwidth-code-point": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+      "license": "MIT",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/mocha/node_modules/supports-color": {
-      "version": "8.1.1",
+    "node_modules/is-generator-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+      "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "has-flag": "^4.0.0"
-      },
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
+        "node": ">=6"
       }
     },
-    "node_modules/mocha/node_modules/wrap-ansi": {
-      "version": "7.0.0",
+    "node_modules/is-generator-function": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz",
+      "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^4.0.0",
-        "string-width": "^4.1.0",
-        "strip-ansi": "^6.0.0"
+        "call-bound": "^1.0.4",
+        "generator-function": "^2.0.0",
+        "get-proto": "^1.0.1",
+        "has-tostringtag": "^1.0.2",
+        "safe-regex-test": "^1.1.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/mocha/node_modules/yargs": {
-      "version": "16.2.0",
-      "dev": true,
+    "node_modules/is-glob": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
       "license": "MIT",
       "dependencies": {
-        "cliui": "^7.0.2",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.0",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^20.2.2"
+        "is-extglob": "^2.1.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/mocked-exports": {
-      "version": "0.1.1",
-      "license": "MIT"
-    },
-    "node_modules/module-definition": {
-      "version": "6.0.1",
+    "node_modules/is-inside-container": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz",
+      "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==",
       "license": "MIT",
       "dependencies": {
-        "ast-module-types": "^6.0.1",
-        "node-source-walk": "^7.0.1"
+        "is-docker": "^3.0.0"
       },
       "bin": {
-        "module-definition": "bin/cli.js"
+        "is-inside-container": "cli.js"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=14.16"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/mrmime": {
-      "version": "2.0.1",
+    "node_modules/is-installed-globally": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-1.0.0.tgz",
+      "integrity": "sha512-K55T22lfpQ63N4KEN57jZUAaAYqYHEe8veb/TycJRk9DdSCLLcovXz/mL6mOnhQaZsQGwPhuFopdQIlqGSEjiQ==",
       "license": "MIT",
+      "dependencies": {
+        "global-directory": "^4.0.1",
+        "is-path-inside": "^4.0.0"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ms": {
-      "version": "2.1.3",
-      "license": "MIT"
-    },
-    "node_modules/msgpackr": {
-      "version": "1.11.4",
+    "node_modules/is-interactive": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz",
+      "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==",
       "dev": true,
       "license": "MIT",
-      "optional": true,
-      "optionalDependencies": {
-        "msgpackr-extract": "^3.0.2"
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/msgpackr-extract": {
-      "version": "3.0.3",
+    "node_modules/is-map": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+      "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
       "dev": true,
-      "hasInstallScript": true,
       "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "node-gyp-build-optional-packages": "5.2.2"
-      },
-      "bin": {
-        "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+      "engines": {
+        "node": ">= 0.4"
       },
-      "optionalDependencies": {
-        "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
-        "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
-        "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
-        "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
-        "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
-        "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/muggle-string": {
-      "version": "0.4.1",
-      "devOptional": true,
+    "node_modules/is-module": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+      "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
       "license": "MIT"
     },
-    "node_modules/multicast-dns": {
-      "version": "7.2.5",
+    "node_modules/is-negative-zero": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+      "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "dns-packet": "^5.2.2",
-        "thunky": "^1.0.2"
-      },
-      "bin": {
-        "multicast-dns": "cli.js"
-      }
-    },
-    "node_modules/mute-stream": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "ISC",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/nanoid": {
-      "version": "5.1.5",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
+    "node_modules/is-number": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
       "license": "MIT",
-      "bin": {
-        "nanoid": "bin/nanoid.js"
-      },
       "engines": {
-        "node": "^18 || >=20"
+        "node": ">=0.12.0"
       }
     },
-    "node_modules/nanotar": {
-      "version": "0.2.0",
-      "license": "MIT"
-    },
-    "node_modules/natural-compare": {
-      "version": "1.4.0",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/needle": {
-      "version": "3.3.1",
+    "node_modules/is-number-object": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz",
+      "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "iconv-lite": "^0.6.3",
-        "sax": "^1.2.4"
-      },
-      "bin": {
-        "needle": "bin/needle"
+        "call-bound": "^1.0.3",
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
-        "node": ">= 4.4.x"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/needle/node_modules/iconv-lite": {
-      "version": "0.6.3",
+    "node_modules/is-path-inside": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-4.0.0.tgz",
+      "integrity": "sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==",
       "license": "MIT",
-      "optional": true,
-      "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/negotiator": {
-      "version": "1.0.0",
+    "node_modules/is-potential-custom-element-name": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+      "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.6"
-      }
+      "license": "MIT"
     },
-    "node_modules/neo-async": {
-      "version": "2.6.2",
+    "node_modules/is-promise": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+      "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/netlify": {
-      "version": "13.3.5",
+    "node_modules/is-reference": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+      "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
       "license": "MIT",
       "dependencies": {
-        "@netlify/open-api": "^2.37.0",
-        "lodash-es": "^4.17.21",
-        "micro-api-client": "^3.3.0",
-        "node-fetch": "^3.0.0",
-        "p-wait-for": "^5.0.0",
-        "qs": "^6.9.6"
+        "@types/estree": "*"
+      }
+    },
+    "node_modules/is-regex": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
+      "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "call-bound": "^1.0.2",
+        "gopd": "^1.2.0",
+        "has-tostringtag": "^1.0.2",
+        "hasown": "^2.0.2"
       },
       "engines": {
-        "node": "^14.16.0 || >=16.0.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/netmask": {
-      "version": "2.0.2",
+    "node_modules/is-set": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+      "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.4.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr": {
-      "version": "19.2.2",
+    "node_modules/is-shared-array-buffer": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz",
+      "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@rollup/plugin-json": "^6.1.0",
-        "@rollup/wasm-node": "^4.24.0",
-        "ajv": "^8.17.1",
-        "ansi-colors": "^4.1.3",
-        "browserslist": "^4.22.1",
-        "chokidar": "^4.0.1",
-        "commander": "^13.0.0",
-        "convert-source-map": "^2.0.0",
-        "dependency-graph": "^1.0.0",
-        "esbuild": "^0.25.0",
-        "fast-glob": "^3.3.2",
-        "find-cache-dir": "^3.3.2",
-        "injection-js": "^2.4.0",
-        "jsonc-parser": "^3.3.1",
-        "less": "^4.2.0",
-        "ora": "^5.1.0",
-        "piscina": "^4.7.0",
-        "postcss": "^8.4.47",
-        "rxjs": "^7.8.1",
-        "sass": "^1.81.0"
-      },
-      "bin": {
-        "ng-packagr": "cli/main.js"
+        "call-bound": "^1.0.3"
       },
       "engines": {
-        "node": "^18.19.1 || >=20.11.1"
-      },
-      "optionalDependencies": {
-        "rollup": "^4.24.0"
-      },
-      "peerDependencies": {
-        "@angular/compiler-cli": "^19.0.0 || ^19.1.0-next.0 || ^19.2.0-next.0",
-        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
-        "tslib": "^2.3.0",
-        "typescript": ">=5.5 <5.9"
+        "node": ">= 0.4"
       },
-      "peerDependenciesMeta": {
-        "tailwindcss": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/cli-cursor": {
-      "version": "3.1.0",
-      "dev": true,
+    "node_modules/is-ssh": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.4.1.tgz",
+      "integrity": "sha512-JNeu1wQsHjyHgn9NcWTaXq6zWSR6hqE0++zhfZlkFBbScNkyvxCdeV8sRkSBaeLKxmbpR21brail63ACNxJ0Tg==",
       "license": "MIT",
       "dependencies": {
-        "restore-cursor": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "protocols": "^2.0.1"
       }
     },
-    "node_modules/ng-packagr/node_modules/commander": {
-      "version": "13.1.0",
-      "dev": true,
+    "node_modules/is-stream": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+      "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
       "license": "MIT",
       "engines": {
-        "node": ">=18"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ng-packagr/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/ng-packagr/node_modules/find-cache-dir": {
-      "version": "3.3.2",
+    "node_modules/is-string": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz",
+      "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "commondir": "^1.0.1",
-        "make-dir": "^3.0.2",
-        "pkg-dir": "^4.1.0"
+        "call-bound": "^1.0.3",
+        "has-tostringtag": "^1.0.2"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/find-up": {
-      "version": "4.1.0",
+    "node_modules/is-symbol": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz",
+      "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "locate-path": "^5.0.0",
-        "path-exists": "^4.0.0"
+        "call-bound": "^1.0.2",
+        "has-symbols": "^1.1.0",
+        "safe-regex-test": "^1.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/is-interactive": {
-      "version": "1.0.0",
+    "node_modules/is-typed-array": {
+      "version": "1.1.15",
+      "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
+      "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "which-typed-array": "^1.1.16"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/is-unicode-supported": {
-      "version": "0.1.0",
+    "node_modules/is-unicode-supported": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz",
+      "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ng-packagr/node_modules/locate-path": {
-      "version": "5.0.0",
+    "node_modules/is-weakmap": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+      "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "p-locate": "^4.1.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/make-dir": {
-      "version": "3.1.0",
+    "node_modules/is-weakref": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz",
+      "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "semver": "^6.0.0"
+        "call-bound": "^1.0.3"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/onetime": {
-      "version": "5.1.2",
+    "node_modules/is-weakset": {
+      "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz",
+      "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "mimic-fn": "^2.1.0"
+        "call-bound": "^1.0.3",
+        "get-intrinsic": "^1.2.6"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ng-packagr/node_modules/ora": {
-      "version": "5.4.1",
-      "dev": true,
+    "node_modules/is-what": {
+      "version": "3.14.1",
+      "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
+      "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/is-wsl": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz",
+      "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==",
       "license": "MIT",
       "dependencies": {
-        "bl": "^4.1.0",
-        "chalk": "^4.1.0",
-        "cli-cursor": "^3.1.0",
-        "cli-spinners": "^2.5.0",
-        "is-interactive": "^1.0.0",
-        "is-unicode-supported": "^0.1.0",
-        "log-symbols": "^4.1.0",
-        "strip-ansi": "^6.0.0",
-        "wcwidth": "^1.0.1"
+        "is-inside-container": "^1.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=16"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ng-packagr/node_modules/p-limit": {
-      "version": "2.3.0",
-      "dev": true,
+    "node_modules/is64bit": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/is64bit/-/is64bit-2.0.0.tgz",
+      "integrity": "sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==",
       "license": "MIT",
       "dependencies": {
-        "p-try": "^2.0.0"
+        "system-architecture": "^0.1.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ng-packagr/node_modules/p-locate": {
-      "version": "4.1.0",
+    "node_modules/isarray": {
+      "version": "2.0.5",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+      "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "p-limit": "^2.2.0"
-      },
-      "engines": {
-        "node": ">=8"
-      }
+      "license": "MIT"
     },
-    "node_modules/ng-packagr/node_modules/piscina": {
-      "version": "4.9.2",
+    "node_modules/isbinaryfile": {
+      "version": "5.0.7",
+      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-5.0.7.tgz",
+      "integrity": "sha512-gnWD14Jh3FzS3CPhF0AxNOJ8CxqeblPTADzI38r0wt8ZyQl5edpy75myt08EG2oKvpyiqSqsx+Wkz9vtkbTqYQ==",
       "dev": true,
       "license": "MIT",
-      "optionalDependencies": {
-        "@napi-rs/nice": "^1.0.1"
+      "engines": {
+        "node": ">= 18.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/gjtorikian/"
       }
     },
-    "node_modules/ng-packagr/node_modules/pkg-dir": {
-      "version": "4.2.0",
+    "node_modules/isexe": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+      "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+      "license": "ISC"
+    },
+    "node_modules/istanbul-lib-coverage": {
+      "version": "3.2.2",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+      "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "find-up": "^4.0.0"
-      },
+      "license": "BSD-3-Clause",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/ng-packagr/node_modules/restore-cursor": {
-      "version": "3.1.0",
+    "node_modules/istanbul-lib-instrument": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz",
+      "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==",
       "dev": true,
-      "license": "MIT",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "onetime": "^5.1.0",
-        "signal-exit": "^3.0.2"
+        "@babel/core": "^7.23.9",
+        "@babel/parser": "^7.23.9",
+        "@istanbuljs/schema": "^0.1.3",
+        "istanbul-lib-coverage": "^3.2.0",
+        "semver": "^7.5.4"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       }
     },
-    "node_modules/ng-packagr/node_modules/semver": {
-      "version": "6.3.1",
+    "node_modules/istanbul-lib-instrument/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
       "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/ng-packagr/node_modules/signal-exit": {
-      "version": "3.0.7",
+    "node_modules/istanbul-lib-report": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+      "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
       "dev": true,
-      "license": "ISC"
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "istanbul-lib-coverage": "^3.0.0",
+        "make-dir": "^4.0.0",
+        "supports-color": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
     },
-    "node_modules/nice-try": {
-      "version": "1.0.5",
+    "node_modules/istanbul-lib-source-maps": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+      "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/nitropack": {
-      "version": "2.11.12",
-      "license": "MIT",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "@cloudflare/kv-asset-handler": "^0.4.0",
-        "@netlify/functions": "^3.1.8",
-        "@rollup/plugin-alias": "^5.1.1",
-        "@rollup/plugin-commonjs": "^28.0.3",
-        "@rollup/plugin-inject": "^5.0.5",
-        "@rollup/plugin-json": "^6.1.0",
-        "@rollup/plugin-node-resolve": "^16.0.1",
-        "@rollup/plugin-replace": "^6.0.2",
-        "@rollup/plugin-terser": "^0.4.4",
-        "@vercel/nft": "^0.29.2",
-        "archiver": "^7.0.1",
-        "c12": "^3.0.3",
-        "chokidar": "^4.0.3",
-        "citty": "^0.1.6",
-        "compatx": "^0.2.0",
-        "confbox": "^0.2.2",
-        "consola": "^3.4.2",
-        "cookie-es": "^2.0.0",
-        "croner": "^9.0.0",
-        "crossws": "^0.3.5",
-        "db0": "^0.3.2",
-        "defu": "^6.1.4",
-        "destr": "^2.0.5",
-        "dot-prop": "^9.0.0",
-        "esbuild": "^0.25.4",
-        "escape-string-regexp": "^5.0.0",
-        "etag": "^1.8.1",
-        "exsolve": "^1.0.5",
-        "globby": "^14.1.0",
-        "gzip-size": "^7.0.0",
-        "h3": "^1.15.3",
-        "hookable": "^5.5.3",
-        "httpxy": "^0.1.7",
-        "ioredis": "^5.6.1",
-        "jiti": "^2.4.2",
-        "klona": "^2.0.6",
-        "knitwork": "^1.2.0",
-        "listhen": "^1.9.0",
-        "magic-string": "^0.30.17",
-        "magicast": "^0.3.5",
-        "mime": "^4.0.7",
-        "mlly": "^1.7.4",
-        "node-fetch-native": "^1.6.6",
-        "node-mock-http": "^1.0.0",
-        "ofetch": "^1.4.1",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "pretty-bytes": "^6.1.1",
-        "radix3": "^1.1.2",
-        "rollup": "^4.40.2",
-        "rollup-plugin-visualizer": "^5.14.0",
-        "scule": "^1.3.0",
-        "semver": "^7.7.2",
-        "serve-placeholder": "^2.0.2",
-        "serve-static": "^2.2.0",
-        "source-map": "^0.7.4",
-        "std-env": "^3.9.0",
-        "ufo": "^1.6.1",
-        "ultrahtml": "^1.6.0",
-        "uncrypto": "^0.1.3",
-        "unctx": "^2.4.1",
-        "unenv": "^2.0.0-rc.17",
-        "unimport": "^5.0.1",
-        "unplugin-utils": "^0.2.4",
-        "unstorage": "^1.16.0",
-        "untyped": "^2.0.0",
-        "unwasm": "^0.3.9",
-        "youch": "^4.1.0-beta.7",
-        "youch-core": "^0.3.2"
-      },
-      "bin": {
-        "nitro": "dist/cli/index.mjs",
-        "nitropack": "dist/cli/index.mjs"
+        "debug": "^4.1.1",
+        "istanbul-lib-coverage": "^3.0.0",
+        "source-map": "^0.6.1"
       },
       "engines": {
-        "node": "^16.11.0 || >=17.0.0"
-      },
-      "peerDependencies": {
-        "xml2js": "^0.6.2"
-      },
-      "peerDependenciesMeta": {
-        "xml2js": {
-          "optional": true
-        }
+        "node": ">=10"
       }
     },
-    "node_modules/nitropack/node_modules/define-lazy-prop": {
-      "version": "2.0.0",
-      "license": "MIT",
+    "node_modules/istanbul-reports": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz",
+      "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "html-escaper": "^2.0.0",
+        "istanbul-lib-report": "^3.0.0"
+      },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/nitropack/node_modules/escape-string-regexp": {
-      "version": "5.0.0",
+    "node_modules/iterator.prototype": {
+      "version": "1.1.5",
+      "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz",
+      "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "define-data-property": "^1.1.4",
+        "es-object-atoms": "^1.0.0",
+        "get-intrinsic": "^1.2.6",
+        "get-proto": "^1.0.0",
+        "has-symbols": "^1.1.0",
+        "set-function-name": "^2.0.2"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">= 0.4"
+      }
+    },
+    "node_modules/jackspeak": {
+      "version": "3.4.3",
+      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz",
+      "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "@isaacs/cliui": "^8.0.2"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/isaacs"
+      },
+      "optionalDependencies": {
+        "@pkgjs/parseargs": "^0.11.0"
       }
     },
-    "node_modules/nitropack/node_modules/is-docker": {
-      "version": "2.2.1",
+    "node_modules/jest": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+      "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@jest/core": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "import-local": "^3.0.2",
+        "jest-cli": "^29.7.0"
+      },
       "bin": {
-        "is-docker": "cli.js"
+        "jest": "bin/jest.js"
       },
       "engines": {
-        "node": ">=8"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+      },
+      "peerDependenciesMeta": {
+        "node-notifier": {
+          "optional": true
+        }
       }
     },
-    "node_modules/nitropack/node_modules/is-wsl": {
-      "version": "2.2.0",
+    "node_modules/jest-changed-files": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+      "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-docker": "^2.0.0"
+        "execa": "^5.0.0",
+        "jest-util": "^29.7.0",
+        "p-limit": "^3.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/nitropack/node_modules/mime": {
-      "version": "4.0.7",
-      "funding": [
-        "https://github.com/sponsors/broofa"
-      ],
+    "node_modules/jest-circus": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+      "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
+      "dev": true,
       "license": "MIT",
-      "bin": {
-        "mime": "bin/cli.js"
+      "dependencies": {
+        "@jest/environment": "^29.7.0",
+        "@jest/expect": "^29.7.0",
+        "@jest/test-result": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "co": "^4.6.0",
+        "dedent": "^1.0.0",
+        "is-generator-fn": "^2.0.0",
+        "jest-each": "^29.7.0",
+        "jest-matcher-utils": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-runtime": "^29.7.0",
+        "jest-snapshot": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "p-limit": "^3.1.0",
+        "pretty-format": "^29.7.0",
+        "pure-rand": "^6.0.0",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
       },
       "engines": {
-        "node": ">=16"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/nitropack/node_modules/open": {
-      "version": "8.4.2",
+    "node_modules/jest-cli": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+      "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "define-lazy-prop": "^2.0.0",
-        "is-docker": "^2.1.1",
-        "is-wsl": "^2.2.0"
+        "@jest/core": "^29.7.0",
+        "@jest/test-result": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "chalk": "^4.0.0",
+        "create-jest": "^29.7.0",
+        "exit": "^0.1.2",
+        "import-local": "^3.0.2",
+        "jest-config": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "jest-validate": "^29.7.0",
+        "yargs": "^17.3.1"
+      },
+      "bin": {
+        "jest": "bin/jest.js"
       },
       "engines": {
-        "node": ">=12"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+      },
+      "peerDependenciesMeta": {
+        "node-notifier": {
+          "optional": true
+        }
       }
     },
-    "node_modules/nitropack/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/nitropack/node_modules/rollup-plugin-visualizer": {
-      "version": "5.14.0",
+    "node_modules/jest-config": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+      "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "open": "^8.4.0",
-        "picomatch": "^4.0.2",
-        "source-map": "^0.7.4",
-        "yargs": "^17.5.1"
-      },
-      "bin": {
-        "rollup-plugin-visualizer": "dist/bin/cli.js"
+        "@babel/core": "^7.11.6",
+        "@jest/test-sequencer": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "babel-jest": "^29.7.0",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "deepmerge": "^4.2.2",
+        "glob": "^7.1.3",
+        "graceful-fs": "^4.2.9",
+        "jest-circus": "^29.7.0",
+        "jest-environment-node": "^29.7.0",
+        "jest-get-type": "^29.6.3",
+        "jest-regex-util": "^29.6.3",
+        "jest-resolve": "^29.7.0",
+        "jest-runner": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "jest-validate": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "parse-json": "^5.2.0",
+        "pretty-format": "^29.7.0",
+        "slash": "^3.0.0",
+        "strip-json-comments": "^3.1.1"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       },
       "peerDependencies": {
-        "rolldown": "1.x",
-        "rollup": "2.x || 3.x || 4.x"
+        "@types/node": "*",
+        "ts-node": ">=9.0.0"
       },
       "peerDependenciesMeta": {
-        "rolldown": {
+        "@types/node": {
           "optional": true
         },
-        "rollup": {
+        "ts-node": {
           "optional": true
         }
       }
     },
-    "node_modules/node-addon-api": {
-      "version": "6.1.0",
+    "node_modules/jest-diff": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+      "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
       "dev": true,
       "license": "MIT",
-      "optional": true
-    },
-    "node_modules/node-domexception": {
-      "version": "1.0.0",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/jimmywarting"
-        },
-        {
-          "type": "github",
-          "url": "https://paypal.me/jimmywarting"
-        }
-      ],
-      "license": "MIT",
-      "engines": {
-        "node": ">=10.5.0"
-      }
-    },
-    "node_modules/node-fetch": {
-      "version": "3.3.2",
-      "license": "MIT",
       "dependencies": {
-        "data-uri-to-buffer": "^4.0.0",
-        "fetch-blob": "^3.1.4",
-        "formdata-polyfill": "^4.0.10"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "chalk": "^4.0.0",
+        "diff-sequences": "^29.6.3",
+        "jest-get-type": "^29.6.3",
+        "pretty-format": "^29.7.0"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/node-fetch"
-      }
-    },
-    "node_modules/node-fetch-native": {
-      "version": "1.6.6",
-      "license": "MIT"
-    },
-    "node_modules/node-forge": {
-      "version": "1.3.1",
-      "license": "(BSD-3-Clause OR GPL-2.0)",
       "engines": {
-        "node": ">= 6.13.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-gyp": {
-      "version": "11.2.0",
+    "node_modules/jest-docblock": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+      "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "env-paths": "^2.2.0",
-        "exponential-backoff": "^3.1.1",
-        "graceful-fs": "^4.2.6",
-        "make-fetch-happen": "^14.0.3",
-        "nopt": "^8.0.0",
-        "proc-log": "^5.0.0",
-        "semver": "^7.3.5",
-        "tar": "^7.4.3",
-        "tinyglobby": "^0.2.12",
-        "which": "^5.0.0"
-      },
-      "bin": {
-        "node-gyp": "bin/node-gyp.js"
+        "detect-newline": "^3.0.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/node-gyp-build": {
-      "version": "4.8.4",
-      "license": "MIT",
-      "bin": {
-        "node-gyp-build": "bin.js",
-        "node-gyp-build-optional": "optional.js",
-        "node-gyp-build-test": "build-test.js"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-gyp-build-optional-packages": {
-      "version": "5.2.2",
+    "node_modules/jest-each": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+      "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
       "dev": true,
       "license": "MIT",
-      "optional": true,
       "dependencies": {
-        "detect-libc": "^2.0.1"
+        "@jest/types": "^29.6.3",
+        "chalk": "^4.0.0",
+        "jest-get-type": "^29.6.3",
+        "jest-util": "^29.7.0",
+        "pretty-format": "^29.7.0"
       },
-      "bin": {
-        "node-gyp-build-optional-packages": "bin.js",
-        "node-gyp-build-optional-packages-optional": "optional.js",
-        "node-gyp-build-optional-packages-test": "build-test.js"
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-gyp/node_modules/env-paths": {
-      "version": "2.2.1",
+    "node_modules/jest-environment-node": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+      "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@jest/environment": "^29.7.0",
+        "@jest/fake-timers": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "jest-mock": "^29.7.0",
+        "jest-util": "^29.7.0"
+      },
       "engines": {
-        "node": ">=6"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-gyp/node_modules/isexe": {
-      "version": "3.1.1",
+    "node_modules/jest-get-type": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+      "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "engines": {
-        "node": ">=16"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-gyp/node_modules/which": {
-      "version": "5.0.0",
+    "node_modules/jest-haste-map": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+      "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
+        "@jest/types": "^29.6.3",
+        "@types/graceful-fs": "^4.1.3",
+        "@types/node": "*",
+        "anymatch": "^3.0.3",
+        "fb-watchman": "^2.0.0",
+        "graceful-fs": "^4.2.9",
+        "jest-regex-util": "^29.6.3",
+        "jest-util": "^29.7.0",
+        "jest-worker": "^29.7.0",
+        "micromatch": "^4.0.4",
+        "walker": "^1.0.8"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "^2.3.2"
       }
     },
-    "node_modules/node-html-parser": {
-      "version": "6.1.13",
+    "node_modules/jest-leak-detector": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+      "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "css-select": "^5.1.0",
-        "he": "1.2.0"
+        "jest-get-type": "^29.6.3",
+        "pretty-format": "^29.7.0"
+      },
+      "engines": {
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/node-int64": {
-      "version": "0.4.0",
+    "node_modules/jest-matcher-utils": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+      "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/node-mock-http": {
-      "version": "1.0.0",
-      "license": "MIT"
-    },
-    "node_modules/node-releases": {
-      "version": "2.0.19",
-      "license": "MIT"
-    },
-    "node_modules/node-source-walk": {
-      "version": "7.0.1",
       "license": "MIT",
       "dependencies": {
-        "@babel/parser": "^7.26.7"
+        "chalk": "^4.0.0",
+        "jest-diff": "^29.7.0",
+        "jest-get-type": "^29.6.3",
+        "pretty-format": "^29.7.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/non-layered-tidy-tree-layout": {
-      "version": "2.0.2",
+    "node_modules/jest-message-util": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+      "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
       "dev": true,
       "license": "MIT",
-      "optional": true
-    },
-    "node_modules/nopt": {
-      "version": "8.1.0",
-      "license": "ISC",
       "dependencies": {
-        "abbrev": "^3.0.0"
-      },
-      "bin": {
-        "nopt": "bin/nopt.js"
+        "@babel/code-frame": "^7.12.13",
+        "@jest/types": "^29.6.3",
+        "@types/stack-utils": "^2.0.0",
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "micromatch": "^4.0.4",
+        "pretty-format": "^29.7.0",
+        "slash": "^3.0.0",
+        "stack-utils": "^2.0.3"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/normalize-package-data": {
-      "version": "7.0.1",
+    "node_modules/jest-mock": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+      "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "MIT",
       "dependencies": {
-        "hosted-git-info": "^8.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-license": "^3.0.4"
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "jest-util": "^29.7.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
-    },
-    "node_modules/normalize-path": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/normalize-range": {
-      "version": "0.1.2",
+    "node_modules/jest-pnp-resolver": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+      "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=6"
+      },
+      "peerDependencies": {
+        "jest-resolve": "*"
+      },
+      "peerDependenciesMeta": {
+        "jest-resolve": {
+          "optional": true
+        }
       }
     },
-    "node_modules/normalize-url": {
-      "version": "8.0.2",
+    "node_modules/jest-regex-util": {
+      "version": "29.6.3",
+      "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+      "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-bundled": {
-      "version": "4.0.0",
+    "node_modules/jest-resolve": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+      "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "npm-normalize-package-bin": "^4.0.0"
+        "chalk": "^4.0.0",
+        "graceful-fs": "^4.2.9",
+        "jest-haste-map": "^29.7.0",
+        "jest-pnp-resolver": "^1.2.2",
+        "jest-util": "^29.7.0",
+        "jest-validate": "^29.7.0",
+        "resolve": "^1.20.0",
+        "resolve.exports": "^2.0.0",
+        "slash": "^3.0.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-install-checks": {
-      "version": "7.1.1",
+    "node_modules/jest-resolve-dependencies": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+      "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "MIT",
       "dependencies": {
-        "semver": "^7.1.1"
+        "jest-regex-util": "^29.6.3",
+        "jest-snapshot": "^29.7.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-normalize-package-bin": {
-      "version": "4.0.0",
+    "node_modules/jest-runner": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+      "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "dependencies": {
+        "@jest/console": "^29.7.0",
+        "@jest/environment": "^29.7.0",
+        "@jest/test-result": "^29.7.0",
+        "@jest/transform": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "emittery": "^0.13.1",
+        "graceful-fs": "^4.2.9",
+        "jest-docblock": "^29.7.0",
+        "jest-environment-node": "^29.7.0",
+        "jest-haste-map": "^29.7.0",
+        "jest-leak-detector": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-resolve": "^29.7.0",
+        "jest-runtime": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "jest-watcher": "^29.7.0",
+        "jest-worker": "^29.7.0",
+        "p-limit": "^3.1.0",
+        "source-map-support": "0.5.13"
+      },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-package-arg": {
-      "version": "12.0.2",
+    "node_modules/jest-runtime": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+      "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "hosted-git-info": "^8.0.0",
-        "proc-log": "^5.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-name": "^6.0.0"
+        "@jest/environment": "^29.7.0",
+        "@jest/fake-timers": "^29.7.0",
+        "@jest/globals": "^29.7.0",
+        "@jest/source-map": "^29.6.3",
+        "@jest/test-result": "^29.7.0",
+        "@jest/transform": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "cjs-module-lexer": "^1.0.0",
+        "collect-v8-coverage": "^1.0.0",
+        "glob": "^7.1.3",
+        "graceful-fs": "^4.2.9",
+        "jest-haste-map": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-mock": "^29.7.0",
+        "jest-regex-util": "^29.6.3",
+        "jest-resolve": "^29.7.0",
+        "jest-snapshot": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "slash": "^3.0.0",
+        "strip-bom": "^4.0.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-packlist": {
-      "version": "10.0.0",
+    "node_modules/jest-snapshot": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+      "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "ignore-walk": "^7.0.0"
+        "@babel/core": "^7.11.6",
+        "@babel/generator": "^7.7.2",
+        "@babel/plugin-syntax-jsx": "^7.7.2",
+        "@babel/plugin-syntax-typescript": "^7.7.2",
+        "@babel/types": "^7.3.3",
+        "@jest/expect-utils": "^29.7.0",
+        "@jest/transform": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "babel-preset-current-node-syntax": "^1.0.0",
+        "chalk": "^4.0.0",
+        "expect": "^29.7.0",
+        "graceful-fs": "^4.2.9",
+        "jest-diff": "^29.7.0",
+        "jest-get-type": "^29.6.3",
+        "jest-matcher-utils": "^29.7.0",
+        "jest-message-util": "^29.7.0",
+        "jest-util": "^29.7.0",
+        "natural-compare": "^1.4.0",
+        "pretty-format": "^29.7.0",
+        "semver": "^7.5.3"
       },
       "engines": {
-        "node": "^20.17.0 || >=22.9.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-pick-manifest": {
-      "version": "10.0.0",
+    "node_modules/jest-snapshot/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
       "license": "ISC",
-      "dependencies": {
-        "npm-install-checks": "^7.1.0",
-        "npm-normalize-package-bin": "^4.0.0",
-        "npm-package-arg": "^12.0.0",
-        "semver": "^7.3.5"
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=10"
       }
     },
-    "node_modules/npm-registry-fetch": {
-      "version": "18.0.2",
+    "node_modules/jest-util": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+      "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "@npmcli/redact": "^3.0.0",
-        "jsonparse": "^1.3.1",
-        "make-fetch-happen": "^14.0.0",
-        "minipass": "^7.0.2",
-        "minipass-fetch": "^4.0.0",
-        "minizlib": "^3.0.1",
-        "npm-package-arg": "^12.0.0",
-        "proc-log": "^5.0.0"
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "chalk": "^4.0.0",
+        "ci-info": "^3.2.0",
+        "graceful-fs": "^4.2.9",
+        "picomatch": "^2.2.3"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-run-all2": {
-      "version": "8.0.4",
+    "node_modules/jest-validate": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+      "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.2.1",
-        "cross-spawn": "^7.0.6",
-        "memorystream": "^0.3.1",
-        "picomatch": "^4.0.2",
-        "pidtree": "^0.6.0",
-        "read-package-json-fast": "^4.0.0",
-        "shell-quote": "^1.7.3",
-        "which": "^5.0.0"
-      },
-      "bin": {
-        "npm-run-all": "bin/npm-run-all/index.js",
-        "npm-run-all2": "bin/npm-run-all/index.js",
-        "run-p": "bin/run-p/index.js",
-        "run-s": "bin/run-s/index.js"
+        "@jest/types": "^29.6.3",
+        "camelcase": "^6.2.0",
+        "chalk": "^4.0.0",
+        "jest-get-type": "^29.6.3",
+        "leven": "^3.1.0",
+        "pretty-format": "^29.7.0"
       },
       "engines": {
-        "node": "^20.5.0 || >=22.0.0",
-        "npm": ">= 10"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-run-all2/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/jest-validate/node_modules/camelcase": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/npm-run-all2/node_modules/isexe": {
-      "version": "3.1.1",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=16"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/npm-run-all2/node_modules/pidtree": {
-      "version": "0.6.0",
+    "node_modules/jest-watcher": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+      "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "pidtree": "bin/pidtree.js"
+      "dependencies": {
+        "@jest/test-result": "^29.7.0",
+        "@jest/types": "^29.6.3",
+        "@types/node": "*",
+        "ansi-escapes": "^4.2.1",
+        "chalk": "^4.0.0",
+        "emittery": "^0.13.1",
+        "jest-util": "^29.7.0",
+        "string-length": "^4.0.1"
       },
       "engines": {
-        "node": ">=0.10"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-run-all2/node_modules/which": {
-      "version": "5.0.0",
+    "node_modules/jest-worker": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+      "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
+        "@types/node": "*",
+        "jest-util": "^29.7.0",
+        "merge-stream": "^2.0.0",
+        "supports-color": "^8.0.0"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/npm-run-path": {
-      "version": "6.0.0",
+    "node_modules/jest-worker/node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "path-key": "^4.0.0",
-        "unicorn-magic": "^0.3.0"
+        "has-flag": "^4.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=10"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
-    "node_modules/npm-run-path/node_modules/path-key": {
-      "version": "4.0.0",
+    "node_modules/jiti": {
+      "version": "2.6.1",
+      "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+      "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
       "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peer": true,
+      "bin": {
+        "jiti": "lib/jiti-cli.mjs"
       }
     },
-    "node_modules/nth-check": {
-      "version": "2.1.1",
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "boolbase": "^1.0.0"
-      },
+    "node_modules/jose": {
+      "version": "6.1.3",
+      "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz",
+      "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==",
+      "dev": true,
+      "license": "MIT",
       "funding": {
-        "url": "https://github.com/fb55/nth-check?sponsor=1"
+        "url": "https://github.com/sponsors/panva"
       }
     },
-    "node_modules/nuxt": {
-      "version": "3.17.5",
+    "node_modules/js-tokens": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+      "license": "MIT"
+    },
+    "node_modules/js-yaml": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+      "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "@nuxt/cli": "^3.25.1",
-        "@nuxt/devalue": "^2.0.2",
-        "@nuxt/devtools": "^2.4.1",
-        "@nuxt/kit": "3.17.5",
-        "@nuxt/schema": "3.17.5",
-        "@nuxt/telemetry": "^2.6.6",
-        "@nuxt/vite-builder": "3.17.5",
-        "@unhead/vue": "^2.0.10",
-        "@vue/shared": "^3.5.16",
-        "c12": "^3.0.4",
-        "chokidar": "^4.0.3",
-        "compatx": "^0.2.0",
-        "consola": "^3.4.2",
-        "cookie-es": "^2.0.0",
-        "defu": "^6.1.4",
-        "destr": "^2.0.5",
-        "devalue": "^5.1.1",
-        "errx": "^0.1.0",
-        "esbuild": "^0.25.5",
-        "escape-string-regexp": "^5.0.0",
-        "estree-walker": "^3.0.3",
-        "exsolve": "^1.0.5",
-        "h3": "^1.15.3",
-        "hookable": "^5.5.3",
-        "ignore": "^7.0.5",
-        "impound": "^1.0.0",
-        "jiti": "^2.4.2",
-        "klona": "^2.0.6",
-        "knitwork": "^1.2.0",
-        "magic-string": "^0.30.17",
-        "mlly": "^1.7.4",
-        "mocked-exports": "^0.1.1",
-        "nanotar": "^0.2.0",
-        "nitropack": "^2.11.12",
-        "nypm": "^0.6.0",
-        "ofetch": "^1.4.1",
-        "ohash": "^2.0.11",
-        "on-change": "^5.0.1",
-        "oxc-parser": "^0.72.2",
-        "pathe": "^2.0.3",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^2.1.0",
-        "radix3": "^1.1.2",
-        "scule": "^1.3.0",
-        "semver": "^7.7.2",
-        "std-env": "^3.9.0",
-        "strip-literal": "^3.0.0",
-        "tinyglobby": "0.2.14",
-        "ufo": "^1.6.1",
-        "ultrahtml": "^1.6.0",
-        "uncrypto": "^0.1.3",
-        "unctx": "^2.4.1",
-        "unimport": "^5.0.1",
-        "unplugin": "^2.3.5",
-        "unplugin-vue-router": "^0.12.0",
-        "unstorage": "^1.16.0",
-        "untyped": "^2.0.0",
-        "vue": "^3.5.16",
-        "vue-bundle-renderer": "^2.1.1",
-        "vue-devtools-stub": "^0.1.0",
-        "vue-router": "^4.5.1"
+        "argparse": "^2.0.1"
       },
       "bin": {
-        "nuxi": "bin/nuxt.mjs",
-        "nuxt": "bin/nuxt.mjs"
+        "js-yaml": "bin/js-yaml.js"
+      }
+    },
+    "node_modules/jsdom": {
+      "version": "25.0.1",
+      "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-25.0.1.tgz",
+      "integrity": "sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "cssstyle": "^4.1.0",
+        "data-urls": "^5.0.0",
+        "decimal.js": "^10.4.3",
+        "form-data": "^4.0.0",
+        "html-encoding-sniffer": "^4.0.0",
+        "http-proxy-agent": "^7.0.2",
+        "https-proxy-agent": "^7.0.5",
+        "is-potential-custom-element-name": "^1.0.1",
+        "nwsapi": "^2.2.12",
+        "parse5": "^7.1.2",
+        "rrweb-cssom": "^0.7.1",
+        "saxes": "^6.0.0",
+        "symbol-tree": "^3.2.4",
+        "tough-cookie": "^5.0.0",
+        "w3c-xmlserializer": "^5.0.0",
+        "webidl-conversions": "^7.0.0",
+        "whatwg-encoding": "^3.1.1",
+        "whatwg-mimetype": "^4.0.0",
+        "whatwg-url": "^14.0.0",
+        "ws": "^8.18.0",
+        "xml-name-validator": "^5.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0.0"
+        "node": ">=18"
       },
       "peerDependencies": {
-        "@parcel/watcher": "^2.1.0",
-        "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+        "canvas": "^2.11.2"
       },
       "peerDependenciesMeta": {
-        "@parcel/watcher": {
-          "optional": true
-        },
-        "@types/node": {
+        "canvas": {
           "optional": true
         }
       }
     },
-    "node_modules/nuxt-app": {
-      "resolved": "examples/nuxt",
-      "link": true
-    },
-    "node_modules/nuxt/node_modules/escape-string-regexp": {
+    "node_modules/jsdom/node_modules/xml-name-validator": {
       "version": "5.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/nuxt/node_modules/estree-walker": {
-      "version": "3.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "@types/estree": "^1.0.0"
-      }
-    },
-    "node_modules/nuxt/node_modules/ignore": {
-      "version": "7.0.5",
-      "license": "MIT",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+      "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
+      "dev": true,
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">= 4"
+        "node": ">=18"
       }
     },
-    "node_modules/nuxt/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/nuxt/node_modules/tinyglobby": {
-      "version": "0.2.14",
+    "node_modules/jsesc": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
       "license": "MIT",
-      "dependencies": {
-        "fdir": "^6.4.4",
-        "picomatch": "^4.0.2"
+      "bin": {
+        "jsesc": "bin/jsesc"
       },
       "engines": {
-        "node": ">=12.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/SuperchupuDev"
+        "node": ">=6"
       }
     },
-    "node_modules/nwsapi": {
-      "version": "2.2.20",
+    "node_modules/json-buffer": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz",
+      "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/json-parse-even-better-errors": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+      "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/nypm": {
-      "version": "0.6.0",
+    "node_modules/json-schema-traverse": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+      "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/json-schema-typed": {
+      "version": "8.0.2",
+      "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz",
+      "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
+      "dev": true,
+      "license": "BSD-2-Clause"
+    },
+    "node_modules/json-stable-stringify-without-jsonify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+      "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/json5": {
+      "version": "2.2.3",
+      "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+      "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
       "license": "MIT",
-      "dependencies": {
-        "citty": "^0.1.6",
-        "consola": "^3.4.0",
-        "pathe": "^2.0.3",
-        "pkg-types": "^2.0.0",
-        "tinyexec": "^0.3.2"
-      },
       "bin": {
-        "nypm": "dist/cli.mjs"
+        "json5": "lib/cli.js"
       },
       "engines": {
-        "node": "^14.16.0 || >=16.10.0"
+        "node": ">=6"
       }
     },
-    "node_modules/nypm/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/jsonc-parser": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz",
+      "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/nypm/node_modules/tinyexec": {
-      "version": "0.3.2",
+    "node_modules/jsonparse": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz",
+      "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==",
+      "dev": true,
+      "engines": [
+        "node >= 0.2.0"
+      ],
       "license": "MIT"
     },
-    "node_modules/object-assign": {
-      "version": "4.1.1",
+    "node_modules/jsx-ast-utils": {
+      "version": "3.3.5",
+      "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz",
+      "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
+      "dependencies": {
+        "array-includes": "^3.1.6",
+        "array.prototype.flat": "^1.3.1",
+        "object.assign": "^4.1.4",
+        "object.values": "^1.1.6"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=4.0"
       }
     },
-    "node_modules/object-inspect": {
-      "version": "1.13.4",
+    "node_modules/katex": {
+      "version": "0.16.28",
+      "resolved": "https://registry.npmjs.org/katex/-/katex-0.16.28.tgz",
+      "integrity": "sha512-YHzO7721WbmAL6Ov1uzN/l5mY5WWWhJBSW+jq4tkfZfsxmo1hu6frS0EOswvjBUnWE6NtjEs48SFn5CQESRLZg==",
+      "dev": true,
+      "funding": [
+        "https://opencollective.com/katex",
+        "https://github.com/sponsors/katex"
+      ],
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.4"
+      "dependencies": {
+        "commander": "^8.3.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "bin": {
+        "katex": "cli.js"
       }
     },
-    "node_modules/object-keys": {
-      "version": "1.1.1",
+    "node_modules/katex/node_modules/commander": {
+      "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz",
+      "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "engines": {
-        "node": ">= 0.4"
+        "node": ">= 12"
       }
     },
-    "node_modules/object.assign": {
-      "version": "4.1.7",
-      "dev": true,
+    "node_modules/keyv": {
+      "version": "4.5.4",
+      "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz",
+      "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==",
+      "devOptional": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.0.0",
-        "has-symbols": "^1.1.0",
-        "object-keys": "^1.1.1"
-      },
-      "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "json-buffer": "3.0.1"
       }
     },
-    "node_modules/object.entries": {
-      "version": "1.1.9",
-      "dev": true,
+    "node_modules/khroma": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/khroma/-/khroma-2.1.0.tgz",
+      "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==",
+      "dev": true
+    },
+    "node_modules/kleur": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+      "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.4",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.1.1"
-      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=6"
       }
     },
-    "node_modules/object.fromentries": {
-      "version": "2.0.8",
-      "dev": true,
+    "node_modules/klona": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
+      "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.2",
-        "es-object-atoms": "^1.0.0"
-      },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">= 8"
       }
     },
-    "node_modules/object.values": {
-      "version": "1.2.1",
+    "node_modules/knitwork": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/knitwork/-/knitwork-1.3.0.tgz",
+      "integrity": "sha512-4LqMNoONzR43B1W0ek0fhXMsDNW/zxa1NdFAVMY+k28pgZLovR4G3PB5MrpTxCy1QaZCqNoiaKPr5w5qZHfSNw==",
+      "license": "MIT"
+    },
+    "node_modules/langium": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/langium/-/langium-3.3.1.tgz",
+      "integrity": "sha512-QJv/h939gDpvT+9SiLVlY7tZC3xB2qK57v0J04Sh9wpMb6MP1q8gB21L3WIo8T5P1MSMg3Ep14L7KkDCFG3y4w==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.0.0"
+        "chevrotain": "~11.0.3",
+        "chevrotain-allstar": "~0.3.0",
+        "vscode-languageserver": "~9.0.1",
+        "vscode-languageserver-textdocument": "~1.0.11",
+        "vscode-uri": "~3.0.8"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/obuf": {
-      "version": "1.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/ofetch": {
-      "version": "1.4.1",
+    "node_modules/launch-editor": {
+      "version": "2.12.0",
+      "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.12.0.tgz",
+      "integrity": "sha512-giOHXoOtifjdHqUamwKq6c49GzBdLjvxrd2D+Q4V6uOHopJv7p9VJxikDsQ/CBXZbEITgUqSVHXLTG3VhPP1Dg==",
       "license": "MIT",
       "dependencies": {
-        "destr": "^2.0.3",
-        "node-fetch-native": "^1.6.4",
-        "ufo": "^1.5.4"
+        "picocolors": "^1.1.1",
+        "shell-quote": "^1.8.3"
       }
     },
-    "node_modules/ohash": {
-      "version": "2.0.11",
+    "node_modules/layout-base": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/layout-base/-/layout-base-1.0.2.tgz",
+      "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/on-change": {
-      "version": "5.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sindresorhus/on-change?sponsor=1"
-      }
-    },
-    "node_modules/on-finished": {
-      "version": "2.4.1",
+    "node_modules/lazystream": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz",
+      "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==",
       "license": "MIT",
       "dependencies": {
-        "ee-first": "1.1.1"
+        "readable-stream": "^2.0.5"
       },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">= 0.6.3"
       }
     },
-    "node_modules/on-headers": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/lazystream/node_modules/isarray": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+      "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+      "license": "MIT"
+    },
+    "node_modules/lazystream/node_modules/readable-stream": {
+      "version": "2.3.8",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+      "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
+      "dependencies": {
+        "core-util-is": "~1.0.0",
+        "inherits": "~2.0.3",
+        "isarray": "~1.0.0",
+        "process-nextick-args": "~2.0.0",
+        "safe-buffer": "~5.1.1",
+        "string_decoder": "~1.1.1",
+        "util-deprecate": "~1.0.1"
       }
     },
-    "node_modules/once": {
-      "version": "1.4.0",
-      "license": "ISC",
+    "node_modules/lazystream/node_modules/safe-buffer": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+      "license": "MIT"
+    },
+    "node_modules/lazystream/node_modules/string_decoder": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+      "license": "MIT",
       "dependencies": {
-        "wrappy": "1"
+        "safe-buffer": "~5.1.0"
       }
     },
-    "node_modules/one-time": {
-      "version": "1.0.0",
-      "license": "MIT",
+    "node_modules/less": {
+      "version": "4.5.1",
+      "resolved": "https://registry.npmjs.org/less/-/less-4.5.1.tgz",
+      "integrity": "sha512-UKgI3/KON4u6ngSsnDADsUERqhZknsVZbnuzlRZXLQCmfC/MDld42fTydUE9B+Mla1AL6SJ/Pp6SlEFi/AVGfw==",
+      "devOptional": true,
+      "hasInstallScript": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "fn.name": "1.x.x"
+        "copy-anything": "^2.0.1",
+        "parse-node-version": "^1.0.1",
+        "tslib": "^2.3.0"
+      },
+      "bin": {
+        "lessc": "bin/lessc"
+      },
+      "engines": {
+        "node": ">=14"
+      },
+      "optionalDependencies": {
+        "errno": "^0.1.1",
+        "graceful-fs": "^4.1.2",
+        "image-size": "~0.5.0",
+        "make-dir": "^2.1.0",
+        "mime": "^1.4.1",
+        "needle": "^3.1.0",
+        "source-map": "~0.6.0"
       }
     },
-    "node_modules/onetime": {
-      "version": "7.0.0",
+    "node_modules/less/node_modules/make-dir": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz",
+      "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==",
       "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "mimic-function": "^5.0.0"
+        "pify": "^4.0.1",
+        "semver": "^5.6.0"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
-    "node_modules/oniguruma-to-es": {
-      "version": "3.1.1",
+    "node_modules/less/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex-xs": "^1.0.0",
-        "regex": "^6.0.1",
-        "regex-recursion": "^6.0.2"
+      "license": "ISC",
+      "optional": true,
+      "bin": {
+        "semver": "bin/semver"
       }
     },
-    "node_modules/open": {
-      "version": "10.1.0",
+    "node_modules/leven": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+      "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "default-browser": "^5.2.1",
-        "define-lazy-prop": "^3.0.0",
-        "is-inside-container": "^1.0.0",
-        "is-wsl": "^3.1.0"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
-    "node_modules/optionator": {
-      "version": "0.9.4",
+    "node_modules/levn": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+      "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
       "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "deep-is": "^0.1.3",
-        "fast-levenshtein": "^2.0.6",
-        "levn": "^0.4.1",
         "prelude-ls": "^1.2.1",
-        "type-check": "^0.4.0",
-        "word-wrap": "^1.2.5"
+        "type-check": "~0.4.0"
       },
       "engines": {
         "node": ">= 0.8.0"
       }
     },
-    "node_modules/ora": {
-      "version": "8.2.0",
-      "dev": true,
+    "node_modules/lilconfig": {
+      "version": "3.1.3",
+      "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz",
+      "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==",
       "license": "MIT",
-      "dependencies": {
-        "chalk": "^5.3.0",
-        "cli-cursor": "^5.0.0",
-        "cli-spinners": "^2.9.2",
-        "is-interactive": "^2.0.0",
-        "is-unicode-supported": "^2.0.0",
-        "log-symbols": "^6.0.0",
-        "stdin-discarder": "^0.2.2",
-        "string-width": "^7.2.0",
-        "strip-ansi": "^7.1.0"
-      },
       "engines": {
-        "node": ">=18"
+        "node": ">=14"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/antonk52"
       }
     },
-    "node_modules/ora/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/lines-and-columns": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+      "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
-      }
+      "license": "MIT"
     },
-    "node_modules/ora/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
+    "node_modules/listhen": {
+      "version": "1.9.0",
+      "resolved": "https://registry.npmjs.org/listhen/-/listhen-1.9.0.tgz",
+      "integrity": "sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==",
       "license": "MIT",
-      "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+      "dependencies": {
+        "@parcel/watcher": "^2.4.1",
+        "@parcel/watcher-wasm": "^2.4.1",
+        "citty": "^0.1.6",
+        "clipboardy": "^4.0.0",
+        "consola": "^3.2.3",
+        "crossws": ">=0.2.0 <0.4.0",
+        "defu": "^6.1.4",
+        "get-port-please": "^3.1.2",
+        "h3": "^1.12.0",
+        "http-shutdown": "^1.2.2",
+        "jiti": "^2.1.2",
+        "mlly": "^1.7.1",
+        "node-forge": "^1.3.1",
+        "pathe": "^1.1.2",
+        "std-env": "^3.7.0",
+        "ufo": "^1.5.4",
+        "untun": "^0.1.3",
+        "uqr": "^0.1.2"
       },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+      "bin": {
+        "listen": "bin/listhen.mjs",
+        "listhen": "bin/listhen.mjs"
       }
     },
-    "node_modules/ora/node_modules/emoji-regex": {
-      "version": "10.4.0",
-      "dev": true,
+    "node_modules/listhen/node_modules/pathe": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
+      "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
       "license": "MIT"
     },
-    "node_modules/ora/node_modules/log-symbols": {
-      "version": "6.0.0",
+    "node_modules/listr2": {
+      "version": "9.0.5",
+      "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz",
+      "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "chalk": "^5.3.0",
-        "is-unicode-supported": "^1.3.0"
+        "cli-truncate": "^5.0.0",
+        "colorette": "^2.0.20",
+        "eventemitter3": "^5.0.1",
+        "log-update": "^6.1.0",
+        "rfdc": "^1.4.1",
+        "wrap-ansi": "^9.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=20.0.0"
+      }
+    },
+    "node_modules/listr2/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported": {
-      "version": "1.3.0",
+    "node_modules/listr2/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/ora/node_modules/string-width": {
+    "node_modules/listr2/node_modules/emoji-regex": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+      "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/listr2/node_modules/string-width": {
       "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -24029,8 +18887,10 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/ora/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/listr2/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -24043,3271 +18903,4155 @@
         "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/ordered-binary": {
-      "version": "1.5.3",
+    "node_modules/listr2/node_modules/wrap-ansi": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+      "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
       "dev": true,
       "license": "MIT",
-      "optional": true
+      "dependencies": {
+        "ansi-styles": "^6.2.1",
+        "string-width": "^7.0.0",
+        "strip-ansi": "^7.1.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+      }
     },
-    "node_modules/own-keys": {
-      "version": "1.0.1",
+    "node_modules/lmdb": {
+      "version": "3.4.4",
+      "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.4.tgz",
+      "integrity": "sha512-+Y2DqovevLkb6DrSQ6SXTYLEd6kvlRbhsxzgJrk7BUfOVA/mt21ak6pFDZDKxiAczHMWxrb02kXBTSTIA0O94A==",
       "dev": true,
+      "hasInstallScript": true,
       "license": "MIT",
-      "peer": true,
+      "optional": true,
       "dependencies": {
-        "get-intrinsic": "^1.2.6",
-        "object-keys": "^1.1.1",
-        "safe-push-apply": "^1.0.0"
+        "msgpackr": "^1.11.2",
+        "node-addon-api": "^6.1.0",
+        "node-gyp-build-optional-packages": "5.2.2",
+        "ordered-binary": "^1.5.3",
+        "weak-lru-cache": "^1.2.2"
       },
-      "engines": {
-        "node": ">= 0.4"
+      "bin": {
+        "download-lmdb-prebuilds": "bin/download-prebuilds.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "optionalDependencies": {
+        "@lmdb/lmdb-darwin-arm64": "3.4.4",
+        "@lmdb/lmdb-darwin-x64": "3.4.4",
+        "@lmdb/lmdb-linux-arm": "3.4.4",
+        "@lmdb/lmdb-linux-arm64": "3.4.4",
+        "@lmdb/lmdb-linux-x64": "3.4.4",
+        "@lmdb/lmdb-win32-arm64": "3.4.4",
+        "@lmdb/lmdb-win32-x64": "3.4.4"
       }
     },
-    "node_modules/oxc-parser": {
-      "version": "0.72.3",
+    "node_modules/local-pkg": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-1.1.2.tgz",
+      "integrity": "sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==",
       "license": "MIT",
       "dependencies": {
-        "@oxc-project/types": "^0.72.3"
+        "mlly": "^1.7.4",
+        "pkg-types": "^2.3.0",
+        "quansync": "^0.2.11"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=14"
       },
       "funding": {
-        "url": "https://github.com/sponsors/Boshen"
-      },
-      "optionalDependencies": {
-        "@oxc-parser/binding-darwin-arm64": "0.72.3",
-        "@oxc-parser/binding-darwin-x64": "0.72.3",
-        "@oxc-parser/binding-freebsd-x64": "0.72.3",
-        "@oxc-parser/binding-linux-arm-gnueabihf": "0.72.3",
-        "@oxc-parser/binding-linux-arm-musleabihf": "0.72.3",
-        "@oxc-parser/binding-linux-arm64-gnu": "0.72.3",
-        "@oxc-parser/binding-linux-arm64-musl": "0.72.3",
-        "@oxc-parser/binding-linux-riscv64-gnu": "0.72.3",
-        "@oxc-parser/binding-linux-s390x-gnu": "0.72.3",
-        "@oxc-parser/binding-linux-x64-gnu": "0.72.3",
-        "@oxc-parser/binding-linux-x64-musl": "0.72.3",
-        "@oxc-parser/binding-wasm32-wasi": "0.72.3",
-        "@oxc-parser/binding-win32-arm64-msvc": "0.72.3",
-        "@oxc-parser/binding-win32-x64-msvc": "0.72.3"
-      }
-    },
-    "node_modules/p-cancelable": {
-      "version": "3.0.0",
-      "dev": true,
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/local-pkg/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/local-pkg/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
-      "engines": {
-        "node": ">=12.20"
+      "dependencies": {
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/p-finally": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/locate-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+      "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+      "devOptional": true,
       "license": "MIT",
+      "dependencies": {
+        "p-locate": "^5.0.0"
+      },
       "engines": {
-        "node": ">=4"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/p-limit": {
+    "node_modules/lodash": {
+      "version": "4.17.23",
+      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz",
+      "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==",
+      "license": "MIT"
+    },
+    "node_modules/lodash-es": {
+      "version": "4.17.23",
+      "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.23.tgz",
+      "integrity": "sha512-kVI48u3PZr38HdYz98UmfPnXl2DXrpdctLrFLCd3kOx1xUkOmpFPx7gCWWM5MPkL/fD8zb+Ph0QzjGFs4+hHWg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.defaults": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
+      "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==",
+      "license": "MIT"
+    },
+    "node_modules/lodash.isarguments": {
       "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz",
+      "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==",
+      "license": "MIT"
+    },
+    "node_modules/lodash.memoize": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+      "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
+      "license": "MIT"
+    },
+    "node_modules/lodash.merge": {
+      "version": "4.6.2",
+      "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+      "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
       "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/lodash.uniq": {
+      "version": "4.5.0",
+      "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+      "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
+      "license": "MIT"
+    },
+    "node_modules/log-symbols": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-7.0.1.tgz",
+      "integrity": "sha512-ja1E3yCr9i/0hmBVaM0bfwDjnGy8I/s6PP4DFp+yP+a+mrHO4Rm7DtmnqROTUkHIkqffC84YY7AeqX6oFk0WFg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "yocto-queue": "^0.1.0"
+        "is-unicode-supported": "^2.0.0",
+        "yoctocolors": "^2.1.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/p-locate": {
-      "version": "5.0.0",
-      "devOptional": true,
+    "node_modules/log-update": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz",
+      "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "p-limit": "^3.0.2"
+        "ansi-escapes": "^7.0.0",
+        "cli-cursor": "^5.0.0",
+        "slice-ansi": "^7.1.0",
+        "strip-ansi": "^7.1.0",
+        "wrap-ansi": "^9.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/p-retry": {
-      "version": "6.2.1",
+    "node_modules/log-update/node_modules/ansi-escapes": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.2.0.tgz",
+      "integrity": "sha512-g6LhBsl+GBPRWGWsBtutpzBYuIIdBkLEvad5C/va/74Db018+5TZiyA26cZJAr3Rft5lprVqOIPxf5Vid6tqAw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/retry": "0.12.2",
-        "is-network-error": "^1.0.0",
-        "retry": "^0.13.1"
+        "environment": "^1.0.0"
       },
       "engines": {
-        "node": ">=16.17"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/p-retry/node_modules/retry": {
-      "version": "0.13.1",
+    "node_modules/log-update/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 4"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/p-try": {
-      "version": "2.2.0",
+    "node_modules/log-update/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/p-wait-for": {
-      "version": "5.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "p-timeout": "^6.0.0"
-      },
       "engines": {
         "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/p-wait-for/node_modules/p-timeout": {
-      "version": "6.1.4",
+    "node_modules/log-update/node_modules/emoji-regex": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+      "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/log-update/node_modules/string-width": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "emoji-regex": "^10.3.0",
+        "get-east-asian-width": "^1.0.0",
+        "strip-ansi": "^7.1.0"
+      },
       "engines": {
-        "node": ">=14.16"
+        "node": ">=18"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/pac-proxy-agent": {
-      "version": "7.2.0",
+    "node_modules/log-update/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@tootallnate/quickjs-emscripten": "^0.23.0",
-        "agent-base": "^7.1.2",
-        "debug": "^4.3.4",
-        "get-uri": "^6.0.1",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.6",
-        "pac-resolver": "^7.0.1",
-        "socks-proxy-agent": "^8.0.5"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/pac-resolver": {
-      "version": "7.0.1",
+    "node_modules/log-update/node_modules/wrap-ansi": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+      "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "degenerator": "^5.0.0",
-        "netmask": "^2.0.2"
+        "ansi-styles": "^6.2.1",
+        "string-width": "^7.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/package-json-from-dist": {
-      "version": "1.0.1",
-      "license": "BlueOak-1.0.0"
-    },
-    "node_modules/package-manager-detector": {
-      "version": "1.3.0",
-      "license": "MIT"
-    },
-    "node_modules/pacote": {
-      "version": "21.0.0",
+    "node_modules/loose-envify": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "@npmcli/git": "^6.0.0",
-        "@npmcli/installed-package-contents": "^3.0.0",
-        "@npmcli/package-json": "^6.0.0",
-        "@npmcli/promise-spawn": "^8.0.0",
-        "@npmcli/run-script": "^9.0.0",
-        "cacache": "^19.0.0",
-        "fs-minipass": "^3.0.0",
-        "minipass": "^7.0.2",
-        "npm-package-arg": "^12.0.0",
-        "npm-packlist": "^10.0.0",
-        "npm-pick-manifest": "^10.0.0",
-        "npm-registry-fetch": "^18.0.0",
-        "proc-log": "^5.0.0",
-        "promise-retry": "^2.0.1",
-        "sigstore": "^3.0.0",
-        "ssri": "^12.0.0",
-        "tar": "^6.1.11"
+        "js-tokens": "^3.0.0 || ^4.0.0"
       },
       "bin": {
-        "pacote": "bin/index.js"
-      },
-      "engines": {
-        "node": "^20.17.0 || >=22.9.0"
+        "loose-envify": "cli.js"
       }
     },
-    "node_modules/pacote/node_modules/chownr": {
-      "version": "2.0.0",
-      "dev": true,
+    "node_modules/lru-cache": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+      "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
       "license": "ISC",
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "yallist": "^3.0.2"
       }
     },
-    "node_modules/pacote/node_modules/minizlib": {
-      "version": "2.1.2",
-      "dev": true,
+    "node_modules/magic-regexp": {
+      "version": "0.10.0",
+      "resolved": "https://registry.npmjs.org/magic-regexp/-/magic-regexp-0.10.0.tgz",
+      "integrity": "sha512-Uly1Bu4lO1hwHUW0CQeSWuRtzCMNO00CmXtS8N6fyvB3B979GOEEeAkiTUDsmbYLAbvpUS/Kt5c4ibosAzVyVg==",
       "license": "MIT",
       "dependencies": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
+        "estree-walker": "^3.0.3",
+        "magic-string": "^0.30.12",
+        "mlly": "^1.7.2",
+        "regexp-tree": "^0.1.27",
+        "type-level-regexp": "~0.1.17",
+        "ufo": "^1.5.4",
+        "unplugin": "^2.0.0"
       }
     },
-    "node_modules/pacote/node_modules/minizlib/node_modules/minipass": {
-      "version": "3.3.6",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/magic-regexp/node_modules/estree-walker": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+      "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
+      "license": "MIT",
       "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=8"
+        "@types/estree": "^1.0.0"
       }
     },
-    "node_modules/pacote/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "dev": true,
+    "node_modules/magic-string": {
+      "version": "0.30.21",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+      "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
       "license": "MIT",
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
-      "engines": {
-        "node": ">=10"
+      "dependencies": {
+        "@jridgewell/sourcemap-codec": "^1.5.5"
       }
     },
-    "node_modules/pacote/node_modules/tar": {
-      "version": "6.2.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/magic-string-ast": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-1.0.3.tgz",
+      "integrity": "sha512-CvkkH1i81zl7mmb94DsRiFeG9V2fR2JeuK8yDgS8oiZSFa++wWLEgZ5ufEOyLHbvSbD1gTRKv9NdX69Rnvr9JA==",
+      "license": "MIT",
       "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^5.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
+        "magic-string": "^0.30.19"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/pacote/node_modules/tar/node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/magicast": {
+      "version": "0.5.1",
+      "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz",
+      "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==",
+      "license": "MIT",
       "dependencies": {
-        "minipass": "^3.0.0"
-      },
-      "engines": {
-        "node": ">= 8"
+        "@babel/parser": "^7.28.5",
+        "@babel/types": "^7.28.5",
+        "source-map-js": "^1.2.1"
       }
     },
-    "node_modules/pacote/node_modules/tar/node_modules/fs-minipass/node_modules/minipass": {
-      "version": "3.3.6",
+    "node_modules/make-dir": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+      "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "yallist": "^4.0.0"
+        "semver": "^7.5.3"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/pacote/node_modules/tar/node_modules/minipass": {
-      "version": "5.0.0",
+    "node_modules/make-dir/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
       "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
       }
     },
-    "node_modules/pacote/node_modules/yallist": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/pako": {
-      "version": "1.0.11",
+    "node_modules/make-fetch-happen": {
+      "version": "15.0.3",
+      "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-15.0.3.tgz",
+      "integrity": "sha512-iyyEpDty1mwW3dGlYXAJqC/azFn5PPvgKVwXayOGBSmKLxhKZ9fg4qIan2ePpp1vJIwfFiO34LAPZgq9SZW9Aw==",
       "dev": true,
-      "license": "(MIT AND Zlib)"
-    },
-    "node_modules/parent-module": {
-      "version": "1.0.1",
-      "devOptional": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "callsites": "^3.0.0"
+        "@npmcli/agent": "^4.0.0",
+        "cacache": "^20.0.1",
+        "http-cache-semantics": "^4.1.1",
+        "minipass": "^7.0.2",
+        "minipass-fetch": "^5.0.0",
+        "minipass-flush": "^1.0.5",
+        "minipass-pipeline": "^1.2.4",
+        "negotiator": "^1.0.0",
+        "proc-log": "^6.0.0",
+        "promise-retry": "^2.0.1",
+        "ssri": "^13.0.0"
       },
       "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/parse-gitignore": {
-      "version": "2.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=14"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/parse-json": {
-      "version": "5.2.0",
+    "node_modules/makeerror": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+      "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
       "dev": true,
-      "license": "MIT",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "@babel/code-frame": "^7.0.0",
-        "error-ex": "^1.3.1",
-        "json-parse-even-better-errors": "^2.3.0",
-        "lines-and-columns": "^1.1.6"
-      },
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "tmpl": "1.0.5"
       }
     },
-    "node_modules/parse-json/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
+    "node_modules/mark.js": {
+      "version": "8.11.1",
+      "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz",
+      "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/parse-ms": {
-      "version": "4.0.0",
+    "node_modules/marked": {
+      "version": "16.4.2",
+      "resolved": "https://registry.npmjs.org/marked/-/marked-16.4.2.tgz",
+      "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=18"
+      "bin": {
+        "marked": "bin/marked.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/parse-node-version": {
-      "version": "1.0.1",
-      "devOptional": true,
-      "license": "MIT",
       "engines": {
-        "node": ">= 0.10"
-      }
-    },
-    "node_modules/parse-path": {
-      "version": "7.1.0",
-      "license": "MIT",
-      "dependencies": {
-        "protocols": "^2.0.0"
+        "node": ">= 20"
       }
     },
-    "node_modules/parse-url": {
-      "version": "9.2.0",
+    "node_modules/math-intrinsics": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/parse-path": "^7.0.0",
-        "parse-path": "^7.0.0"
-      },
       "engines": {
-        "node": ">=14.13.0"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/parse5": {
-      "version": "7.3.0",
+    "node_modules/mdast-util-to-hast": {
+      "version": "13.2.1",
+      "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz",
+      "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "entities": "^6.0.0"
+        "@types/hast": "^3.0.0",
+        "@types/mdast": "^4.0.0",
+        "@ungap/structured-clone": "^1.0.0",
+        "devlop": "^1.0.0",
+        "micromark-util-sanitize-uri": "^2.0.0",
+        "trim-lines": "^3.0.0",
+        "unist-util-position": "^5.0.0",
+        "unist-util-visit": "^5.0.0",
+        "vfile": "^6.0.0"
       },
       "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/parse5-html-rewriting-stream": {
-      "version": "7.1.0",
+    "node_modules/mdn-data": {
+      "version": "2.12.2",
+      "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz",
+      "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==",
+      "license": "CC0-1.0"
+    },
+    "node_modules/media-typer": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
+      "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "entities": "^6.0.0",
-        "parse5": "^7.0.0",
-        "parse5-sax-parser": "^7.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
+      "engines": {
+        "node": ">= 0.8"
       }
     },
-    "node_modules/parse5-html-rewriting-stream/node_modules/entities": {
-      "version": "6.0.1",
+    "node_modules/memorystream": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz",
+      "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==",
       "dev": true,
-      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">=0.12"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
+        "node": ">= 0.10.0"
       }
     },
-    "node_modules/parse5-htmlparser2-tree-adapter": {
-      "version": "7.1.0",
+    "node_modules/merge-descriptors": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+      "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "domhandler": "^5.0.3",
-        "parse5": "^7.0.0"
+      "engines": {
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/parse5-parser-stream": {
-      "version": "7.1.2",
+    "node_modules/merge-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+      "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+      "license": "MIT"
+    },
+    "node_modules/merge2": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 8"
+      }
+    },
+    "node_modules/mermaid": {
+      "version": "11.12.2",
+      "resolved": "https://registry.npmjs.org/mermaid/-/mermaid-11.12.2.tgz",
+      "integrity": "sha512-n34QPDPEKmaeCG4WDMGy0OT6PSyxKCfy2pJgShP+Qow2KLrvWjclwbc3yXfSIf4BanqWEhQEpngWwNp/XhZt6w==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "parse5": "^7.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
+        "@braintree/sanitize-url": "^7.1.1",
+        "@iconify/utils": "^3.0.1",
+        "@mermaid-js/parser": "^0.6.3",
+        "@types/d3": "^7.4.3",
+        "cytoscape": "^3.29.3",
+        "cytoscape-cose-bilkent": "^4.1.0",
+        "cytoscape-fcose": "^2.2.0",
+        "d3": "^7.9.0",
+        "d3-sankey": "^0.12.3",
+        "dagre-d3-es": "7.0.13",
+        "dayjs": "^1.11.18",
+        "dompurify": "^3.2.5",
+        "katex": "^0.16.22",
+        "khroma": "^2.1.0",
+        "lodash-es": "^4.17.21",
+        "marked": "^16.2.1",
+        "roughjs": "^4.6.6",
+        "stylis": "^4.3.6",
+        "ts-dedent": "^2.2.0",
+        "uuid": "^11.1.0"
       }
     },
-    "node_modules/parse5-sax-parser": {
-      "version": "7.0.0",
+    "node_modules/micromark-util-character": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz",
+      "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==",
       "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "parse5": "^7.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/inikulin/parse5?sponsor=1"
+        "micromark-util-symbol": "^2.0.0",
+        "micromark-util-types": "^2.0.0"
       }
     },
-    "node_modules/parse5/node_modules/entities": {
-      "version": "6.0.1",
+    "node_modules/micromark-util-encode": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz",
+      "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==",
       "dev": true,
-      "license": "BSD-2-Clause",
-      "engines": {
-        "node": ">=0.12"
-      },
-      "funding": {
-        "url": "https://github.com/fb55/entities?sponsor=1"
-      }
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
+      "license": "MIT"
     },
-    "node_modules/parseurl": {
-      "version": "1.3.3",
+    "node_modules/micromark-util-sanitize-uri": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz",
+      "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
+      "dependencies": {
+        "micromark-util-character": "^2.0.0",
+        "micromark-util-encode": "^2.0.0",
+        "micromark-util-symbol": "^2.0.0"
       }
     },
-    "node_modules/path-browserify": {
-      "version": "1.0.1",
+    "node_modules/micromark-util-symbol": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz",
+      "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
       "license": "MIT"
     },
-    "node_modules/path-data-parser": {
-      "version": "0.1.0",
+    "node_modules/micromark-util-types": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.2.tgz",
+      "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==",
       "dev": true,
+      "funding": [
+        {
+          "type": "GitHub Sponsors",
+          "url": "https://github.com/sponsors/unifiedjs"
+        },
+        {
+          "type": "OpenCollective",
+          "url": "https://opencollective.com/unified"
+        }
+      ],
       "license": "MIT"
     },
-    "node_modules/path-exists": {
-      "version": "4.0.0",
-      "devOptional": true,
+    "node_modules/micromatch": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
       "license": "MIT",
+      "dependencies": {
+        "braces": "^3.0.3",
+        "picomatch": "^2.3.1"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">=8.6"
       }
     },
-    "node_modules/path-is-absolute": {
-      "version": "1.0.1",
-      "devOptional": true,
+    "node_modules/mime": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
+      "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
+      "dev": true,
       "license": "MIT",
+      "optional": true,
+      "bin": {
+        "mime": "cli.js"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=4"
       }
     },
-    "node_modules/path-key": {
-      "version": "3.1.1",
+    "node_modules/mime-db": {
+      "version": "1.54.0",
+      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+      "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/path-parse": {
-      "version": "1.0.7",
-      "license": "MIT"
-    },
-    "node_modules/path-scurry": {
-      "version": "1.11.1",
-      "license": "BlueOak-1.0.0",
+    "node_modules/mime-types": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+      "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+      "license": "MIT",
       "dependencies": {
-        "lru-cache": "^10.2.0",
-        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0"
+        "mime-db": "^1.54.0"
       },
       "engines": {
-        "node": ">=16 || 14 >=14.18"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/path-scurry/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "license": "ISC"
-    },
-    "node_modules/path-to-regexp": {
-      "version": "0.1.12",
+    "node_modules/mimic-fn": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+      "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/path-type": {
-      "version": "6.0.0",
       "license": "MIT",
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/pathe": {
-      "version": "1.1.2",
-      "license": "MIT"
-    },
-    "node_modules/pend": {
-      "version": "1.2.0",
-      "license": "MIT"
-    },
-    "node_modules/perfect-debounce": {
-      "version": "1.0.0",
-      "license": "MIT"
-    },
-    "node_modules/picocolors": {
-      "version": "1.1.1",
-      "license": "ISC"
+        "node": ">=6"
+      }
     },
-    "node_modules/picomatch": {
-      "version": "4.0.2",
+    "node_modules/mimic-function": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz",
+      "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/pirates": {
-      "version": "4.0.7",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/minimatch": {
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+      "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+      "devOptional": true,
+      "license": "ISC",
+      "dependencies": {
+        "brace-expansion": "^1.1.7"
+      },
       "engines": {
-        "node": ">= 6"
+        "node": "*"
       }
     },
-    "node_modules/piscina": {
-      "version": "5.0.0",
+    "node_modules/minimist": {
+      "version": "1.2.8",
+      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
       "dev": true,
       "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
+    },
+    "node_modules/minipass": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+      "license": "ISC",
       "engines": {
-        "node": ">=18.x"
-      },
-      "optionalDependencies": {
-        "@napi-rs/nice": "^1.0.1"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/pkg-dir": {
-      "version": "7.0.0",
+    "node_modules/minipass-collect": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+      "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "find-up": "^6.3.0"
+        "minipass": "^7.0.3"
       },
       "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=16 || 14 >=14.17"
       }
     },
-    "node_modules/pkg-dir/node_modules/find-up": {
-      "version": "6.3.0",
+    "node_modules/minipass-fetch": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-5.0.0.tgz",
+      "integrity": "sha512-fiCdUALipqgPWrOVTz9fw0XhcazULXOSU6ie40DDbX1F49p1dBrSRBuswndTx1x3vEb/g0FT7vC4c4C2u/mh3A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "locate-path": "^7.1.0",
-        "path-exists": "^5.0.0"
+        "minipass": "^7.0.3",
+        "minipass-sized": "^1.0.3",
+        "minizlib": "^3.0.1"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^20.17.0 || >=22.9.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "optionalDependencies": {
+        "encoding": "^0.1.13"
       }
     },
-    "node_modules/pkg-dir/node_modules/locate-path": {
-      "version": "7.2.0",
+    "node_modules/minipass-flush": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz",
+      "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "p-locate": "^6.0.0"
+        "minipass": "^3.0.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 8"
       }
     },
-    "node_modules/pkg-dir/node_modules/p-limit": {
-      "version": "4.0.0",
+    "node_modules/minipass-flush/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "yocto-queue": "^1.0.0"
+        "yallist": "^4.0.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=8"
       }
     },
-    "node_modules/pkg-dir/node_modules/p-locate": {
-      "version": "6.0.0",
+    "node_modules/minipass-flush/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC"
+    },
+    "node_modules/minipass-pipeline": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
+      "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "p-limit": "^4.0.0"
+        "minipass": "^3.0.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=8"
       }
     },
-    "node_modules/pkg-dir/node_modules/path-exists": {
-      "version": "5.0.0",
+    "node_modules/minipass-pipeline/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
+      "dependencies": {
+        "yallist": "^4.0.0"
+      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/pkg-dir/node_modules/yocto-queue": {
-      "version": "1.2.1",
+    "node_modules/minipass-pipeline/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=12.20"
+      "license": "ISC"
+    },
+    "node_modules/minipass-sized": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz",
+      "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "minipass": "^3.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/pkg-pr-new": {
-      "version": "0.0.51",
+    "node_modules/minipass-sized/node_modules/minipass": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+      "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@jsdevtools/ez-spawn": "^3.0.4",
-        "@octokit/action": "^6.1.0",
-        "ignore": "^5.3.1",
-        "isbinaryfile": "^5.0.2",
-        "pkg-types": "^1.1.1",
-        "query-registry": "^3.0.1",
-        "tinyglobby": "^0.2.9"
+        "yallist": "^4.0.0"
       },
-      "bin": {
-        "pkg-pr-new": "bin/cli.js"
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/pkg-pr-new/node_modules/confbox": {
-      "version": "0.1.8",
+    "node_modules/minipass-sized/node_modules/yallist": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
       "dev": true,
-      "license": "MIT"
+      "license": "ISC"
     },
-    "node_modules/pkg-pr-new/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/minisearch": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/minisearch/-/minisearch-7.2.0.tgz",
+      "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/pkg-pr-new/node_modules/pkg-types": {
-      "version": "1.3.1",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "confbox": "^0.1.8",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.1"
-      }
-    },
-    "node_modules/pkg-types": {
-      "version": "2.1.0",
+    "node_modules/minizlib": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz",
+      "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==",
       "license": "MIT",
       "dependencies": {
-        "confbox": "^0.2.1",
-        "exsolve": "^1.0.1",
-        "pathe": "^2.0.3"
+        "minipass": "^7.1.2"
+      },
+      "engines": {
+        "node": ">= 18"
       }
     },
-    "node_modules/pkg-types/node_modules/pathe": {
-      "version": "2.0.3",
+    "node_modules/mitt": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+      "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
       "license": "MIT"
     },
-    "node_modules/playwright": {
-      "version": "1.56.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "playwright-core": "1.56.1"
-      },
+    "node_modules/mkdirp": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+      "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
+      "license": "MIT",
       "bin": {
-        "playwright": "cli.js"
+        "mkdirp": "dist/cjs/src/bin.js"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=10"
       },
-      "optionalDependencies": {
-        "fsevents": "2.3.2"
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/playwright-core": {
-      "version": "1.56.1",
-      "dev": true,
-      "license": "Apache-2.0",
-      "bin": {
-        "playwright-core": "cli.js"
-      },
-      "engines": {
-        "node": ">=18"
+    "node_modules/mlly": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.8.0.tgz",
+      "integrity": "sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==",
+      "license": "MIT",
+      "dependencies": {
+        "acorn": "^8.15.0",
+        "pathe": "^2.0.3",
+        "pkg-types": "^1.3.1",
+        "ufo": "^1.6.1"
       }
     },
-    "node_modules/playwright/node_modules/fsevents": {
-      "version": "2.3.2",
-      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
-      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
-      "dev": true,
-      "hasInstallScript": true,
+    "node_modules/mocked-exports": {
+      "version": "0.1.1",
+      "resolved": "https://registry.npmjs.org/mocked-exports/-/mocked-exports-0.1.1.tgz",
+      "integrity": "sha512-aF7yRQr/Q0O2/4pIXm6PZ5G+jAd7QS4Yu8m+WEeEHGnbo+7mE36CbLSDQiXYV8bVL3NfmdeqPJct0tUlnjVSnA==",
+      "license": "MIT"
+    },
+    "node_modules/mrmime": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
+      "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
       "license": "MIT",
-      "optional": true,
-      "os": [
-        "darwin"
-      ],
       "engines": {
-        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+        "node": ">=10"
       }
     },
-    "node_modules/points-on-curve": {
-      "version": "0.2.0",
-      "dev": true,
+    "node_modules/ms": {
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "license": "MIT"
     },
-    "node_modules/points-on-path": {
-      "version": "0.2.1",
+    "node_modules/msgpackr": {
+      "version": "1.11.8",
+      "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.8.tgz",
+      "integrity": "sha512-bC4UGzHhVvgDNS7kn9tV8fAucIYUBuGojcaLiz7v+P63Lmtm0Xeji8B/8tYKddALXxJLpwIeBmUN3u64C4YkRA==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "optionalDependencies": {
+        "msgpackr-extract": "^3.0.2"
+      }
+    },
+    "node_modules/msgpackr-extract": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz",
+      "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==",
       "dev": true,
+      "hasInstallScript": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "path-data-parser": "0.1.0",
-        "points-on-curve": "0.2.0"
+        "node-gyp-build-optional-packages": "5.2.2"
+      },
+      "bin": {
+        "download-msgpackr-prebuilds": "bin/download-prebuilds.js"
+      },
+      "optionalDependencies": {
+        "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3",
+        "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3",
+        "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3",
+        "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3",
+        "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3",
+        "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3"
       }
     },
-    "node_modules/possible-typed-array-names": {
-      "version": "1.1.0",
+    "node_modules/muggle-string": {
+      "version": "0.4.1",
+      "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz",
+      "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==",
+      "license": "MIT"
+    },
+    "node_modules/mute-stream": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+      "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
       "dev": true,
-      "license": "MIT",
-      "peer": true,
+      "license": "ISC",
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/postcss": {
-      "version": "8.5.5",
+    "node_modules/nanoid": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.1.6.tgz",
+      "integrity": "sha512-c7+7RQ+dMB5dPwwCp4ee1/iV/q2P6aK1mTZcfr1BTuVlyW9hJYiMPybJCcnBlQtuSmTIWNeazm/zqNoZSSElBg==",
       "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/postcss/"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/postcss"
-        },
         {
           "type": "github",
           "url": "https://github.com/sponsors/ai"
         }
       ],
       "license": "MIT",
-      "dependencies": {
-        "nanoid": "^3.3.11",
-        "picocolors": "^1.1.1",
-        "source-map-js": "^1.2.1"
+      "bin": {
+        "nanoid": "bin/nanoid.js"
       },
       "engines": {
-        "node": "^10 || ^12 || >=14"
+        "node": "^18 || >=20"
       }
     },
-    "node_modules/postcss-calc": {
-      "version": "10.1.1",
-      "license": "MIT",
-      "dependencies": {
-        "postcss-selector-parser": "^7.0.0",
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^18.12 || ^20.9 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.38"
-      }
+    "node_modules/nanotar": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/nanotar/-/nanotar-0.2.0.tgz",
+      "integrity": "sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==",
+      "license": "MIT"
     },
-    "node_modules/postcss-calc/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/natural-compare": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+      "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/needle": {
+      "version": "3.3.1",
+      "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz",
+      "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==",
+      "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "iconv-lite": "^0.6.3",
+        "sax": "^1.2.4"
+      },
+      "bin": {
+        "needle": "bin/needle"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">= 4.4.x"
       }
     },
-    "node_modules/postcss-colormin": {
-      "version": "7.0.3",
+    "node_modules/needle/node_modules/iconv-lite": {
+      "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
+      "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "browserslist": "^4.24.5",
-        "caniuse-api": "^3.0.0",
-        "colord": "^2.9.3",
-        "postcss-value-parser": "^4.2.0"
+        "safer-buffer": ">= 2.1.2 < 3.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-convert-values": {
-      "version": "7.0.5",
+    "node_modules/negotiator": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
+      "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.24.5",
-        "postcss-value-parser": "^4.2.0"
-      },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">= 0.6"
       }
     },
-    "node_modules/postcss-discard-comments": {
-      "version": "7.0.4",
+    "node_modules/netmask": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+      "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "postcss-selector-parser": "^7.1.0"
-      },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">= 0.4.0"
       }
     },
-    "node_modules/postcss-discard-comments/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/ng-packagr": {
+      "version": "21.1.0",
+      "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-21.1.0.tgz",
+      "integrity": "sha512-UlQOhH8DRlaYsBGQMjOYvg70J70hD4i/55NV9vAsYvsxEskmp86xjUtZgEeVKeoLq8tYMjMXDgaYjYde153sZQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "@ampproject/remapping": "^2.3.0",
+        "@rollup/plugin-json": "^6.1.0",
+        "@rollup/wasm-node": "^4.24.0",
+        "ajv": "^8.17.1",
+        "ansi-colors": "^4.1.3",
+        "browserslist": "^4.26.0",
+        "chokidar": "^5.0.0",
+        "commander": "^14.0.0",
+        "dependency-graph": "^1.0.0",
+        "esbuild": "^0.27.0",
+        "find-cache-directory": "^6.0.0",
+        "injection-js": "^2.4.0",
+        "jsonc-parser": "^3.3.1",
+        "less": "^4.2.0",
+        "ora": "^9.0.0",
+        "piscina": "^5.0.0",
+        "postcss": "^8.4.47",
+        "rollup-plugin-dts": "^6.2.0",
+        "rxjs": "^7.8.1",
+        "sass": "^1.81.0",
+        "tinyglobby": "^0.2.12"
       },
-      "engines": {
-        "node": ">=4"
-      }
-    },
-    "node_modules/postcss-discard-duplicates": {
-      "version": "7.0.2",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      "bin": {
+        "ng-packagr": "src/cli/main.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
-      }
-    },
-    "node_modules/postcss-discard-empty": {
-      "version": "7.0.1",
-      "license": "MIT",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
-      }
-    },
-    "node_modules/postcss-discard-overridden": {
-      "version": "7.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      "optionalDependencies": {
+        "rollup": "^4.24.0"
       },
       "peerDependencies": {
-        "postcss": "^8.4.32"
+        "@angular/compiler-cli": "^21.0.0 || ^21.1.0-next",
+        "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0",
+        "tslib": "^2.3.0",
+        "typescript": ">=5.9 <6.0"
+      },
+      "peerDependenciesMeta": {
+        "tailwindcss": {
+          "optional": true
+        }
       }
     },
-    "node_modules/postcss-loader": {
-      "version": "8.1.1",
+    "node_modules/ng-packagr/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cosmiconfig": "^9.0.0",
-        "jiti": "^1.20.0",
-        "semver": "^7.5.4"
-      },
-      "engines": {
-        "node": ">= 18.12.0"
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "@rspack/core": "0.x || 1.x",
-        "postcss": "^7.0.0 || ^8.0.1",
-        "webpack": "^5.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@rspack/core": {
-          "optional": true
-        },
-        "webpack": {
-          "optional": true
-        }
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
       }
     },
-    "node_modules/postcss-loader/node_modules/jiti": {
-      "version": "1.21.7",
+    "node_modules/ng-packagr/node_modules/commander": {
+      "version": "14.0.2",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.2.tgz",
+      "integrity": "sha512-TywoWNNRbhoD0BXs1P3ZEScW8W5iKrnbithIl0YH+uCmBd0QpPOA8yc82DS3BIE5Ma6FnBVUsJ7wVUDz4dvOWQ==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "jiti": "bin/jiti.js"
+      "engines": {
+        "node": ">=20"
       }
     },
-    "node_modules/postcss-media-query-parser": {
-      "version": "0.2.3",
+    "node_modules/ng-packagr/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/postcss-merge-longhand": {
-      "version": "7.0.5",
+    "node_modules/nice-try": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+      "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/nitropack": {
+      "version": "2.13.1",
+      "resolved": "https://registry.npmjs.org/nitropack/-/nitropack-2.13.1.tgz",
+      "integrity": "sha512-2dDj89C4wC2uzG7guF3CnyG+zwkZosPEp7FFBGHB3AJo11AywOolWhyQJFHDzve8COvGxJaqscye9wW2IrUsNw==",
       "license": "MIT",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0",
-        "stylehacks": "^7.0.5"
+        "@cloudflare/kv-asset-handler": "^0.4.2",
+        "@rollup/plugin-alias": "^6.0.0",
+        "@rollup/plugin-commonjs": "^29.0.0",
+        "@rollup/plugin-inject": "^5.0.5",
+        "@rollup/plugin-json": "^6.1.0",
+        "@rollup/plugin-node-resolve": "^16.0.3",
+        "@rollup/plugin-replace": "^6.0.3",
+        "@rollup/plugin-terser": "^0.4.4",
+        "@vercel/nft": "^1.2.0",
+        "archiver": "^7.0.1",
+        "c12": "^3.3.3",
+        "chokidar": "^5.0.0",
+        "citty": "^0.1.6",
+        "compatx": "^0.2.0",
+        "confbox": "^0.2.2",
+        "consola": "^3.4.2",
+        "cookie-es": "^2.0.0",
+        "croner": "^9.1.0",
+        "crossws": "^0.3.5",
+        "db0": "^0.3.4",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "dot-prop": "^10.1.0",
+        "esbuild": "^0.27.2",
+        "escape-string-regexp": "^5.0.0",
+        "etag": "^1.8.1",
+        "exsolve": "^1.0.8",
+        "globby": "^16.1.0",
+        "gzip-size": "^7.0.0",
+        "h3": "^1.15.5",
+        "hookable": "^5.5.3",
+        "httpxy": "^0.1.7",
+        "ioredis": "^5.9.1",
+        "jiti": "^2.6.1",
+        "klona": "^2.0.6",
+        "knitwork": "^1.3.0",
+        "listhen": "^1.9.0",
+        "magic-string": "^0.30.21",
+        "magicast": "^0.5.1",
+        "mime": "^4.1.0",
+        "mlly": "^1.8.0",
+        "node-fetch-native": "^1.6.7",
+        "node-mock-http": "^1.0.4",
+        "ofetch": "^1.5.1",
+        "ohash": "^2.0.11",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.0.0",
+        "pkg-types": "^2.3.0",
+        "pretty-bytes": "^7.1.0",
+        "radix3": "^1.1.2",
+        "rollup": "^4.55.1",
+        "rollup-plugin-visualizer": "^6.0.5",
+        "scule": "^1.3.0",
+        "semver": "^7.7.3",
+        "serve-placeholder": "^2.0.2",
+        "serve-static": "^2.2.1",
+        "source-map": "^0.7.6",
+        "std-env": "^3.10.0",
+        "ufo": "^1.6.3",
+        "ultrahtml": "^1.6.0",
+        "uncrypto": "^0.1.3",
+        "unctx": "^2.5.0",
+        "unenv": "^2.0.0-rc.24",
+        "unimport": "^5.6.0",
+        "unplugin-utils": "^0.3.1",
+        "unstorage": "^1.17.4",
+        "untyped": "^2.0.0",
+        "unwasm": "^0.5.3",
+        "youch": "^4.1.0-beta.13",
+        "youch-core": "^0.3.3"
+      },
+      "bin": {
+        "nitro": "dist/cli/index.mjs",
+        "nitropack": "dist/cli/index.mjs"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": "^20.19.0 || >=22.12.0"
       },
       "peerDependencies": {
-        "postcss": "^8.4.32"
+        "xml2js": "^0.6.2"
+      },
+      "peerDependenciesMeta": {
+        "xml2js": {
+          "optional": true
+        }
       }
     },
-    "node_modules/postcss-merge-rules": {
-      "version": "7.0.5",
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.24.5",
-        "caniuse-api": "^3.0.0",
-        "cssnano-utils": "^5.0.1",
-        "postcss-selector-parser": "^7.1.0"
-      },
+    "node_modules/nitropack/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/nitropack/node_modules/escape-string-regexp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
+      "license": "MIT",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/postcss-merge-rules/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/nitropack/node_modules/mime": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/mime/-/mime-4.1.0.tgz",
+      "integrity": "sha512-X5ju04+cAzsojXKes0B/S4tcYtFAJ6tTMuSPBEn9CPGlrWr8Fiw7qYeLT0XyH80HSoAoqWCaz+MWKh22P7G1cw==",
+      "funding": [
+        "https://github.com/sponsors/broofa"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+      "bin": {
+        "mime": "bin/cli.js"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=16"
       }
     },
-    "node_modules/postcss-minify-font-values": {
-      "version": "7.0.1",
+    "node_modules/nitropack/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": ">=12"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/postcss-minify-gradients": {
-      "version": "7.0.1",
+    "node_modules/nitropack/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "colord": "^2.9.3",
-        "cssnano-utils": "^5.0.1",
-        "postcss-value-parser": "^4.2.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/nitropack/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">=10"
       }
     },
-    "node_modules/postcss-minify-params": {
-      "version": "7.0.3",
+    "node_modules/nitropack/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
+    "node_modules/nitropack/node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
       "license": "MIT",
       "dependencies": {
-        "browserslist": "^4.24.5",
-        "cssnano-utils": "^5.0.1",
-        "postcss-value-parser": "^4.2.0"
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": ">=20.19.0"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/postcss-minify-selectors": {
-      "version": "7.0.5",
+    "node_modules/node-addon-api": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz",
+      "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true
+    },
+    "node_modules/node-fetch": {
+      "version": "2.7.0",
+      "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+      "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
       "license": "MIT",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "postcss-selector-parser": "^7.1.0"
+        "whatwg-url": "^5.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": "4.x || >=6.0.0"
       },
       "peerDependencies": {
-        "postcss": "^8.4.32"
+        "encoding": "^0.1.0"
+      },
+      "peerDependenciesMeta": {
+        "encoding": {
+          "optional": true
+        }
       }
     },
-    "node_modules/postcss-minify-selectors/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/node-fetch-native": {
+      "version": "1.6.7",
+      "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz",
+      "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==",
+      "license": "MIT"
+    },
+    "node_modules/node-fetch/node_modules/tr46": {
+      "version": "0.0.3",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+      "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==",
+      "license": "MIT"
+    },
+    "node_modules/node-fetch/node_modules/webidl-conversions": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+      "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==",
+      "license": "BSD-2-Clause"
+    },
+    "node_modules/node-fetch/node_modules/whatwg-url": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+      "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
       "license": "MIT",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      },
-      "engines": {
-        "node": ">=4"
+        "tr46": "~0.0.3",
+        "webidl-conversions": "^3.0.0"
       }
     },
-    "node_modules/postcss-modules-extract-imports": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/node-forge": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz",
+      "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==",
+      "license": "(BSD-3-Clause OR GPL-2.0)",
       "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+        "node": ">= 6.13.0"
       }
     },
-    "node_modules/postcss-modules-local-by-default": {
-      "version": "4.2.0",
+    "node_modules/node-gyp": {
+      "version": "12.1.0",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.1.0.tgz",
+      "integrity": "sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "icss-utils": "^5.0.0",
-        "postcss-selector-parser": "^7.0.0",
-        "postcss-value-parser": "^4.1.0"
+        "env-paths": "^2.2.0",
+        "exponential-backoff": "^3.1.1",
+        "graceful-fs": "^4.2.6",
+        "make-fetch-happen": "^15.0.0",
+        "nopt": "^9.0.0",
+        "proc-log": "^6.0.0",
+        "semver": "^7.3.5",
+        "tar": "^7.5.2",
+        "tinyglobby": "^0.2.12",
+        "which": "^6.0.0"
       },
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
+      "bin": {
+        "node-gyp": "bin/node-gyp.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/node-gyp-build": {
+      "version": "4.8.4",
+      "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz",
+      "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==",
+      "license": "MIT",
+      "bin": {
+        "node-gyp-build": "bin.js",
+        "node-gyp-build-optional": "optional.js",
+        "node-gyp-build-test": "build-test.js"
+      }
+    },
+    "node_modules/node-gyp-build-optional-packages": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
+      "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
       "dev": true,
       "license": "MIT",
+      "optional": true,
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "detect-libc": "^2.0.1"
       },
-      "engines": {
-        "node": ">=4"
+      "bin": {
+        "node-gyp-build-optional-packages": "bin.js",
+        "node-gyp-build-optional-packages-optional": "optional.js",
+        "node-gyp-build-optional-packages-test": "build-test.js"
       }
     },
-    "node_modules/postcss-modules-scope": {
-      "version": "3.2.1",
+    "node_modules/node-gyp/node_modules/abbrev": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-4.0.0.tgz",
+      "integrity": "sha512-a1wflyaL0tHtJSmLSOVybYhy22vRih4eduhhrkcjgrWGnRfrZtovJ2FRjxuTtkkj47O/baf0R86QU5OuYpz8fA==",
       "dev": true,
       "license": "ISC",
-      "dependencies": {
-        "postcss-selector-parser": "^7.0.0"
-      },
       "engines": {
-        "node": "^10 || ^12 || >= 14"
-      },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/node-gyp/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">=4"
+        "node": ">=16"
       }
     },
-    "node_modules/postcss-modules-values": {
-      "version": "4.0.0",
+    "node_modules/node-gyp/node_modules/nopt": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-9.0.0.tgz",
+      "integrity": "sha512-Zhq3a+yFKrYwSBluL4H9XP3m3y5uvQkB/09CwDruCiRmR/UJYnn9W4R48ry0uGC70aeTPKLynBtscP9efFFcPw==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
-        "icss-utils": "^5.0.0"
+        "abbrev": "^4.0.0"
       },
-      "engines": {
-        "node": "^10 || ^12 || >= 14"
+      "bin": {
+        "nopt": "bin/nopt.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.1.0"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-normalize-charset": {
-      "version": "7.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+    "node_modules/node-gyp/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/postcss-normalize-display-values": {
-      "version": "7.0.1",
-      "license": "MIT",
+    "node_modules/node-gyp/node_modules/which": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+      "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
+        "isexe": "^3.1.1"
       },
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      "bin": {
+        "node-which": "bin/which.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-normalize-positions": {
-      "version": "7.0.1",
+    "node_modules/node-html-parser": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-7.0.2.tgz",
+      "integrity": "sha512-DxodLVh7a6JMkYzWyc8nBX9MaF4M0lLFYkJHlWOiu7+9/I6mwNK9u5TbAMC7qfqDJEPX9OIoWA2A9t4C2l1mUQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "css-select": "^5.1.0",
+        "he": "1.2.0"
       }
     },
-    "node_modules/postcss-normalize-repeat-style": {
-      "version": "7.0.1",
-      "license": "MIT",
+    "node_modules/node-html-parser/node_modules/css-select": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+      "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
+        "boolbase": "^1.0.0",
+        "css-what": "^6.1.0",
+        "domhandler": "^5.0.2",
+        "domutils": "^3.0.1",
+        "nth-check": "^2.0.1"
       },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
+      }
+    },
+    "node_modules/node-html-parser/node_modules/css-what": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
+      "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+        "node": ">= 6"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/postcss-normalize-string": {
-      "version": "7.0.1",
+    "node_modules/node-int64": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+      "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/node-mock-http": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz",
+      "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==",
+      "license": "MIT"
+    },
+    "node_modules/node-releases": {
+      "version": "2.0.27",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz",
+      "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==",
+      "license": "MIT"
+    },
+    "node_modules/non-layered-tidy-tree-layout": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz",
+      "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==",
+      "dev": true,
       "license": "MIT",
+      "optional": true
+    },
+    "node_modules/nopt": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz",
+      "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==",
+      "license": "ISC",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
+        "abbrev": "^3.0.0"
       },
-      "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      "bin": {
+        "nopt": "bin/nopt.js"
       },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+      "engines": {
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/postcss-normalize-timing-functions": {
-      "version": "7.0.1",
+    "node_modules/normalize-path": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+      "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
       "license": "MIT",
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/postcss-normalize-unicode": {
-      "version": "7.0.3",
-      "license": "MIT",
+    "node_modules/npm-bundled": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz",
+      "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "browserslist": "^4.24.5",
-        "postcss-value-parser": "^4.2.0"
+        "npm-normalize-package-bin": "^5.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-normalize-url": {
-      "version": "7.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0"
-      },
+    "node_modules/npm-bundled/node_modules/npm-normalize-package-bin": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
+      "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-normalize-whitespace": {
-      "version": "7.0.1",
-      "license": "MIT",
+    "node_modules/npm-install-checks": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-8.0.0.tgz",
+      "integrity": "sha512-ScAUdMpyzkbpxoNekQ3tNRdFI8SJ86wgKZSQZdUxT+bj0wVFpsEMWnkXP0twVe1gJyNF5apBWDJhhIbgrIViRA==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
+        "semver": "^7.1.1"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-ordered-values": {
-      "version": "7.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "cssnano-utils": "^5.0.1",
-        "postcss-value-parser": "^4.2.0"
+    "node_modules/npm-install-checks/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">=10"
       }
     },
-    "node_modules/postcss-reduce-initial": {
-      "version": "7.0.3",
-      "license": "MIT",
-      "dependencies": {
-        "browserslist": "^4.24.5",
-        "caniuse-api": "^3.0.0"
-      },
+    "node_modules/npm-normalize-package-bin": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz",
+      "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/postcss-reduce-transforms": {
-      "version": "7.0.1",
-      "license": "MIT",
+    "node_modules/npm-package-arg": {
+      "version": "13.0.2",
+      "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.2.tgz",
+      "integrity": "sha512-IciCE3SY3uE84Ld8WZU23gAPPV9rIYod4F+rc+vJ7h7cwAJt9Vk6TVsK60ry7Uj3SRS3bqRRIGuTp9YVlk6WNA==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "postcss-value-parser": "^4.2.0"
+        "hosted-git-info": "^9.0.0",
+        "proc-log": "^6.0.0",
+        "semver": "^7.3.5",
+        "validate-npm-package-name": "^7.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-selector-parser": {
-      "version": "6.1.2",
+    "node_modules/npm-package-arg/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=10"
       }
     },
-    "node_modules/postcss-svgo": {
+    "node_modules/npm-package-arg/node_modules/validate-npm-package-name": {
       "version": "7.0.2",
-      "license": "MIT",
-      "dependencies": {
-        "postcss-value-parser": "^4.2.0",
-        "svgo": "^3.3.2"
-      },
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-7.0.2.tgz",
+      "integrity": "sha512-hVDIBwsRruT73PbK7uP5ebUt+ezEtCmzZz3F59BSr2F6OVFnJ/6h8liuvdLrQ88Xmnk6/+xGGuq+pG9WwTuy3A==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >= 18"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-unique-selectors": {
-      "version": "7.0.4",
-      "license": "MIT",
+    "node_modules/npm-packlist": {
+      "version": "10.0.3",
+      "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.3.tgz",
+      "integrity": "sha512-zPukTwJMOu5X5uvm0fztwS5Zxyvmk38H/LfidkOMt3gbZVCyro2cD/ETzwzVPcWZA3JOyPznfUN/nkyFiyUbxg==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "postcss-selector-parser": "^7.1.0"
+        "ignore-walk": "^8.0.0",
+        "proc-log": "^6.0.0"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-unique-selectors/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
-      "license": "MIT",
+    "node_modules/npm-pick-manifest": {
+      "version": "11.0.3",
+      "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-11.0.3.tgz",
+      "integrity": "sha512-buzyCfeoGY/PxKqmBqn1IUJrZnUi1VVJTdSSRPGI60tJdUhUoSQFhs0zycJokDdOznQentgrpf8LayEHyyYlqQ==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "npm-install-checks": "^8.0.0",
+        "npm-normalize-package-bin": "^5.0.0",
+        "npm-package-arg": "^13.0.0",
+        "semver": "^7.3.5"
       },
       "engines": {
-        "node": ">=4"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss-value-parser": {
-      "version": "4.2.0",
-      "license": "MIT"
-    },
-    "node_modules/postcss-values-parser": {
-      "version": "6.0.2",
-      "license": "MPL-2.0",
-      "dependencies": {
-        "color-name": "^1.1.4",
-        "is-url-superb": "^4.0.0",
-        "quote-unquote": "^1.0.0"
-      },
+    "node_modules/npm-pick-manifest/node_modules/npm-normalize-package-bin": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
+      "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
-        "node": ">=10"
-      },
-      "peerDependencies": {
-        "postcss": "^8.2.9"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/postcss/node_modules/nanoid": {
-      "version": "3.3.11",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
-      "license": "MIT",
+    "node_modules/npm-pick-manifest/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "dev": true,
+      "license": "ISC",
       "bin": {
-        "nanoid": "bin/nanoid.cjs"
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+        "node": ">=10"
       }
     },
-    "node_modules/preact": {
-      "version": "10.26.9",
+    "node_modules/npm-registry-fetch": {
+      "version": "19.1.1",
+      "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-19.1.1.tgz",
+      "integrity": "sha512-TakBap6OM1w0H73VZVDf44iFXsOS3h+L4wVMXmbWOQroZgFhMch0juN6XSzBNlD965yIKvWg2dfu7NSiaYLxtw==",
       "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/preact"
+      "license": "ISC",
+      "dependencies": {
+        "@npmcli/redact": "^4.0.0",
+        "jsonparse": "^1.3.1",
+        "make-fetch-happen": "^15.0.0",
+        "minipass": "^7.0.2",
+        "minipass-fetch": "^5.0.0",
+        "minizlib": "^3.0.1",
+        "npm-package-arg": "^13.0.0",
+        "proc-log": "^6.0.0"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/precinct": {
-      "version": "12.2.0",
+    "node_modules/npm-run-all2": {
+      "version": "8.0.4",
+      "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-8.0.4.tgz",
+      "integrity": "sha512-wdbB5My48XKp2ZfJUlhnLVihzeuA1hgBnqB2J9ahV77wLS+/YAJAlN8I+X3DIFIPZ3m5L7nplmlbhNiFDmXRDA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@dependents/detective-less": "^5.0.1",
-        "commander": "^12.1.0",
-        "detective-amd": "^6.0.1",
-        "detective-cjs": "^6.0.1",
-        "detective-es6": "^5.0.1",
-        "detective-postcss": "^7.0.1",
-        "detective-sass": "^6.0.1",
-        "detective-scss": "^5.0.1",
-        "detective-stylus": "^5.0.1",
-        "detective-typescript": "^14.0.0",
-        "detective-vue2": "^2.2.0",
-        "module-definition": "^6.0.1",
-        "node-source-walk": "^7.0.1",
-        "postcss": "^8.5.1",
-        "typescript": "^5.7.3"
+        "ansi-styles": "^6.2.1",
+        "cross-spawn": "^7.0.6",
+        "memorystream": "^0.3.1",
+        "picomatch": "^4.0.2",
+        "pidtree": "^0.6.0",
+        "read-package-json-fast": "^4.0.0",
+        "shell-quote": "^1.7.3",
+        "which": "^5.0.0"
       },
       "bin": {
-        "precinct": "bin/cli.js"
+        "npm-run-all": "bin/npm-run-all/index.js",
+        "npm-run-all2": "bin/npm-run-all/index.js",
+        "run-p": "bin/run-p/index.js",
+        "run-s": "bin/run-s/index.js"
       },
       "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/precinct/node_modules/commander": {
-      "version": "12.1.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      }
-    },
-    "node_modules/prelude-ls": {
-      "version": "1.2.1",
-      "devOptional": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.8.0"
+        "node": "^20.5.0 || >=22.0.0",
+        "npm": ">= 10"
       }
     },
-    "node_modules/prettier": {
-      "version": "3.5.3",
+    "node_modules/npm-run-all2/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "prettier": "bin/prettier.cjs"
-      },
       "engines": {
-        "node": ">=14"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/prettier/prettier?sponsor=1"
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/prettier-linter-helpers": {
-      "version": "1.0.0",
+    "node_modules/npm-run-all2/node_modules/isexe": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+      "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "fast-diff": "^1.1.2"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=16"
       }
     },
-    "node_modules/pretty-bytes": {
-      "version": "6.1.1",
+    "node_modules/npm-run-all2/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": "^14.13.1 || >=16.0.0"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/pretty-format": {
-      "version": "29.7.0",
+    "node_modules/npm-run-all2/node_modules/which": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
+      "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "@jest/schemas": "^29.6.3",
-        "ansi-styles": "^5.0.0",
-        "react-is": "^18.0.0"
+        "isexe": "^3.1.1"
+      },
+      "bin": {
+        "node-which": "bin/which.js"
       },
       "engines": {
-        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/pretty-format/node_modules/ansi-styles": {
-      "version": "5.2.0",
+    "node_modules/npm-run-path": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+      "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "path-key": "^3.0.0"
+      },
       "engines": {
-        "node": ">=10"
+        "node": ">=8"
+      }
+    },
+    "node_modules/nth-check": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
+      "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
+      "license": "BSD-2-Clause",
+      "dependencies": {
+        "boolbase": "^1.0.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+        "url": "https://github.com/fb55/nth-check?sponsor=1"
       }
     },
-    "node_modules/pretty-ms": {
-      "version": "9.2.0",
-      "dev": true,
+    "node_modules/nuxt": {
+      "version": "4.3.0",
+      "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.0.tgz",
+      "integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "parse-ms": "^4.0.0"
+        "@dxup/nuxt": "^0.3.2",
+        "@nuxt/cli": "^3.32.0",
+        "@nuxt/devtools": "^3.1.1",
+        "@nuxt/kit": "4.3.0",
+        "@nuxt/nitro-server": "4.3.0",
+        "@nuxt/schema": "4.3.0",
+        "@nuxt/telemetry": "^2.6.6",
+        "@nuxt/vite-builder": "4.3.0",
+        "@unhead/vue": "^2.1.2",
+        "@vue/shared": "^3.5.27",
+        "c12": "^3.3.3",
+        "chokidar": "^5.0.0",
+        "compatx": "^0.2.0",
+        "consola": "^3.4.2",
+        "cookie-es": "^2.0.0",
+        "defu": "^6.1.4",
+        "destr": "^2.0.5",
+        "devalue": "^5.6.2",
+        "errx": "^0.1.0",
+        "escape-string-regexp": "^5.0.0",
+        "exsolve": "^1.0.8",
+        "h3": "^1.15.5",
+        "hookable": "^5.5.3",
+        "ignore": "^7.0.5",
+        "impound": "^1.0.0",
+        "jiti": "^2.6.1",
+        "klona": "^2.0.6",
+        "knitwork": "^1.3.0",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "nanotar": "^0.2.0",
+        "nypm": "^0.6.2",
+        "ofetch": "^1.5.1",
+        "ohash": "^2.0.11",
+        "on-change": "^6.0.1",
+        "oxc-minify": "^0.110.0",
+        "oxc-parser": "^0.110.0",
+        "oxc-transform": "^0.110.0",
+        "oxc-walker": "^0.7.0",
+        "pathe": "^2.0.3",
+        "perfect-debounce": "^2.0.0",
+        "pkg-types": "^2.3.0",
+        "rou3": "^0.7.12",
+        "scule": "^1.3.0",
+        "semver": "^7.7.3",
+        "std-env": "^3.10.0",
+        "tinyglobby": "^0.2.15",
+        "ufo": "^1.6.3",
+        "ultrahtml": "^1.6.0",
+        "uncrypto": "^0.1.3",
+        "unctx": "^2.5.0",
+        "unimport": "^5.6.0",
+        "unplugin": "^2.3.11",
+        "unplugin-vue-router": "^0.19.2",
+        "untyped": "^2.0.0",
+        "vue": "^3.5.27",
+        "vue-router": "^4.6.4"
+      },
+      "bin": {
+        "nuxi": "bin/nuxt.mjs",
+        "nuxt": "bin/nuxt.mjs"
       },
       "engines": {
-        "node": ">=18"
+        "node": "^20.19.0 || >=22.12.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peerDependencies": {
+        "@parcel/watcher": "^2.1.0",
+        "@types/node": ">=18.12.0"
+      },
+      "peerDependenciesMeta": {
+        "@parcel/watcher": {
+          "optional": true
+        },
+        "@types/node": {
+          "optional": true
+        }
       }
     },
-    "node_modules/proc-log": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
-      }
+    "node_modules/nuxt-app": {
+      "resolved": "examples/nuxt",
+      "link": true
     },
-    "node_modules/process": {
-      "version": "0.11.10",
+    "node_modules/nuxt/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/nuxt/node_modules/escape-string-regexp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/process-nextick-args": {
-      "version": "2.0.1",
-      "license": "MIT"
-    },
-    "node_modules/progress": {
-      "version": "2.0.3",
-      "dev": true,
+    "node_modules/nuxt/node_modules/ignore": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
       "license": "MIT",
       "engines": {
-        "node": ">=0.4.0"
+        "node": ">= 4"
       }
     },
-    "node_modules/promise-retry": {
-      "version": "2.0.1",
-      "dev": true,
+    "node_modules/nuxt/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "err-code": "^2.0.2",
-        "retry": "^0.12.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/nuxt/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
         "node": ">=10"
       }
     },
-    "node_modules/prompts": {
-      "version": "2.4.2",
+    "node_modules/nwsapi": {
+      "version": "2.2.23",
+      "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz",
+      "integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/nypm": {
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.4.tgz",
+      "integrity": "sha512-1TvCKjZyyklN+JJj2TS3P4uSQEInrM/HkkuSXsEzm1ApPgBffOn8gFguNnZf07r/1X6vlryfIqMUkJKQMzlZiw==",
       "license": "MIT",
       "dependencies": {
-        "kleur": "^3.0.3",
-        "sisteransi": "^1.0.5"
+        "citty": "^0.2.0",
+        "pathe": "^2.0.3",
+        "tinyexec": "^1.0.2"
+      },
+      "bin": {
+        "nypm": "dist/cli.mjs"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=18"
       }
     },
-    "node_modules/prop-types": {
-      "version": "15.8.1",
+    "node_modules/nypm/node_modules/citty": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.0.tgz",
+      "integrity": "sha512-8csy5IBFI2ex2hTVpaHN2j+LNE199AgiI7y4dMintrr8i0lQiFn+0AWMZrWdHKIgMOer65f8IThysYhoReqjWA==",
+      "license": "MIT"
+    },
+    "node_modules/object-assign": {
+      "version": "4.1.1",
+      "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+      "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "loose-envify": "^1.4.0",
-        "object-assign": "^4.1.1",
-        "react-is": "^16.13.1"
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/prop-types/node_modules/react-is": {
-      "version": "16.13.1",
+    "node_modules/object-inspect": {
+      "version": "1.13.4",
+      "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+      "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
       "dev": true,
       "license": "MIT",
-      "peer": true
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
-    "node_modules/property-information": {
-      "version": "7.1.0",
+    "node_modules/object-keys": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+      "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
       "dev": true,
       "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+      "engines": {
+        "node": ">= 0.4"
       }
     },
-    "node_modules/protocols": {
-      "version": "2.0.2",
-      "license": "MIT"
-    },
-    "node_modules/proxy-addr": {
-      "version": "2.0.7",
+    "node_modules/object.assign": {
+      "version": "4.1.7",
+      "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz",
+      "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "forwarded": "0.2.0",
-        "ipaddr.js": "1.9.1"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.3",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0",
+        "has-symbols": "^1.1.0",
+        "object-keys": "^1.1.1"
       },
       "engines": {
-        "node": ">= 0.10"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/proxy-addr/node_modules/ipaddr.js": {
-      "version": "1.9.1",
+    "node_modules/object.entries": {
+      "version": "1.1.9",
+      "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz",
+      "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.4",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.1.1"
+      },
       "engines": {
-        "node": ">= 0.10"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/proxy-agent": {
-      "version": "6.5.0",
+    "node_modules/object.fromentries": {
+      "version": "2.0.8",
+      "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz",
+      "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.1.2",
-        "debug": "^4.3.4",
-        "http-proxy-agent": "^7.0.1",
-        "https-proxy-agent": "^7.0.6",
-        "lru-cache": "^7.14.1",
-        "pac-proxy-agent": "^7.1.0",
-        "proxy-from-env": "^1.1.0",
-        "socks-proxy-agent": "^8.0.5"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.2",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/proxy-agent/node_modules/lru-cache": {
-      "version": "7.18.3",
+    "node_modules/object.values": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz",
+      "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.3",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/proxy-from-env": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/obug": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/obug/-/obug-2.1.1.tgz",
+      "integrity": "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ==",
+      "funding": [
+        "https://github.com/sponsors/sxzz",
+        "https://opencollective.com/debug"
+      ],
       "license": "MIT"
     },
-    "node_modules/prr": {
-      "version": "1.0.1",
-      "license": "MIT",
-      "optional": true
-    },
-    "node_modules/pump": {
-      "version": "3.0.2",
+    "node_modules/ofetch": {
+      "version": "1.5.1",
+      "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz",
+      "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==",
       "license": "MIT",
       "dependencies": {
-        "end-of-stream": "^1.1.0",
-        "once": "^1.3.1"
+        "destr": "^2.0.5",
+        "node-fetch-native": "^1.6.7",
+        "ufo": "^1.6.1"
       }
     },
-    "node_modules/punycode": {
-      "version": "2.3.1",
-      "devOptional": true,
+    "node_modules/ohash": {
+      "version": "2.0.11",
+      "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz",
+      "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==",
+      "license": "MIT"
+    },
+    "node_modules/on-change": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/on-change/-/on-change-6.0.1.tgz",
+      "integrity": "sha512-P7o0hkMahOhjb1niG28vLNAXsJrRcfpJvYWcTmPt/Tf4xedcF2PA1E9++N1tufY8/vIsaiJgHhjQp53hJCe+zw==",
       "license": "MIT",
       "engines": {
-        "node": ">=6"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sindresorhus/on-change?sponsor=1"
       }
     },
-    "node_modules/puppeteer": {
-      "version": "20.9.0",
-      "dev": true,
-      "hasInstallScript": true,
-      "license": "Apache-2.0",
+    "node_modules/on-finished": {
+      "version": "2.4.1",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
+      "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
+      "license": "MIT",
       "dependencies": {
-        "@puppeteer/browsers": "1.4.6",
-        "cosmiconfig": "8.2.0",
-        "puppeteer-core": "20.9.0"
+        "ee-first": "1.1.1"
       },
       "engines": {
-        "node": ">=16.3.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/puppeteer-core": {
-      "version": "21.11.0",
+    "node_modules/once": {
+      "version": "1.4.0",
+      "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+      "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "ISC",
       "dependencies": {
-        "@puppeteer/browsers": "1.9.1",
-        "chromium-bidi": "0.5.8",
-        "cross-fetch": "4.0.0",
-        "debug": "4.3.4",
-        "devtools-protocol": "0.0.1232444",
-        "ws": "8.16.0"
-      },
-      "engines": {
-        "node": ">=16.13.2"
+        "wrappy": "1"
       }
     },
-    "node_modules/puppeteer-core/node_modules/@puppeteer/browsers": {
-      "version": "1.9.1",
+    "node_modules/onetime": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+      "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "dependencies": {
-        "debug": "4.3.4",
-        "extract-zip": "2.0.1",
-        "progress": "2.0.3",
-        "proxy-agent": "6.3.1",
-        "tar-fs": "3.0.4",
-        "unbzip2-stream": "1.4.3",
-        "yargs": "17.7.2"
-      },
-      "bin": {
-        "browsers": "lib/cjs/main-cli.js"
+        "mimic-fn": "^2.1.0"
       },
       "engines": {
-        "node": ">=16.3.0"
+        "node": ">=6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer-core/node_modules/debug": {
-      "version": "4.3.4",
+    "node_modules/oniguruma-to-es": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz",
+      "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ms": "2.1.2"
+        "emoji-regex-xs": "^1.0.0",
+        "regex": "^6.0.1",
+        "regex-recursion": "^6.0.2"
+      }
+    },
+    "node_modules/open": {
+      "version": "8.4.2",
+      "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
+      "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
+      "license": "MIT",
+      "dependencies": {
+        "define-lazy-prop": "^2.0.0",
+        "is-docker": "^2.1.1",
+        "is-wsl": "^2.2.0"
       },
       "engines": {
-        "node": ">=6.0"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer-core/node_modules/devtools-protocol": {
-      "version": "0.0.1232444",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/puppeteer-core/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/open/node_modules/is-docker": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
+      "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
+      "license": "MIT",
+      "bin": {
+        "is-docker": "cli.js"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">=8"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer-core/node_modules/ms": {
-      "version": "2.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/puppeteer-core/node_modules/proxy-agent": {
-      "version": "6.3.1",
-      "dev": true,
+    "node_modules/open/node_modules/is-wsl": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
+      "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.0.2",
-        "debug": "^4.3.4",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.2",
-        "lru-cache": "^7.14.1",
-        "pac-proxy-agent": "^7.0.1",
-        "proxy-from-env": "^1.1.0",
-        "socks-proxy-agent": "^8.0.2"
+        "is-docker": "^2.0.0"
       },
       "engines": {
-        "node": ">= 14"
+        "node": ">=8"
       }
     },
-    "node_modules/puppeteer-core/node_modules/tar-fs": {
-      "version": "3.0.4",
-      "dev": true,
+    "node_modules/optionator": {
+      "version": "0.9.4",
+      "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
+      "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==",
+      "devOptional": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
+        "deep-is": "^0.1.3",
+        "fast-levenshtein": "^2.0.6",
+        "levn": "^0.4.1",
+        "prelude-ls": "^1.2.1",
+        "type-check": "^0.4.0",
+        "word-wrap": "^1.2.5"
+      },
+      "engines": {
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/puppeteer-core/node_modules/ws": {
-      "version": "8.16.0",
+    "node_modules/ora": {
+      "version": "9.0.0",
+      "resolved": "https://registry.npmjs.org/ora/-/ora-9.0.0.tgz",
+      "integrity": "sha512-m0pg2zscbYgWbqRR6ABga5c3sZdEon7bSgjnlXC64kxtxLOyjRcbbUkLj7HFyy/FTD+P2xdBWu8snGhYI0jc4A==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=10.0.0"
+      "dependencies": {
+        "chalk": "^5.6.2",
+        "cli-cursor": "^5.0.0",
+        "cli-spinners": "^3.2.0",
+        "is-interactive": "^2.0.0",
+        "is-unicode-supported": "^2.1.0",
+        "log-symbols": "^7.0.1",
+        "stdin-discarder": "^0.2.2",
+        "string-width": "^8.1.0",
+        "strip-ansi": "^7.1.2"
       },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": ">=5.0.2"
+      "engines": {
+        "node": ">=20"
       },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer/node_modules/@puppeteer/browsers": {
-      "version": "1.4.6",
+    "node_modules/ora/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "debug": "4.3.4",
-        "extract-zip": "2.0.1",
-        "progress": "2.0.3",
-        "proxy-agent": "6.3.0",
-        "tar-fs": "3.0.4",
-        "unbzip2-stream": "1.4.3",
-        "yargs": "17.7.1"
-      },
-      "bin": {
-        "browsers": "lib/cjs/main-cli.js"
-      },
+      "license": "MIT",
       "engines": {
-        "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/puppeteer/node_modules/chromium-bidi": {
-      "version": "0.4.16",
+    "node_modules/ora/node_modules/chalk": {
+      "version": "5.6.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+      "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "mitt": "3.0.0"
+      "license": "MIT",
+      "engines": {
+        "node": "^12.17.0 || ^14.13 || >=16.0.0"
       },
-      "peerDependencies": {
-        "devtools-protocol": "*"
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/puppeteer/node_modules/cosmiconfig": {
-      "version": "8.2.0",
+    "node_modules/ora/node_modules/string-width": {
+      "version": "8.1.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
+      "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "import-fresh": "^3.2.1",
-        "js-yaml": "^4.1.0",
-        "parse-json": "^5.0.0",
-        "path-type": "^4.0.0"
+        "get-east-asian-width": "^1.3.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">=14"
+        "node": ">=20"
       },
       "funding": {
-        "url": "https://github.com/sponsors/d-fischer"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer/node_modules/debug": {
-      "version": "4.3.4",
+    "node_modules/ora/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ms": "2.1.2"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">=6.0"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/puppeteer/node_modules/devtools-protocol": {
-      "version": "0.0.1147663",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/puppeteer/node_modules/emoji-regex": {
-      "version": "8.0.0",
+    "node_modules/ordered-binary": {
+      "version": "1.6.1",
+      "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.1.tgz",
+      "integrity": "sha512-QkCdPooczexPLiXIrbVOPYkR3VO3T6v2OyKRkR1Xbhpy7/LAVXwahnRCgRp78Oe/Ehf0C/HATAxfSr6eA1oX+w==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "optional": true
     },
-    "node_modules/puppeteer/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
+    "node_modules/own-keys": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz",
+      "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "get-intrinsic": "^1.2.6",
+        "object-keys": "^1.1.1",
+        "safe-push-apply": "^1.0.0"
+      },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/puppeteer/node_modules/lru-cache": {
-      "version": "7.18.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/oxc-minify": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/oxc-minify/-/oxc-minify-0.110.0.tgz",
+      "integrity": "sha512-KWGTzPo83QmGrXC4ml83PM9HDwUPtZFfasiclUvTV4i3/0j7xRRqINVkrL77CbQnoWura3CMxkRofjQKVDuhBw==",
+      "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/Boshen"
+      },
+      "optionalDependencies": {
+        "@oxc-minify/binding-android-arm-eabi": "0.110.0",
+        "@oxc-minify/binding-android-arm64": "0.110.0",
+        "@oxc-minify/binding-darwin-arm64": "0.110.0",
+        "@oxc-minify/binding-darwin-x64": "0.110.0",
+        "@oxc-minify/binding-freebsd-x64": "0.110.0",
+        "@oxc-minify/binding-linux-arm-gnueabihf": "0.110.0",
+        "@oxc-minify/binding-linux-arm-musleabihf": "0.110.0",
+        "@oxc-minify/binding-linux-arm64-gnu": "0.110.0",
+        "@oxc-minify/binding-linux-arm64-musl": "0.110.0",
+        "@oxc-minify/binding-linux-ppc64-gnu": "0.110.0",
+        "@oxc-minify/binding-linux-riscv64-gnu": "0.110.0",
+        "@oxc-minify/binding-linux-riscv64-musl": "0.110.0",
+        "@oxc-minify/binding-linux-s390x-gnu": "0.110.0",
+        "@oxc-minify/binding-linux-x64-gnu": "0.110.0",
+        "@oxc-minify/binding-linux-x64-musl": "0.110.0",
+        "@oxc-minify/binding-openharmony-arm64": "0.110.0",
+        "@oxc-minify/binding-wasm32-wasi": "0.110.0",
+        "@oxc-minify/binding-win32-arm64-msvc": "0.110.0",
+        "@oxc-minify/binding-win32-ia32-msvc": "0.110.0",
+        "@oxc-minify/binding-win32-x64-msvc": "0.110.0"
       }
     },
-    "node_modules/puppeteer/node_modules/mitt": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/puppeteer/node_modules/ms": {
-      "version": "2.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/puppeteer/node_modules/path-type": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/oxc-parser": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/oxc-parser/-/oxc-parser-0.110.0.tgz",
+      "integrity": "sha512-GijUR3K1Ln/QwMyYXRsBtOyzqGaCs9ce5pOug1UtrMg8dSiE7VuuRuIcyYD4nyJbasat3K0YljiKt/PSFPdSBA==",
+      "license": "MIT",
+      "dependencies": {
+        "@oxc-project/types": "^0.110.0"
+      },
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/Boshen"
+      },
+      "optionalDependencies": {
+        "@oxc-parser/binding-android-arm-eabi": "0.110.0",
+        "@oxc-parser/binding-android-arm64": "0.110.0",
+        "@oxc-parser/binding-darwin-arm64": "0.110.0",
+        "@oxc-parser/binding-darwin-x64": "0.110.0",
+        "@oxc-parser/binding-freebsd-x64": "0.110.0",
+        "@oxc-parser/binding-linux-arm-gnueabihf": "0.110.0",
+        "@oxc-parser/binding-linux-arm-musleabihf": "0.110.0",
+        "@oxc-parser/binding-linux-arm64-gnu": "0.110.0",
+        "@oxc-parser/binding-linux-arm64-musl": "0.110.0",
+        "@oxc-parser/binding-linux-ppc64-gnu": "0.110.0",
+        "@oxc-parser/binding-linux-riscv64-gnu": "0.110.0",
+        "@oxc-parser/binding-linux-riscv64-musl": "0.110.0",
+        "@oxc-parser/binding-linux-s390x-gnu": "0.110.0",
+        "@oxc-parser/binding-linux-x64-gnu": "0.110.0",
+        "@oxc-parser/binding-linux-x64-musl": "0.110.0",
+        "@oxc-parser/binding-openharmony-arm64": "0.110.0",
+        "@oxc-parser/binding-wasm32-wasi": "0.110.0",
+        "@oxc-parser/binding-win32-arm64-msvc": "0.110.0",
+        "@oxc-parser/binding-win32-ia32-msvc": "0.110.0",
+        "@oxc-parser/binding-win32-x64-msvc": "0.110.0"
+      }
+    },
+    "node_modules/oxc-parser/node_modules/@oxc-parser/binding-linux-x64-gnu": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/@oxc-parser/binding-linux-x64-gnu/-/binding-linux-x64-gnu-0.110.0.tgz",
+      "integrity": "sha512-+e6ws5JLpFehdK+wh6q8icx1iM3Ao+9dtItVWFcRiXxSvGcIlS9viWcMvXKrmcsyVDUf81dnvuMSBigNslxhIQ==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=8"
+        "node": "^20.19.0 || >=22.12.0"
       }
     },
-    "node_modules/puppeteer/node_modules/proxy-agent": {
-      "version": "6.3.0",
-      "dev": true,
+    "node_modules/oxc-transform": {
+      "version": "0.110.0",
+      "resolved": "https://registry.npmjs.org/oxc-transform/-/oxc-transform-0.110.0.tgz",
+      "integrity": "sha512-/fymQNzzUoKZweH0nC5yvbI2eR0yWYusT9TEKDYVgOgYrf9Qmdez9lUFyvxKR9ycx+PTHi/reIOzqf3wkShQsw==",
+      "license": "MIT",
+      "engines": {
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/Boshen"
+      },
+      "optionalDependencies": {
+        "@oxc-transform/binding-android-arm-eabi": "0.110.0",
+        "@oxc-transform/binding-android-arm64": "0.110.0",
+        "@oxc-transform/binding-darwin-arm64": "0.110.0",
+        "@oxc-transform/binding-darwin-x64": "0.110.0",
+        "@oxc-transform/binding-freebsd-x64": "0.110.0",
+        "@oxc-transform/binding-linux-arm-gnueabihf": "0.110.0",
+        "@oxc-transform/binding-linux-arm-musleabihf": "0.110.0",
+        "@oxc-transform/binding-linux-arm64-gnu": "0.110.0",
+        "@oxc-transform/binding-linux-arm64-musl": "0.110.0",
+        "@oxc-transform/binding-linux-ppc64-gnu": "0.110.0",
+        "@oxc-transform/binding-linux-riscv64-gnu": "0.110.0",
+        "@oxc-transform/binding-linux-riscv64-musl": "0.110.0",
+        "@oxc-transform/binding-linux-s390x-gnu": "0.110.0",
+        "@oxc-transform/binding-linux-x64-gnu": "0.110.0",
+        "@oxc-transform/binding-linux-x64-musl": "0.110.0",
+        "@oxc-transform/binding-openharmony-arm64": "0.110.0",
+        "@oxc-transform/binding-wasm32-wasi": "0.110.0",
+        "@oxc-transform/binding-win32-arm64-msvc": "0.110.0",
+        "@oxc-transform/binding-win32-ia32-msvc": "0.110.0",
+        "@oxc-transform/binding-win32-x64-msvc": "0.110.0"
+      }
+    },
+    "node_modules/oxc-walker": {
+      "version": "0.7.0",
+      "resolved": "https://registry.npmjs.org/oxc-walker/-/oxc-walker-0.7.0.tgz",
+      "integrity": "sha512-54B4KUhrzbzc4sKvKwVYm7E2PgeROpGba0/2nlNZMqfDyca+yOor5IMb4WLGBatGDT0nkzYdYuzylg7n3YfB7A==",
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.0.2",
-        "debug": "^4.3.4",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.0",
-        "lru-cache": "^7.14.1",
-        "pac-proxy-agent": "^7.0.0",
-        "proxy-from-env": "^1.1.0",
-        "socks-proxy-agent": "^8.0.1"
+        "magic-regexp": "^0.10.0"
       },
-      "engines": {
-        "node": ">= 14"
+      "peerDependencies": {
+        "oxc-parser": ">=0.98.0"
       }
     },
-    "node_modules/puppeteer/node_modules/puppeteer-core": {
-      "version": "20.9.0",
+    "node_modules/p-finally": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+      "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==",
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@puppeteer/browsers": "1.4.6",
-        "chromium-bidi": "0.4.16",
-        "cross-fetch": "4.0.0",
-        "debug": "4.3.4",
-        "devtools-protocol": "0.0.1147663",
-        "ws": "8.13.0"
-      },
+      "license": "MIT",
       "engines": {
-        "node": ">=16.3.0"
-      },
-      "peerDependencies": {
-        "typescript": ">= 4.7.4"
-      },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+        "node": ">=4"
       }
     },
-    "node_modules/puppeteer/node_modules/string-width": {
-      "version": "4.2.3",
-      "dev": true,
+    "node_modules/p-limit": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+      "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "yocto-queue": "^0.1.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer/node_modules/tar-fs": {
-      "version": "3.0.4",
-      "dev": true,
+    "node_modules/p-locate": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+      "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
+        "p-limit": "^3.0.2"
+      },
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer/node_modules/ws": {
-      "version": "8.13.0",
+    "node_modules/p-map": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+      "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=10.0.0"
-      },
-      "peerDependencies": {
-        "bufferutil": "^4.0.1",
-        "utf-8-validate": ">=5.0.2"
+        "node": ">=18"
       },
-      "peerDependenciesMeta": {
-        "bufferutil": {
-          "optional": true
-        },
-        "utf-8-validate": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/puppeteer/node_modules/yargs": {
-      "version": "17.7.1",
+    "node_modules/p-try": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+      "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "cliui": "^8.0.1",
-        "escalade": "^3.1.1",
-        "get-caller-file": "^2.0.5",
-        "require-directory": "^2.1.1",
-        "string-width": "^4.2.3",
-        "y18n": "^5.0.5",
-        "yargs-parser": "^21.1.1"
-      },
       "engines": {
-        "node": ">=12"
+        "node": ">=6"
       }
     },
-    "node_modules/puppeteer/node_modules/yargs-parser": {
-      "version": "21.1.1",
+    "node_modules/pac-proxy-agent": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.2.0.tgz",
+      "integrity": "sha512-TEB8ESquiLMc0lV8vcd5Ql/JAKAoyzHFXaStwjkzpOpC5Yv+pIzLfHvjTSdf3vpa2bMiUQrg9i6276yn8666aA==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "dependencies": {
+        "@tootallnate/quickjs-emscripten": "^0.23.0",
+        "agent-base": "^7.1.2",
+        "debug": "^4.3.4",
+        "get-uri": "^6.0.1",
+        "http-proxy-agent": "^7.0.0",
+        "https-proxy-agent": "^7.0.6",
+        "pac-resolver": "^7.0.1",
+        "socks-proxy-agent": "^8.0.5"
+      },
       "engines": {
-        "node": ">=12"
+        "node": ">= 14"
       }
     },
-    "node_modules/pure-rand": {
-      "version": "6.1.0",
+    "node_modules/pac-resolver": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
+      "integrity": "sha512-5NPgf87AT2STgwa2ntRMr45jTKrYBGkVU36yT0ig/n/GMAa3oPqhZfIQ2kMEimReg0+t9kZViDVZ83qfVUlckg==",
       "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/dubzzz"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/fast-check"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/qs": {
-      "version": "6.14.0",
-      "license": "BSD-3-Clause",
+      "license": "MIT",
       "dependencies": {
-        "side-channel": "^1.1.0"
+        "degenerator": "^5.0.0",
+        "netmask": "^2.0.2"
       },
       "engines": {
-        "node": ">=0.6"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">= 14"
       }
     },
-    "node_modules/quansync": {
-      "version": "0.2.10",
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/antfu"
-        },
-        {
-          "type": "individual",
-          "url": "https://github.com/sponsors/sxzz"
-        }
-      ],
+    "node_modules/package-json-from-dist": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+      "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+      "license": "BlueOak-1.0.0"
+    },
+    "node_modules/package-manager-detector": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz",
+      "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==",
       "license": "MIT"
     },
-    "node_modules/query-registry": {
-      "version": "3.0.1",
+    "node_modules/pacote": {
+      "version": "21.0.4",
+      "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz",
+      "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "query-string": "^9.0.0",
-        "quick-lru": "^7.0.0",
-        "url-join": "^5.0.0",
-        "validate-npm-package-name": "^5.0.1",
-        "zod": "^3.23.8",
-        "zod-package-json": "^1.0.3"
+        "@npmcli/git": "^7.0.0",
+        "@npmcli/installed-package-contents": "^4.0.0",
+        "@npmcli/package-json": "^7.0.0",
+        "@npmcli/promise-spawn": "^9.0.0",
+        "@npmcli/run-script": "^10.0.0",
+        "cacache": "^20.0.0",
+        "fs-minipass": "^3.0.0",
+        "minipass": "^7.0.2",
+        "npm-package-arg": "^13.0.0",
+        "npm-packlist": "^10.0.1",
+        "npm-pick-manifest": "^11.0.1",
+        "npm-registry-fetch": "^19.0.0",
+        "proc-log": "^6.0.0",
+        "promise-retry": "^2.0.1",
+        "sigstore": "^4.0.0",
+        "ssri": "^13.0.0",
+        "tar": "^7.4.3"
+      },
+      "bin": {
+        "pacote": "bin/index.js"
       },
       "engines": {
-        "node": ">=20"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/query-registry/node_modules/validate-npm-package-name": {
-      "version": "5.0.1",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/parent-module": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+      "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+      "devOptional": true,
+      "license": "MIT",
+      "dependencies": {
+        "callsites": "^3.0.0"
+      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=6"
       }
     },
-    "node_modules/query-selector-shadow-dom": {
-      "version": "1.0.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/query-string": {
-      "version": "9.2.0",
+    "node_modules/parse-json": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+      "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "decode-uri-component": "^0.4.1",
-        "filter-obj": "^5.1.0",
-        "split-on-first": "^3.0.0"
+        "@babel/code-frame": "^7.0.0",
+        "error-ex": "^1.3.1",
+        "json-parse-even-better-errors": "^2.3.0",
+        "lines-and-columns": "^1.1.6"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=8"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/query-string/node_modules/filter-obj": {
-      "version": "5.1.0",
-      "dev": true,
+    "node_modules/parse-node-version": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz",
+      "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 0.10"
       }
     },
-    "node_modules/queue-microtask": {
-      "version": "1.2.3",
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT"
+    "node_modules/parse-path": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/parse-path/-/parse-path-7.1.0.tgz",
+      "integrity": "sha512-EuCycjZtfPcjWk7KTksnJ5xPMvWGA/6i4zrLYhRG0hGvC3GPU/jGUj3Cy+ZR0v30duV3e23R95T1lE2+lsndSw==",
+      "license": "MIT",
+      "dependencies": {
+        "protocols": "^2.0.0"
+      }
     },
-    "node_modules/quick-lru": {
-      "version": "7.0.1",
-      "dev": true,
+    "node_modules/parse-url": {
+      "version": "9.2.0",
+      "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-9.2.0.tgz",
+      "integrity": "sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==",
       "license": "MIT",
+      "dependencies": {
+        "@types/parse-path": "^7.0.0",
+        "parse-path": "^7.0.0"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">=14.13.0"
+      }
+    },
+    "node_modules/parse5": {
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
+      "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "entities": "^6.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/quote-unquote": {
-      "version": "1.0.0",
-      "license": "MIT"
-    },
-    "node_modules/radix3": {
-      "version": "1.1.2",
-      "license": "MIT"
-    },
-    "node_modules/randombytes": {
-      "version": "2.1.0",
+    "node_modules/parse5-html-rewriting-stream": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz",
+      "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "safe-buffer": "^5.1.0"
+        "entities": "^6.0.0",
+        "parse5": "^8.0.0",
+        "parse5-sax-parser": "^8.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/range-parser": {
-      "version": "1.2.1",
-      "license": "MIT",
+    "node_modules/parse5-html-rewriting-stream/node_modules/entities": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+      "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">= 0.6"
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
-    "node_modules/raw-body": {
-      "version": "2.5.2",
+    "node_modules/parse5-html-rewriting-stream/node_modules/parse5": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
+      "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "bytes": "3.1.2",
-        "http-errors": "2.0.0",
-        "iconv-lite": "0.4.24",
-        "unpipe": "1.0.0"
+        "entities": "^6.0.0"
       },
-      "engines": {
-        "node": ">= 0.8"
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/rc9": {
-      "version": "2.1.2",
+    "node_modules/parse5-sax-parser": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz",
+      "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "defu": "^6.1.4",
-        "destr": "^2.0.3"
+        "parse5": "^8.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/react": {
-      "version": "19.2.1",
-      "license": "MIT",
+    "node_modules/parse5-sax-parser/node_modules/entities": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+      "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
       }
     },
-    "node_modules/react-dom": {
-      "version": "19.2.1",
+    "node_modules/parse5-sax-parser/node_modules/parse5": {
+      "version": "8.0.0",
+      "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz",
+      "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "scheduler": "^0.27.0"
+        "entities": "^6.0.0"
       },
-      "peerDependencies": {
-        "react": "^19.2.1"
+      "funding": {
+        "url": "https://github.com/inikulin/parse5?sponsor=1"
       }
     },
-    "node_modules/react-is": {
-      "version": "18.3.1",
+    "node_modules/parse5/node_modules/entities": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
+      "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
       "dev": true,
-      "license": "MIT"
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">=0.12"
+      },
+      "funding": {
+        "url": "https://github.com/fb55/entities?sponsor=1"
+      }
     },
-    "node_modules/react-property": {
-      "version": "2.0.2",
+    "node_modules/parseurl": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
+      "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.8"
+      }
+    },
+    "node_modules/path-browserify": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
+      "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
       "license": "MIT"
     },
-    "node_modules/react-refresh": {
-      "version": "0.17.0",
+    "node_modules/path-data-parser": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/path-data-parser/-/path-data-parser-0.1.0.tgz",
+      "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/path-exists": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+      "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8"
       }
     },
-    "node_modules/read-package-json-fast": {
-      "version": "4.0.0",
+    "node_modules/path-is-absolute": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+      "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "json-parse-even-better-errors": "^4.0.0",
-        "npm-normalize-package-bin": "^4.0.0"
-      },
+      "license": "MIT",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/read-package-up": {
-      "version": "11.0.0",
+    "node_modules/path-key": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+      "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
       "license": "MIT",
-      "dependencies": {
-        "find-up-simple": "^1.0.0",
-        "read-pkg": "^9.0.0",
-        "type-fest": "^4.6.0"
-      },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=8"
       }
     },
-    "node_modules/read-package-up/node_modules/hosted-git-info": {
-      "version": "7.0.2",
-      "license": "ISC",
+    "node_modules/path-parse": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+      "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+      "license": "MIT"
+    },
+    "node_modules/path-scurry": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+      "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "lru-cache": "^10.0.1"
+        "lru-cache": "^11.0.0",
+        "minipass": "^7.1.2"
       },
       "engines": {
-        "node": "^16.14.0 || >=18.0.0"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/read-package-up/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "license": "ISC"
-    },
-    "node_modules/read-package-up/node_modules/normalize-package-data": {
-      "version": "6.0.2",
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "hosted-git-info": "^7.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-license": "^3.0.4"
-      },
+    "node_modules/path-scurry/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
+      "license": "BlueOak-1.0.0",
       "engines": {
-        "node": "^16.14.0 || >=18.0.0"
+        "node": "20 || >=22"
       }
     },
-    "node_modules/read-package-up/node_modules/parse-json": {
+    "node_modules/path-to-regexp": {
       "version": "8.3.0",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
+      "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
+      }
+    },
+    "node_modules/pathe": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz",
+      "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==",
+      "license": "MIT"
+    },
+    "node_modules/pend": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+      "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/perfect-debounce": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-2.1.0.tgz",
+      "integrity": "sha512-LjgdTytVFXeUgtHZr9WYViYSM/g8MkcTPYDlPa3cDqMirHjKiSZPYd6DoL7pK8AJQr+uWkQvCjHNdiMqsrJs+g==",
+      "license": "MIT"
+    },
+    "node_modules/picocolors": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+      "license": "ISC"
+    },
+    "node_modules/picomatch": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
       "license": "MIT",
-      "dependencies": {
-        "@babel/code-frame": "^7.26.2",
-        "index-to-position": "^1.1.0",
-        "type-fest": "^4.39.1"
-      },
       "engines": {
-        "node": ">=18"
+        "node": ">=8.6"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/read-package-up/node_modules/read-pkg": {
-      "version": "9.0.1",
+    "node_modules/pidtree": {
+      "version": "0.6.0",
+      "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz",
+      "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/normalize-package-data": "^2.4.3",
-        "normalize-package-data": "^6.0.0",
-        "parse-json": "^8.0.0",
-        "type-fest": "^4.6.0",
-        "unicorn-magic": "^0.1.0"
+      "bin": {
+        "pidtree": "bin/pidtree.js"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=0.10"
       }
     },
-    "node_modules/read-package-up/node_modules/type-fest": {
-      "version": "4.41.0",
-      "license": "(MIT OR CC0-1.0)",
+    "node_modules/pify": {
+      "version": "4.0.1",
+      "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
+      "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==",
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
       "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
-    "node_modules/read-package-up/node_modules/unicorn-magic": {
-      "version": "0.1.0",
+    "node_modules/pirates": {
+      "version": "4.0.7",
+      "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz",
+      "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 6"
       }
     },
-    "node_modules/read-pkg-up": {
-      "version": "10.1.0",
+    "node_modules/piscina": {
+      "version": "5.1.4",
+      "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.4.tgz",
+      "integrity": "sha512-7uU4ZnKeQq22t9AsmHGD2w4OYQGonwFnTypDypaWi7Qr2EvQIFVtG8J5D/3bE7W123Wdc9+v4CZDu5hJXVCtBg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "find-up": "^6.3.0",
-        "read-pkg": "^8.1.0",
-        "type-fest": "^4.2.0"
-      },
       "engines": {
-        "node": ">=16"
+        "node": ">=20.x"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "optionalDependencies": {
+        "@napi-rs/nice": "^1.0.4"
       }
     },
-    "node_modules/read-pkg-up/node_modules/find-up": {
-      "version": "6.3.0",
+    "node_modules/pkce-challenge": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
+      "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "locate-path": "^7.1.0",
-        "path-exists": "^5.0.0"
-      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=16.20.0"
       }
     },
-    "node_modules/read-pkg-up/node_modules/hosted-git-info": {
-      "version": "7.0.2",
+    "node_modules/pkg-dir": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+      "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "lru-cache": "^10.0.1"
+        "find-up": "^4.0.0"
       },
       "engines": {
-        "node": "^16.14.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/read-pkg-up/node_modules/json-parse-even-better-errors": {
-      "version": "3.0.2",
+    "node_modules/pkg-dir/node_modules/find-up": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+      "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "locate-path": "^5.0.0",
+        "path-exists": "^4.0.0"
+      },
       "engines": {
-        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/read-pkg-up/node_modules/lines-and-columns": {
-      "version": "2.0.4",
+    "node_modules/pkg-dir/node_modules/locate-path": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+      "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "p-locate": "^4.1.0"
+      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/read-pkg-up/node_modules/locate-path": {
-      "version": "7.2.0",
+    "node_modules/pkg-dir/node_modules/p-limit": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+      "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "p-locate": "^6.0.0"
+        "p-try": "^2.0.0"
       },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": ">=6"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/read-pkg-up/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/read-pkg-up/node_modules/normalize-package-data": {
-      "version": "6.0.2",
+    "node_modules/pkg-dir/node_modules/p-locate": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+      "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "MIT",
       "dependencies": {
-        "hosted-git-info": "^7.0.0",
-        "semver": "^7.3.5",
-        "validate-npm-package-license": "^3.0.4"
+        "p-limit": "^2.2.0"
       },
       "engines": {
-        "node": "^16.14.0 || >=18.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/read-pkg-up/node_modules/p-limit": {
-      "version": "4.0.0",
+    "node_modules/pkg-pr-new": {
+      "version": "0.0.62",
+      "resolved": "https://registry.npmjs.org/pkg-pr-new/-/pkg-pr-new-0.0.62.tgz",
+      "integrity": "sha512-K2jtf1PLCJJFDimQIpasPXDdnRTZSYPy36Ldz+QhMpLz2YN1Wi0ZQkomVt5Wi3NdBZcYuYGXekyFWfJ6fAHYjg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "yocto-queue": "^1.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "@actions/core": "^1.11.1",
+        "@jsdevtools/ez-spawn": "^3.0.4",
+        "@octokit/action": "^6.1.0",
+        "ignore": "^5.3.1",
+        "isbinaryfile": "^5.0.2",
+        "pkg-types": "^1.1.1",
+        "query-registry": "^3.0.1",
+        "tinyglobby": "^0.2.9"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "bin": {
+        "pkg-pr-new": "bin/cli.js"
       }
     },
-    "node_modules/read-pkg-up/node_modules/p-locate": {
-      "version": "6.0.0",
-      "dev": true,
+    "node_modules/pkg-types": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.3.1.tgz",
+      "integrity": "sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==",
       "license": "MIT",
       "dependencies": {
-        "p-limit": "^4.0.0"
-      },
-      "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "confbox": "^0.1.8",
+        "mlly": "^1.7.4",
+        "pathe": "^2.0.1"
       }
     },
-    "node_modules/read-pkg-up/node_modules/parse-json": {
-      "version": "7.1.1",
+    "node_modules/playwright": {
+      "version": "1.58.0",
+      "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.0.tgz",
+      "integrity": "sha512-2SVA0sbPktiIY/MCOPX8e86ehA/e+tDNq+e5Y8qjKYti2Z/JG7xnronT/TXTIkKbYGWlCbuucZ6dziEgkoEjQQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
       "dependencies": {
-        "@babel/code-frame": "^7.21.4",
-        "error-ex": "^1.3.2",
-        "json-parse-even-better-errors": "^3.0.0",
-        "lines-and-columns": "^2.0.3",
-        "type-fest": "^3.8.0"
+        "playwright-core": "1.58.0"
+      },
+      "bin": {
+        "playwright": "cli.js"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "optionalDependencies": {
+        "fsevents": "2.3.2"
       }
     },
-    "node_modules/read-pkg-up/node_modules/parse-json/node_modules/type-fest": {
-      "version": "3.13.1",
+    "node_modules/playwright-core": {
+      "version": "1.58.0",
+      "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.0.tgz",
+      "integrity": "sha512-aaoB1RWrdNi3//rOeKuMiS65UCcgOVljU46At6eFcOFPFHWtd2weHRRow6z/n+Lec0Lvu0k9ZPKJSjPugikirw==",
       "dev": true,
-      "license": "(MIT OR CC0-1.0)",
-      "engines": {
-        "node": ">=14.16"
+      "license": "Apache-2.0",
+      "peer": true,
+      "bin": {
+        "playwright-core": "cli.js"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/read-pkg-up/node_modules/path-exists": {
-      "version": "5.0.0",
+    "node_modules/playwright/node_modules/fsevents": {
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+      "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
       "dev": true,
+      "hasInstallScript": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
       }
     },
-    "node_modules/read-pkg-up/node_modules/read-pkg": {
-      "version": "8.1.0",
+    "node_modules/points-on-curve": {
+      "version": "0.2.0",
+      "resolved": "https://registry.npmjs.org/points-on-curve/-/points-on-curve-0.2.0.tgz",
+      "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/points-on-path": {
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/points-on-path/-/points-on-path-0.2.1.tgz",
+      "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/normalize-package-data": "^2.4.1",
-        "normalize-package-data": "^6.0.0",
-        "parse-json": "^7.0.0",
-        "type-fest": "^4.2.0"
-      },
-      "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "path-data-parser": "0.1.0",
+        "points-on-curve": "0.2.0"
       }
     },
-    "node_modules/read-pkg-up/node_modules/type-fest": {
-      "version": "4.41.0",
+    "node_modules/possible-typed-array-names": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
+      "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
       "dev": true,
-      "license": "(MIT OR CC0-1.0)",
+      "license": "MIT",
       "engines": {
-        "node": ">=16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/read-pkg-up/node_modules/yocto-queue": {
-      "version": "1.2.1",
-      "dev": true,
+    "node_modules/postcss": {
+      "version": "8.5.6",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+      "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/postcss/"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/postcss"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "license": "MIT",
-      "engines": {
-        "node": ">=12.20"
+      "peer": true,
+      "dependencies": {
+        "nanoid": "^3.3.11",
+        "picocolors": "^1.1.1",
+        "source-map-js": "^1.2.1"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "engines": {
+        "node": "^10 || ^12 || >=14"
       }
     },
-    "node_modules/readable-stream": {
-      "version": "4.7.0",
+    "node_modules/postcss-calc": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-10.1.1.tgz",
+      "integrity": "sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==",
       "license": "MIT",
       "dependencies": {
-        "abort-controller": "^3.0.0",
-        "buffer": "^6.0.3",
-        "events": "^3.3.0",
-        "process": "^0.11.10",
-        "string_decoder": "^1.3.0"
+        "postcss-selector-parser": "^7.0.0",
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+        "node": "^18.12 || ^20.9 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.38"
       }
     },
-    "node_modules/readdir-glob": {
-      "version": "1.1.3",
-      "license": "Apache-2.0",
+    "node_modules/postcss-colormin": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-7.0.5.tgz",
+      "integrity": "sha512-ekIBP/nwzRWhEMmIxHHbXHcMdzd1HIUzBECaj5KEdLz9DVP2HzT065sEhvOx1dkLjYW7jyD0CngThx6bpFi2fA==",
+      "license": "MIT",
       "dependencies": {
-        "minimatch": "^5.1.0"
+        "browserslist": "^4.27.0",
+        "caniuse-api": "^3.0.0",
+        "colord": "^2.9.3",
+        "postcss-value-parser": "^4.2.0"
+      },
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/readdir-glob/node_modules/brace-expansion": {
-      "version": "2.0.2",
+    "node_modules/postcss-convert-values": {
+      "version": "7.0.8",
+      "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-7.0.8.tgz",
+      "integrity": "sha512-+XNKuPfkHTCEo499VzLMYn94TiL3r9YqRE3Ty+jP7UX4qjewUONey1t7CG21lrlTLN07GtGM8MqFVp86D4uKJg==",
       "license": "MIT",
       "dependencies": {
-        "balanced-match": "^1.0.0"
+        "browserslist": "^4.27.0",
+        "postcss-value-parser": "^4.2.0"
+      },
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/readdir-glob/node_modules/minimatch": {
-      "version": "5.1.6",
-      "license": "ISC",
+    "node_modules/postcss-discard-comments": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-7.0.5.tgz",
+      "integrity": "sha512-IR2Eja8WfYgN5n32vEGSctVQ1+JARfu4UH8M7bgGh1bC+xI/obsPJXaBpQF7MAByvgwZinhpHpdrmXtvVVlKcQ==",
+      "license": "MIT",
       "dependencies": {
-        "brace-expansion": "^2.0.1"
+        "postcss-selector-parser": "^7.1.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/readdirp": {
-      "version": "4.1.2",
+    "node_modules/postcss-discard-duplicates": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-7.0.2.tgz",
+      "integrity": "sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==",
       "license": "MIT",
       "engines": {
-        "node": ">= 14.18.0"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "funding": {
-        "type": "individual",
-        "url": "https://paulmillr.com/funding/"
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/rechoir": {
-      "version": "0.6.2",
-      "dev": true,
-      "dependencies": {
-        "resolve": "^1.1.6"
+    "node_modules/postcss-discard-empty": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-7.0.1.tgz",
+      "integrity": "sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==",
+      "license": "MIT",
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
+      }
+    },
+    "node_modules/postcss-discard-overridden": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-7.0.1.tgz",
+      "integrity": "sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==",
+      "license": "MIT",
       "engines": {
-        "node": ">= 0.10"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/recursive-readdir": {
-      "version": "2.2.3",
+    "node_modules/postcss-media-query-parser": {
+      "version": "0.2.3",
+      "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz",
+      "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/postcss-merge-longhand": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-7.0.5.tgz",
+      "integrity": "sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==",
       "license": "MIT",
       "dependencies": {
-        "minimatch": "^3.0.5"
+        "postcss-value-parser": "^4.2.0",
+        "stylehacks": "^7.0.5"
       },
       "engines": {
-        "node": ">=6.0.0"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/redis-errors": {
-      "version": "1.2.0",
+    "node_modules/postcss-merge-rules": {
+      "version": "7.0.7",
+      "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-7.0.7.tgz",
+      "integrity": "sha512-njWJrd/Ms6XViwowaaCc+/vqhPG3SmXn725AGrnl+BgTuRPEacjiLEaGq16J6XirMJbtKkTwnt67SS+e2WGoew==",
       "license": "MIT",
+      "dependencies": {
+        "browserslist": "^4.27.0",
+        "caniuse-api": "^3.0.0",
+        "cssnano-utils": "^5.0.1",
+        "postcss-selector-parser": "^7.1.0"
+      },
       "engines": {
-        "node": ">=4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/redis-parser": {
-      "version": "3.0.0",
+    "node_modules/postcss-minify-font-values": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-7.0.1.tgz",
+      "integrity": "sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==",
       "license": "MIT",
       "dependencies": {
-        "redis-errors": "^1.0.0"
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/reflect-metadata": {
-      "version": "0.2.2",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
-    "node_modules/reflect.getprototypeof": {
-      "version": "1.0.10",
-      "dev": true,
+    "node_modules/postcss-minify-gradients": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-7.0.1.tgz",
+      "integrity": "sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.9",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.0.0",
-        "get-intrinsic": "^1.2.7",
-        "get-proto": "^1.0.1",
-        "which-builtin-type": "^1.2.1"
+        "colord": "^2.9.3",
+        "cssnano-utils": "^5.0.1",
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regenerate": {
-      "version": "1.4.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/regenerate-unicode-properties": {
-      "version": "10.2.0",
-      "dev": true,
+    "node_modules/postcss-minify-params": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-7.0.5.tgz",
+      "integrity": "sha512-FGK9ky02h6Ighn3UihsyeAH5XmLEE2MSGH5Tc4tXMFtEDx7B+zTG6hD/+/cT+fbF7PbYojsmmWjyTwFwW1JKQQ==",
       "license": "MIT",
       "dependencies": {
-        "regenerate": "^1.4.2"
+        "browserslist": "^4.27.0",
+        "cssnano-utils": "^5.0.1",
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regenerator-runtime": {
-      "version": "0.14.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/regex": {
-      "version": "6.0.1",
-      "dev": true,
+    "node_modules/postcss-minify-selectors": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-7.0.5.tgz",
+      "integrity": "sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==",
       "license": "MIT",
       "dependencies": {
-        "regex-utilities": "^2.3.0"
+        "cssesc": "^3.0.0",
+        "postcss-selector-parser": "^7.1.0"
+      },
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regex-parser": {
-      "version": "2.3.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/regex-recursion": {
-      "version": "6.0.2",
-      "dev": true,
+    "node_modules/postcss-normalize-charset": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-7.0.1.tgz",
+      "integrity": "sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==",
       "license": "MIT",
-      "dependencies": {
-        "regex-utilities": "^2.3.0"
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regex-utilities": {
-      "version": "2.3.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/regexp.prototype.flags": {
-      "version": "1.5.4",
-      "dev": true,
+    "node_modules/postcss-normalize-display-values": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-7.0.1.tgz",
+      "integrity": "sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "define-properties": "^1.2.1",
-        "es-errors": "^1.3.0",
-        "get-proto": "^1.0.1",
-        "gopd": "^1.2.0",
-        "set-function-name": "^2.0.2"
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regexpu-core": {
-      "version": "6.2.0",
-      "dev": true,
+    "node_modules/postcss-normalize-positions": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-7.0.1.tgz",
+      "integrity": "sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==",
       "license": "MIT",
       "dependencies": {
-        "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.2.0",
-        "regjsgen": "^0.8.0",
-        "regjsparser": "^0.12.0",
-        "unicode-match-property-ecmascript": "^2.0.0",
-        "unicode-match-property-value-ecmascript": "^2.1.0"
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regjsgen": {
-      "version": "0.8.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/regjsparser": {
-      "version": "0.12.0",
-      "dev": true,
-      "license": "BSD-2-Clause",
+    "node_modules/postcss-normalize-repeat-style": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-7.0.1.tgz",
+      "integrity": "sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==",
+      "license": "MIT",
       "dependencies": {
-        "jsesc": "~3.0.2"
+        "postcss-value-parser": "^4.2.0"
       },
-      "bin": {
-        "regjsparser": "bin/parser"
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/regjsparser/node_modules/jsesc": {
-      "version": "3.0.2",
-      "dev": true,
+    "node_modules/postcss-normalize-string": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-7.0.1.tgz",
+      "integrity": "sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==",
       "license": "MIT",
-      "bin": {
-        "jsesc": "bin/jsesc"
+      "dependencies": {
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">=6"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/remove-trailing-separator": {
-      "version": "1.1.0",
-      "license": "ISC"
-    },
-    "node_modules/replace-in-file": {
-      "version": "6.3.5",
-      "dev": true,
+    "node_modules/postcss-normalize-timing-functions": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-7.0.1.tgz",
+      "integrity": "sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==",
       "license": "MIT",
       "dependencies": {
-        "chalk": "^4.1.2",
-        "glob": "^7.2.0",
-        "yargs": "^17.2.1"
-      },
-      "bin": {
-        "replace-in-file": "bin/cli.js"
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/replace-in-file/node_modules/glob": {
-      "version": "7.2.3",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/postcss-normalize-unicode": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-7.0.5.tgz",
+      "integrity": "sha512-X6BBwiRxVaFHrb2WyBMddIeB5HBjJcAaUHyhLrM2FsxSq5TFqcHSsK7Zu1otag+o0ZphQGJewGH1tAyrD0zX1Q==",
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "browserslist": "^4.27.0",
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": "*"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/require-directory": {
-      "version": "2.1.1",
+    "node_modules/postcss-normalize-url": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-7.0.1.tgz",
+      "integrity": "sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==",
       "license": "MIT",
+      "dependencies": {
+        "postcss-value-parser": "^4.2.0"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/require-from-string": {
-      "version": "2.0.2",
-      "dev": true,
+    "node_modules/postcss-normalize-whitespace": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-7.0.1.tgz",
+      "integrity": "sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==",
       "license": "MIT",
+      "dependencies": {
+        "postcss-value-parser": "^4.2.0"
+      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/require-package-name": {
-      "version": "2.0.1",
-      "license": "MIT"
-    },
-    "node_modules/requires-port": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/resolve": {
-      "version": "1.22.10",
+    "node_modules/postcss-ordered-values": {
+      "version": "7.0.2",
+      "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-7.0.2.tgz",
+      "integrity": "sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==",
       "license": "MIT",
       "dependencies": {
-        "is-core-module": "^2.16.0",
-        "path-parse": "^1.0.7",
-        "supports-preserve-symlinks-flag": "^1.0.0"
-      },
-      "bin": {
-        "resolve": "bin/resolve"
+        "cssnano-utils": "^5.0.1",
+        "postcss-value-parser": "^4.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/resolve-alpn": {
-      "version": "1.2.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/resolve-cwd": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/postcss-reduce-initial": {
+      "version": "7.0.5",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-7.0.5.tgz",
+      "integrity": "sha512-RHagHLidG8hTZcnr4FpyMB2jtgd/OcyAazjMhoy5qmWJOx1uxKh4ntk0Pb46ajKM0rkf32lRH4C8c9qQiPR6IA==",
       "license": "MIT",
       "dependencies": {
-        "resolve-from": "^5.0.0"
+        "browserslist": "^4.27.0",
+        "caniuse-api": "^3.0.0"
       },
       "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/resolve-cwd/node_modules/resolve-from": {
-      "version": "5.0.0",
-      "dev": true,
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
+      }
+    },
+    "node_modules/postcss-reduce-transforms": {
+      "version": "7.0.1",
+      "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-7.0.1.tgz",
+      "integrity": "sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==",
       "license": "MIT",
+      "dependencies": {
+        "postcss-value-parser": "^4.2.0"
+      },
       "engines": {
-        "node": ">=8"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/resolve-from": {
-      "version": "4.0.0",
-      "devOptional": true,
+    "node_modules/postcss-selector-parser": {
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz",
+      "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==",
       "license": "MIT",
+      "dependencies": {
+        "cssesc": "^3.0.0",
+        "util-deprecate": "^1.0.2"
+      },
       "engines": {
         "node": ">=4"
       }
     },
-    "node_modules/resolve-pkg-maps": {
-      "version": "1.0.0",
-      "devOptional": true,
+    "node_modules/postcss-svgo": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-7.1.0.tgz",
+      "integrity": "sha512-KnAlfmhtoLz6IuU3Sij2ycusNs4jPW+QoFE5kuuUOK8awR6tMxZQrs5Ey3BUz7nFCzT3eqyFgqkyrHiaU2xx3w==",
       "license": "MIT",
-      "funding": {
-        "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
+      "dependencies": {
+        "postcss-value-parser": "^4.2.0",
+        "svgo": "^4.0.0"
+      },
+      "engines": {
+        "node": "^18.12.0 || ^20.9.0 || >= 18"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/resolve-url-loader": {
-      "version": "5.0.0",
-      "dev": true,
+    "node_modules/postcss-unique-selectors": {
+      "version": "7.0.4",
+      "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-7.0.4.tgz",
+      "integrity": "sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==",
       "license": "MIT",
       "dependencies": {
-        "adjust-sourcemap-loader": "^4.0.0",
-        "convert-source-map": "^1.7.0",
-        "loader-utils": "^2.0.0",
-        "postcss": "^8.2.14",
-        "source-map": "0.6.1"
+        "postcss-selector-parser": "^7.1.0"
       },
       "engines": {
-        "node": ">=12"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/resolve-url-loader/node_modules/loader-utils": {
-      "version": "2.0.4",
-      "dev": true,
+    "node_modules/postcss-value-parser": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+      "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
+      "license": "MIT"
+    },
+    "node_modules/postcss/node_modules/nanoid": {
+      "version": "3.3.11",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+      "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "license": "MIT",
-      "dependencies": {
-        "big.js": "^5.2.2",
-        "emojis-list": "^3.0.0",
-        "json5": "^2.1.2"
+      "bin": {
+        "nanoid": "bin/nanoid.cjs"
       },
       "engines": {
-        "node": ">=8.9.0"
+        "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
       }
     },
-    "node_modules/resolve-url-loader/node_modules/source-map": {
-      "version": "0.6.1",
+    "node_modules/preact": {
+      "version": "10.28.2",
+      "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.2.tgz",
+      "integrity": "sha512-lbteaWGzGHdlIuiJ0l2Jq454m6kcpI1zNje6d8MlGAFlYvP2GO4ibnat7P74Esfz4sPTdM6UxtTwh/d3pwM9JA==",
       "dev": true,
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=0.10.0"
+      "license": "MIT",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/preact"
       }
     },
-    "node_modules/resolve.exports": {
-      "version": "2.0.3",
-      "dev": true,
+    "node_modules/prelude-ls": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+      "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/responselike": {
-      "version": "3.0.0",
+    "node_modules/prettier": {
+      "version": "3.8.1",
+      "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.8.1.tgz",
+      "integrity": "sha512-UOnG6LftzbdaHZcKoPFtOcCKztrQ57WkHDeRD9t/PTQtmT0NHSeWWepj6pS0z/N7+08BHFDQVUrfmfMRcZwbMg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "lowercase-keys": "^3.0.0"
+      "peer": true,
+      "bin": {
+        "prettier": "bin/prettier.cjs"
       },
       "engines": {
-        "node": ">=14.16"
+        "node": ">=14"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/prettier/prettier?sponsor=1"
       }
     },
-    "node_modules/resq": {
-      "version": "1.11.0",
+    "node_modules/prettier-linter-helpers": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.1.tgz",
+      "integrity": "sha512-SxToR7P8Y2lWmv/kTzVLC1t/GDI2WGjMwNhLLE9qtH8Q13C+aEmuRlzDst4Up4s0Wc8sF2M+J57iB3cMLqftfg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "fast-deep-equal": "^2.0.1"
+        "fast-diff": "^1.1.2"
+      },
+      "engines": {
+        "node": ">=6.0.0"
       }
     },
-    "node_modules/resq/node_modules/fast-deep-equal": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "MIT"
+    "node_modules/pretty-bytes": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-7.1.0.tgz",
+      "integrity": "sha512-nODzvTiYVRGRqAOvE84Vk5JDPyyxsVk0/fbA/bq7RqlnhksGpset09XTxbpvLTIjoaF7K8Z8DG8yHtKGTPSYRw==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
     },
-    "node_modules/restore-cursor": {
-      "version": "5.1.0",
+    "node_modules/pretty-format": {
+      "version": "29.7.0",
+      "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+      "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "onetime": "^7.0.0",
-        "signal-exit": "^4.1.0"
+        "@jest/schemas": "^29.6.3",
+        "ansi-styles": "^5.0.0",
+        "react-is": "^18.0.0"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
       }
     },
-    "node_modules/ret": {
-      "version": "0.5.0",
+    "node_modules/pretty-format/node_modules/ansi-styles": {
+      "version": "5.2.0",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+      "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
       "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/retry": {
-      "version": "0.12.0",
+    "node_modules/proc-log": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.1.0.tgz",
+      "integrity": "sha512-iG+GYldRf2BQ0UDUAd6JQ/RwzaQy6mXmsk/IzlYyal4A4SNFw54MeH4/tLkF4I5WoWG9SQwuqWzS99jaFQHBuQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "engines": {
-        "node": ">= 4"
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/reusify": {
-      "version": "1.1.0",
+    "node_modules/process": {
+      "version": "0.11.10",
+      "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
+      "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
       "license": "MIT",
       "engines": {
-        "iojs": ">=1.0.0",
-        "node": ">=0.10.0"
+        "node": ">= 0.6.0"
       }
     },
-    "node_modules/rfdc": {
-      "version": "1.4.1",
+    "node_modules/process-nextick-args": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+      "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
       "license": "MIT"
     },
-    "node_modules/rgb2hex": {
-      "version": "0.2.5",
+    "node_modules/progress": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+      "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/rimraf": {
-      "version": "3.0.2",
-      "devOptional": true,
-      "license": "ISC",
-      "dependencies": {
-        "glob": "^7.1.3"
-      },
-      "bin": {
-        "rimraf": "bin.js"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
-      }
-    },
-    "node_modules/rimraf/node_modules/glob": {
-      "version": "7.2.3",
-      "devOptional": true,
-      "license": "ISC",
-      "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
-      },
+      "license": "MIT",
       "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": ">=0.4.0"
       }
     },
-    "node_modules/robust-predicates": {
-      "version": "3.0.2",
+    "node_modules/promise-retry": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz",
+      "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==",
       "dev": true,
-      "license": "Unlicense"
-    },
-    "node_modules/rollup": {
-      "version": "4.40.2",
       "license": "MIT",
       "dependencies": {
-        "@types/estree": "1.0.7"
-      },
-      "bin": {
-        "rollup": "dist/bin/rollup"
+        "err-code": "^2.0.2",
+        "retry": "^0.12.0"
       },
       "engines": {
-        "node": ">=18.0.0",
-        "npm": ">=8.0.0"
-      },
-      "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.40.2",
-        "@rollup/rollup-android-arm64": "4.40.2",
-        "@rollup/rollup-darwin-arm64": "4.40.2",
-        "@rollup/rollup-darwin-x64": "4.40.2",
-        "@rollup/rollup-freebsd-arm64": "4.40.2",
-        "@rollup/rollup-freebsd-x64": "4.40.2",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.40.2",
-        "@rollup/rollup-linux-arm-musleabihf": "4.40.2",
-        "@rollup/rollup-linux-arm64-gnu": "4.40.2",
-        "@rollup/rollup-linux-arm64-musl": "4.40.2",
-        "@rollup/rollup-linux-loongarch64-gnu": "4.40.2",
-        "@rollup/rollup-linux-powerpc64le-gnu": "4.40.2",
-        "@rollup/rollup-linux-riscv64-gnu": "4.40.2",
-        "@rollup/rollup-linux-riscv64-musl": "4.40.2",
-        "@rollup/rollup-linux-s390x-gnu": "4.40.2",
-        "@rollup/rollup-linux-x64-gnu": "4.40.2",
-        "@rollup/rollup-linux-x64-musl": "4.40.2",
-        "@rollup/rollup-win32-arm64-msvc": "4.40.2",
-        "@rollup/rollup-win32-ia32-msvc": "4.40.2",
-        "@rollup/rollup-win32-x64-msvc": "4.40.2",
-        "fsevents": "~2.3.2"
+        "node": ">=10"
       }
     },
-    "node_modules/rollup-plugin-visualizer": {
-      "version": "6.0.3",
+    "node_modules/prompts": {
+      "version": "2.4.2",
+      "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+      "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
       "license": "MIT",
       "dependencies": {
-        "open": "^8.0.0",
-        "picomatch": "^4.0.2",
-        "source-map": "^0.7.4",
-        "yargs": "^17.5.1"
-      },
-      "bin": {
-        "rollup-plugin-visualizer": "dist/bin/cli.js"
+        "kleur": "^3.0.3",
+        "sisteransi": "^1.0.5"
       },
       "engines": {
-        "node": ">=18"
-      },
-      "peerDependencies": {
-        "rolldown": "1.x || ^1.0.0-beta",
-        "rollup": "2.x || 3.x || 4.x"
-      },
-      "peerDependenciesMeta": {
-        "rolldown": {
-          "optional": true
-        },
-        "rollup": {
-          "optional": true
-        }
+        "node": ">= 6"
       }
     },
-    "node_modules/rollup-plugin-visualizer/node_modules/define-lazy-prop": {
-      "version": "2.0.0",
+    "node_modules/prop-types": {
+      "version": "15.8.1",
+      "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+      "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=8"
+      "dependencies": {
+        "loose-envify": "^1.4.0",
+        "object-assign": "^4.1.1",
+        "react-is": "^16.13.1"
       }
     },
-    "node_modules/rollup-plugin-visualizer/node_modules/is-docker": {
-      "version": "2.2.1",
+    "node_modules/prop-types/node_modules/react-is": {
+      "version": "16.13.1",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+      "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/property-information": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz",
+      "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==",
+      "dev": true,
       "license": "MIT",
-      "bin": {
-        "is-docker": "cli.js"
-      },
-      "engines": {
-        "node": ">=8"
-      },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/rollup-plugin-visualizer/node_modules/is-wsl": {
-      "version": "2.2.0",
+    "node_modules/protocols": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.2.tgz",
+      "integrity": "sha512-hHVTzba3wboROl0/aWRRG9dMytgH6ow//STBZh43l/wQgmMhYhOFi0EHWAPtoCz9IAUymsyP0TSBHkhgMEGNnQ==",
+      "license": "MIT"
+    },
+    "node_modules/proxy-addr": {
+      "version": "2.0.7",
+      "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
+      "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-docker": "^2.0.0"
+        "forwarded": "0.2.0",
+        "ipaddr.js": "1.9.1"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.10"
       }
     },
-    "node_modules/rollup-plugin-visualizer/node_modules/open": {
-      "version": "8.4.2",
+    "node_modules/proxy-agent": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.5.0.tgz",
+      "integrity": "sha512-TmatMXdr2KlRiA2CyDu8GqR8EjahTG3aY3nXjdzFyoZbmB8hrBsTyMezhULIXKnC0jpfjlmiZ3+EaCzoInSu/A==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "define-lazy-prop": "^2.0.0",
-        "is-docker": "^2.1.1",
-        "is-wsl": "^2.2.0"
+        "agent-base": "^7.1.2",
+        "debug": "^4.3.4",
+        "http-proxy-agent": "^7.0.1",
+        "https-proxy-agent": "^7.0.6",
+        "lru-cache": "^7.14.1",
+        "pac-proxy-agent": "^7.1.0",
+        "proxy-from-env": "^1.1.0",
+        "socks-proxy-agent": "^8.0.5"
       },
+      "engines": {
+        "node": ">= 14"
+      }
+    },
+    "node_modules/proxy-agent/node_modules/lru-cache": {
+      "version": "7.18.3",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+      "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+      "dev": true,
+      "license": "ISC",
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.40.2",
-      "cpu": [
-        "x64"
-      ],
+    "node_modules/proxy-from-env": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+      "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/prr": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz",
+      "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==",
+      "dev": true,
       "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ]
+      "optional": true
     },
-    "node_modules/roughjs": {
-      "version": "4.6.6",
+    "node_modules/pump": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz",
+      "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "hachure-fill": "^0.5.2",
-        "path-data-parser": "^0.1.0",
-        "points-on-curve": "^0.2.0",
-        "points-on-path": "^0.2.1"
+        "end-of-stream": "^1.1.0",
+        "once": "^1.3.1"
       }
     },
-    "node_modules/rrweb-cssom": {
-      "version": "0.7.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/run-applescript": {
-      "version": "7.0.0",
+    "node_modules/punycode": {
+      "version": "2.3.1",
+      "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
+      "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18"
+        "node": ">=6"
+      }
+    },
+    "node_modules/puppeteer": {
+      "version": "24.36.0",
+      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.36.0.tgz",
+      "integrity": "sha512-BD/VCyV/Uezvd6o7Fd1DmEJSxTzofAKplzDy6T9d4WbLTQ5A+06zY7VwO91ZlNU22vYE8sidVEsTpTrKc+EEnQ==",
+      "dev": true,
+      "hasInstallScript": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@puppeteer/browsers": "2.11.1",
+        "chromium-bidi": "13.0.1",
+        "cosmiconfig": "^9.0.0",
+        "devtools-protocol": "0.0.1551306",
+        "puppeteer-core": "24.36.0",
+        "typed-query-selector": "^2.12.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "bin": {
+        "puppeteer": "lib/cjs/puppeteer/node/cli.js"
+      },
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/run-async": {
-      "version": "4.0.6",
+    "node_modules/puppeteer-core": {
+      "version": "24.36.0",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.36.0.tgz",
+      "integrity": "sha512-P3Ou0MAFDCQ0dK1d9F9+8jTrg6JvXjUacgG0YkJQP4kbEnUOGokSDEMmMId5ZhXD5HwsHM202E9VwEpEjWfwxg==",
       "dev": true,
-      "license": "MIT",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "@puppeteer/browsers": "2.11.1",
+        "chromium-bidi": "13.0.1",
+        "debug": "^4.4.3",
+        "devtools-protocol": "0.0.1551306",
+        "typed-query-selector": "^2.12.0",
+        "webdriver-bidi-protocol": "0.4.0",
+        "ws": "^8.19.0"
+      },
       "engines": {
-        "node": ">=0.12.0"
+        "node": ">=18"
       }
     },
-    "node_modules/run-parallel": {
-      "version": "1.2.0",
+    "node_modules/pure-rand": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz",
+      "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==",
+      "dev": true,
       "funding": [
         {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
+          "type": "individual",
+          "url": "https://github.com/sponsors/dubzzz"
         },
         {
-          "type": "consulting",
-          "url": "https://feross.org/support"
+          "type": "opencollective",
+          "url": "https://opencollective.com/fast-check"
         }
       ],
-      "license": "MIT",
-      "dependencies": {
-        "queue-microtask": "^1.2.2"
-      }
+      "license": "MIT"
     },
-    "node_modules/rw": {
-      "version": "1.3.3",
+    "node_modules/qs": {
+      "version": "6.14.1",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
+      "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
       "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/rxjs": {
-      "version": "7.8.2",
-      "license": "Apache-2.0",
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "tslib": "^2.1.0"
+        "side-channel": "^1.1.0"
+      },
+      "engines": {
+        "node": ">=0.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/safaridriver": {
-      "version": "1.0.0",
+    "node_modules/quansync": {
+      "version": "0.2.11",
+      "resolved": "https://registry.npmjs.org/quansync/-/quansync-0.2.11.tgz",
+      "integrity": "sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==",
+      "funding": [
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/antfu"
+        },
+        {
+          "type": "individual",
+          "url": "https://github.com/sponsors/sxzz"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/query-registry": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/query-registry/-/query-registry-3.0.1.tgz",
+      "integrity": "sha512-M9RxRITi2mHMVPU5zysNjctUT8bAPx6ltEXo/ir9+qmiM47Y7f0Ir3+OxUO5OjYAWdicBQRew7RtHtqUXydqlg==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "query-string": "^9.0.0",
+        "quick-lru": "^7.0.0",
+        "url-join": "^5.0.0",
+        "validate-npm-package-name": "^5.0.1",
+        "zod": "^3.23.8",
+        "zod-package-json": "^1.0.3"
+      },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">=20"
       }
     },
-    "node_modules/safe-array-concat": {
-      "version": "1.1.3",
+    "node_modules/query-string": {
+      "version": "9.3.1",
+      "resolved": "https://registry.npmjs.org/query-string/-/query-string-9.3.1.tgz",
+      "integrity": "sha512-5fBfMOcDi5SA9qj5jZhWAcTtDfKF5WFdd2uD9nVNlbxVv1baq65aALy6qofpNEGELHvisjjasxQp7BlM9gvMzw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.2",
-        "get-intrinsic": "^1.2.6",
-        "has-symbols": "^1.1.0",
-        "isarray": "^2.0.5"
+        "decode-uri-component": "^0.4.1",
+        "filter-obj": "^5.1.0",
+        "split-on-first": "^3.0.0"
       },
       "engines": {
-        "node": ">=0.4"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/safe-buffer": {
-      "version": "5.2.1",
+    "node_modules/queue-microtask": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
       "funding": [
         {
           "type": "github",
@@ -27324,467 +23068,590 @@
       ],
       "license": "MIT"
     },
-    "node_modules/safe-push-apply": {
-      "version": "1.0.0",
+    "node_modules/quick-lru": {
+      "version": "7.3.0",
+      "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-7.3.0.tgz",
+      "integrity": "sha512-k9lSsjl36EJdK7I06v7APZCbyGT2vMTsYSRX1Q2nbYmnkBqgUhRkAuzH08Ciotteu/PLJmIF2+tti7o3C/ts2g==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "es-errors": "^1.3.0",
-        "isarray": "^2.0.5"
-      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/safe-regex-test": {
-      "version": "1.1.0",
+    "node_modules/radix3": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz",
+      "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==",
+      "license": "MIT"
+    },
+    "node_modules/randombytes": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
+      "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
+      "license": "MIT",
+      "dependencies": {
+        "safe-buffer": "^5.1.0"
+      }
+    },
+    "node_modules/range-parser": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
+      "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
+      "license": "MIT",
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/raw-body": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
+      "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "es-errors": "^1.3.0",
-        "is-regex": "^1.2.1"
+        "bytes": "~3.1.2",
+        "http-errors": "~2.0.1",
+        "iconv-lite": "~0.7.0",
+        "unpipe": "~1.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">= 0.10"
       }
     },
-    "node_modules/safe-regex2": {
-      "version": "5.0.0",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/fastify"
-        },
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/fastify"
-        }
-      ],
+    "node_modules/rc9": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/rc9/-/rc9-2.1.2.tgz",
+      "integrity": "sha512-btXCnMmRIBINM2LDZoEmOogIZU7Qe7zn4BpomSKZ/ykbLObuBdvG+mFq11DL6fjH1DRwHhrlgtYWG96bJiC7Cg==",
       "license": "MIT",
       "dependencies": {
-        "ret": "~0.5.0"
+        "defu": "^6.1.4",
+        "destr": "^2.0.3"
       }
     },
-    "node_modules/safe-stable-stringify": {
-      "version": "2.5.0",
+    "node_modules/react": {
+      "version": "19.2.3",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
+      "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
       "license": "MIT",
+      "peer": true,
       "engines": {
-        "node": ">=10"
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/react-dom": {
+      "version": "19.2.3",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
+      "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "scheduler": "^0.27.0"
+      },
+      "peerDependencies": {
+        "react": "^19.2.3"
       }
     },
-    "node_modules/safer-buffer": {
-      "version": "2.1.2",
-      "devOptional": true,
+    "node_modules/react-is": {
+      "version": "18.3.1",
+      "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz",
+      "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/sass": {
-      "version": "1.88.0",
-      "devOptional": true,
+    "node_modules/react-property": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz",
+      "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==",
+      "license": "MIT"
+    },
+    "node_modules/react-refresh": {
+      "version": "0.18.0",
+      "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.18.0.tgz",
+      "integrity": "sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "chokidar": "^4.0.0",
-        "immutable": "^5.0.2",
-        "source-map-js": ">=0.6.2 <2.0.0"
-      },
-      "bin": {
-        "sass": "sass.js"
-      },
       "engines": {
-        "node": ">=14.0.0"
-      },
-      "optionalDependencies": {
-        "@parcel/watcher": "^2.4.1"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/sass-loader": {
-      "version": "16.0.5",
-      "dev": true,
+    "node_modules/react-router": {
+      "version": "7.13.0",
+      "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.13.0.tgz",
+      "integrity": "sha512-PZgus8ETambRT17BUm/LL8lX3Of+oiLaPuVTRH3l1eLvSPpKO3AvhAEb5N7ihAFZQrYDqkvvWfFh9p0z9VsjLw==",
       "license": "MIT",
       "dependencies": {
-        "neo-async": "^2.6.2"
+        "cookie": "^1.0.1",
+        "set-cookie-parser": "^2.6.0"
       },
       "engines": {
-        "node": ">= 18.12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
+        "node": ">=20.0.0"
       },
       "peerDependencies": {
-        "@rspack/core": "0.x || 1.x",
-        "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0",
-        "sass": "^1.3.0",
-        "sass-embedded": "*",
-        "webpack": "^5.0.0"
+        "react": ">=18",
+        "react-dom": ">=18"
       },
       "peerDependenciesMeta": {
-        "@rspack/core": {
-          "optional": true
-        },
-        "node-sass": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "sass-embedded": {
-          "optional": true
-        },
-        "webpack": {
+        "react-dom": {
           "optional": true
         }
       }
     },
-    "node_modules/sax": {
-      "version": "1.4.1",
-      "license": "ISC",
-      "optional": true
-    },
-    "node_modules/saxes": {
-      "version": "6.0.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "xmlchars": "^2.2.0"
-      },
+    "node_modules/react-router/node_modules/cookie": {
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz",
+      "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==",
+      "license": "MIT",
       "engines": {
-        "node": ">=v12.22.7"
+        "node": ">=18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/scheduler": {
-      "version": "0.27.0",
-      "license": "MIT"
-    },
-    "node_modules/schema-utils": {
-      "version": "4.3.2",
-      "dev": true,
+    "node_modules/react-style-stringify": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/react-style-stringify/-/react-style-stringify-1.2.0.tgz",
+      "integrity": "sha512-88JZckqgbfXJaGcDQoTFKRmBwHBF0Ddaxz3PL9Q+vywAJruBY+NdN+ZiKSBe7r/pWtjbt0naZdtH5oNI1X3FLA==",
       "license": "MIT",
       "dependencies": {
-        "@types/json-schema": "^7.0.9",
-        "ajv": "^8.9.0",
-        "ajv-formats": "^2.1.1",
-        "ajv-keywords": "^5.1.0"
+        "@emotion/unitless": "^0.10.0"
       },
       "engines": {
-        "node": ">= 10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/schema-utils/node_modules/ajv-formats": {
-      "version": "2.1.1",
+    "node_modules/read-package-json-fast": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-4.0.0.tgz",
+      "integrity": "sha512-qpt8EwugBWDw2cgE2W+/3oxC+KTez2uSVR8JU9Q36TXPAGCaozfQUs59v4j4GFpWTaw0i6hAZSvOmu1J0uOEUg==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "ajv": "^8.0.0"
-      },
-      "peerDependencies": {
-        "ajv": "^8.0.0"
+        "json-parse-even-better-errors": "^4.0.0",
+        "npm-normalize-package-bin": "^4.0.0"
       },
-      "peerDependenciesMeta": {
-        "ajv": {
-          "optional": true
-        }
+      "engines": {
+        "node": "^18.17.0 || >=20.5.0"
       }
     },
-    "node_modules/scule": {
-      "version": "1.3.0",
-      "license": "MIT"
-    },
-    "node_modules/search-insights": {
-      "version": "2.17.3",
+    "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz",
+      "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==",
       "dev": true,
       "license": "MIT",
-      "peer": true
-    },
-    "node_modules/select-hose": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT"
+      "engines": {
+        "node": "^18.17.0 || >=20.5.0"
+      }
     },
-    "node_modules/selfsigned": {
-      "version": "2.4.1",
-      "dev": true,
+    "node_modules/readable-stream": {
+      "version": "4.7.0",
+      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz",
+      "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==",
       "license": "MIT",
       "dependencies": {
-        "@types/node-forge": "^1.3.0",
-        "node-forge": "^1"
+        "abort-controller": "^3.0.0",
+        "buffer": "^6.0.3",
+        "events": "^3.3.0",
+        "process": "^0.11.10",
+        "string_decoder": "^1.3.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
       }
     },
-    "node_modules/semver": {
-      "version": "7.7.2",
+    "node_modules/readdir-glob": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
+      "integrity": "sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==",
+      "license": "Apache-2.0",
+      "dependencies": {
+        "minimatch": "^5.1.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/brace-expansion": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+      "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+      "license": "MIT",
+      "dependencies": {
+        "balanced-match": "^1.0.0"
+      }
+    },
+    "node_modules/readdir-glob/node_modules/minimatch": {
+      "version": "5.1.6",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+      "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
       "license": "ISC",
-      "bin": {
-        "semver": "bin/semver.js"
+      "dependencies": {
+        "brace-expansion": "^2.0.1"
       },
       "engines": {
         "node": ">=10"
       }
     },
-    "node_modules/send": {
-      "version": "1.2.0",
+    "node_modules/readdirp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz",
+      "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==",
       "license": "MIT",
+      "engines": {
+        "node": ">= 20.19.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
+      }
+    },
+    "node_modules/rechoir": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+      "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==",
+      "dev": true,
       "dependencies": {
-        "debug": "^4.3.5",
-        "encodeurl": "^2.0.0",
-        "escape-html": "^1.0.3",
-        "etag": "^1.8.1",
-        "fresh": "^2.0.0",
-        "http-errors": "^2.0.0",
-        "mime-types": "^3.0.1",
-        "ms": "^2.1.3",
-        "on-finished": "^2.4.1",
-        "range-parser": "^1.2.1",
-        "statuses": "^2.0.1"
+        "resolve": "^1.1.6"
       },
       "engines": {
-        "node": ">= 18"
+        "node": ">= 0.10"
       }
     },
-    "node_modules/send/node_modules/mime-db": {
-      "version": "1.54.0",
+    "node_modules/redis-errors": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
+      "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==",
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6"
+        "node": ">=4"
       }
     },
-    "node_modules/send/node_modules/mime-types": {
-      "version": "3.0.1",
+    "node_modules/redis-parser": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
+      "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==",
       "license": "MIT",
       "dependencies": {
-        "mime-db": "^1.54.0"
+        "redis-errors": "^1.0.0"
       },
       "engines": {
-        "node": ">= 0.6"
+        "node": ">=4"
       }
     },
-    "node_modules/serialize-error": {
-      "version": "11.0.3",
+    "node_modules/reflect-metadata": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz",
+      "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/reflect.getprototypeof": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz",
+      "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "type-fest": "^2.12.2"
+        "call-bind": "^1.0.8",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.9",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.0.0",
+        "get-intrinsic": "^1.2.7",
+        "get-proto": "^1.0.1",
+        "which-builtin-type": "^1.2.1"
       },
       "engines": {
-        "node": ">=14.16"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/serialize-error/node_modules/type-fest": {
-      "version": "2.19.0",
+    "node_modules/regex": {
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz",
+      "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==",
       "dev": true,
-      "license": "(MIT OR CC0-1.0)",
+      "license": "MIT",
+      "dependencies": {
+        "regex-utilities": "^2.3.0"
+      }
+    },
+    "node_modules/regex-recursion": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz",
+      "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "regex-utilities": "^2.3.0"
+      }
+    },
+    "node_modules/regex-utilities": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz",
+      "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/regexp-tree": {
+      "version": "0.1.27",
+      "resolved": "https://registry.npmjs.org/regexp-tree/-/regexp-tree-0.1.27.tgz",
+      "integrity": "sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==",
+      "license": "MIT",
+      "bin": {
+        "regexp-tree": "bin/regexp-tree"
+      }
+    },
+    "node_modules/regexp.prototype.flags": {
+      "version": "1.5.4",
+      "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
+      "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "define-properties": "^1.2.1",
+        "es-errors": "^1.3.0",
+        "get-proto": "^1.0.1",
+        "gopd": "^1.2.0",
+        "set-function-name": "^2.0.2"
+      },
       "engines": {
-        "node": ">=12.20"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/serialize-javascript": {
-      "version": "6.0.2",
-      "license": "BSD-3-Clause",
+    "node_modules/replace-in-file": {
+      "version": "8.4.0",
+      "resolved": "https://registry.npmjs.org/replace-in-file/-/replace-in-file-8.4.0.tgz",
+      "integrity": "sha512-D28k8jy2LtUGbCzCnR3znajaTWIjJ/Uee3UdodzcHRxE7zn6NmYW/dcSqyivnsYU3W+MxdX6SbF28NvJ0GRoLA==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "randombytes": "^2.1.0"
+        "chalk": "^5.6.2",
+        "glob": "^13.0.0",
+        "yargs": "^18.0.0"
+      },
+      "bin": {
+        "replace-in-file": "bin/cli.js"
+      },
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/serve-index": {
-      "version": "1.9.1",
+    "node_modules/replace-in-file/node_modules/ansi-regex": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "accepts": "~1.3.4",
-        "batch": "0.6.1",
-        "debug": "2.6.9",
-        "escape-html": "~1.0.3",
-        "http-errors": "~1.6.2",
-        "mime-types": "~2.1.17",
-        "parseurl": "~1.3.2"
-      },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/serve-index/node_modules/debug": {
-      "version": "2.6.9",
+    "node_modules/replace-in-file/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "ms": "2.0.0"
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/serve-index/node_modules/depd": {
-      "version": "1.1.2",
+    "node_modules/replace-in-file/node_modules/chalk": {
+      "version": "5.6.2",
+      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+      "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.6"
+        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/chalk?sponsor=1"
       }
     },
-    "node_modules/serve-index/node_modules/http-errors": {
-      "version": "1.6.3",
+    "node_modules/replace-in-file/node_modules/cliui": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
+      "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "depd": "~1.1.2",
-        "inherits": "2.0.3",
-        "setprototypeof": "1.1.0",
-        "statuses": ">= 1.4.0 < 2"
+        "string-width": "^7.2.0",
+        "strip-ansi": "^7.1.0",
+        "wrap-ansi": "^9.0.0"
       },
       "engines": {
-        "node": ">= 0.6"
+        "node": ">=20"
       }
     },
-    "node_modules/serve-index/node_modules/inherits": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/serve-index/node_modules/ms": {
-      "version": "2.0.0",
+    "node_modules/replace-in-file/node_modules/emoji-regex": {
+      "version": "10.6.0",
+      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz",
+      "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==",
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/serve-index/node_modules/setprototypeof": {
-      "version": "1.1.0",
-      "dev": true,
-      "license": "ISC"
-    },
-    "node_modules/serve-index/node_modules/statuses": {
-      "version": "1.5.0",
+    "node_modules/replace-in-file/node_modules/glob": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+      "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
       "dev": true,
-      "license": "MIT",
+      "license": "BlueOak-1.0.0",
+      "dependencies": {
+        "minimatch": "^10.1.1",
+        "minipass": "^7.1.2",
+        "path-scurry": "^2.0.0"
+      },
       "engines": {
-        "node": ">= 0.6"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/serve-placeholder": {
-      "version": "2.0.2",
-      "license": "MIT",
+    "node_modules/replace-in-file/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+      "dev": true,
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "defu": "^6.1.4"
+        "@isaacs/brace-expansion": "^5.0.0"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/serve-static": {
-      "version": "2.2.0",
+    "node_modules/replace-in-file/node_modules/string-width": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
+      "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "encodeurl": "^2.0.0",
-        "escape-html": "^1.0.3",
-        "parseurl": "^1.3.3",
-        "send": "^1.2.0"
+        "emoji-regex": "^10.3.0",
+        "get-east-asian-width": "^1.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">= 18"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/set-cookie-parser": {
-      "version": "2.7.1",
-      "license": "MIT"
-    },
-    "node_modules/set-function-length": {
-      "version": "1.2.2",
+    "node_modules/replace-in-file/node_modules/strip-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "define-data-property": "^1.1.4",
-        "es-errors": "^1.3.0",
-        "function-bind": "^1.1.2",
-        "get-intrinsic": "^1.2.4",
-        "gopd": "^1.0.1",
-        "has-property-descriptors": "^1.0.2"
+        "ansi-regex": "^6.0.1"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/set-function-name": {
-      "version": "2.0.2",
+    "node_modules/replace-in-file/node_modules/wrap-ansi": {
+      "version": "9.0.2",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz",
+      "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "define-data-property": "^1.1.4",
-        "es-errors": "^1.3.0",
-        "functions-have-names": "^1.2.3",
-        "has-property-descriptors": "^1.0.2"
+        "ansi-styles": "^6.2.1",
+        "string-width": "^7.0.0",
+        "strip-ansi": "^7.1.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/set-proto": {
-      "version": "1.0.0",
+    "node_modules/replace-in-file/node_modules/yargs": {
+      "version": "18.0.0",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz",
+      "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "dunder-proto": "^1.0.1",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.0.0"
+        "cliui": "^9.0.1",
+        "escalade": "^3.1.1",
+        "get-caller-file": "^2.0.5",
+        "string-width": "^7.2.0",
+        "y18n": "^5.0.5",
+        "yargs-parser": "^22.0.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/setimmediate": {
-      "version": "1.0.5",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/setprototypeof": {
-      "version": "1.2.0",
-      "license": "ISC"
-    },
-    "node_modules/shallow-clone": {
-      "version": "3.0.1",
+    "node_modules/replace-in-file/node_modules/yargs-parser": {
+      "version": "22.0.0",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz",
+      "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "kind-of": "^6.0.2"
-      },
+      "license": "ISC",
       "engines": {
-        "node": ">=8"
+        "node": "^20.19.0 || ^22.12.0 || >=23"
       }
     },
-    "node_modules/shebang-command": {
-      "version": "2.0.0",
+    "node_modules/require-directory": {
+      "version": "2.1.1",
+      "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+      "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
       "license": "MIT",
-      "dependencies": {
-        "shebang-regex": "^3.0.0"
-      },
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/shebang-regex": {
-      "version": "3.0.0",
+    "node_modules/require-from-string": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/shell-quote": {
-      "version": "1.8.3",
+    "node_modules/resolve": {
+      "version": "1.22.11",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
+      "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
       "license": "MIT",
+      "dependencies": {
+        "is-core-module": "^2.16.1",
+        "path-parse": "^1.0.7",
+        "supports-preserve-symlinks-flag": "^1.0.0"
+      },
+      "bin": {
+        "resolve": "bin/resolve"
+      },
       "engines": {
         "node": ">= 0.4"
       },
@@ -27792,1696 +23659,2257 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/shelljs": {
-      "version": "0.9.2",
+    "node_modules/resolve-cwd": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+      "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT",
       "dependencies": {
-        "execa": "^1.0.0",
-        "fast-glob": "^3.3.2",
-        "interpret": "^1.0.0",
-        "rechoir": "^0.6.2"
-      },
-      "bin": {
-        "shjs": "bin/shjs"
+        "resolve-from": "^5.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">=8"
       }
     },
-    "node_modules/shelljs/node_modules/cross-spawn": {
-      "version": "6.0.6",
+    "node_modules/resolve-cwd/node_modules/resolve-from": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+      "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "nice-try": "^1.0.4",
-        "path-key": "^2.0.1",
-        "semver": "^5.5.0",
-        "shebang-command": "^1.2.0",
-        "which": "^1.2.9"
-      },
       "engines": {
-        "node": ">=4.8"
+        "node": ">=8"
       }
     },
-    "node_modules/shelljs/node_modules/execa": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/resolve-from": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+      "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "cross-spawn": "^6.0.0",
-        "get-stream": "^4.0.0",
-        "is-stream": "^1.1.0",
-        "npm-run-path": "^2.0.0",
-        "p-finally": "^1.0.0",
-        "signal-exit": "^3.0.0",
-        "strip-eof": "^1.0.0"
-      },
       "engines": {
-        "node": ">=6"
+        "node": ">=4"
       }
     },
-    "node_modules/shelljs/node_modules/get-stream": {
-      "version": "4.1.0",
-      "dev": true,
+    "node_modules/resolve-pkg-maps": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz",
+      "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==",
+      "devOptional": true,
       "license": "MIT",
-      "dependencies": {
-        "pump": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=6"
+      "funding": {
+        "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1"
       }
     },
-    "node_modules/shelljs/node_modules/is-stream": {
-      "version": "1.1.0",
+    "node_modules/resolve.exports": {
+      "version": "2.0.3",
+      "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz",
+      "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=10"
       }
     },
-    "node_modules/shelljs/node_modules/npm-run-path": {
-      "version": "2.0.2",
+    "node_modules/restore-cursor": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz",
+      "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "path-key": "^2.0.0"
+        "onetime": "^7.0.0",
+        "signal-exit": "^4.1.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/shelljs/node_modules/path-key": {
-      "version": "2.0.1",
+    "node_modules/restore-cursor/node_modules/onetime": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz",
+      "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "mimic-function": "^5.0.0"
+      },
       "engines": {
-        "node": ">=4"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/shelljs/node_modules/semver": {
-      "version": "5.7.2",
+    "node_modules/restore-cursor/node_modules/signal-exit": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
       "dev": true,
       "license": "ISC",
-      "bin": {
-        "semver": "bin/semver"
+      "engines": {
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/shelljs/node_modules/shebang-command": {
-      "version": "1.2.0",
+    "node_modules/retry": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz",
+      "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "shebang-regex": "^1.0.0"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 4"
       }
     },
-    "node_modules/shelljs/node_modules/shebang-regex": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/reusify": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+      "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
       "license": "MIT",
       "engines": {
+        "iojs": ">=1.0.0",
         "node": ">=0.10.0"
       }
     },
-    "node_modules/shelljs/node_modules/signal-exit": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "ISC"
+    "node_modules/rfdc": {
+      "version": "1.4.1",
+      "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz",
+      "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==",
+      "license": "MIT"
     },
-    "node_modules/shelljs/node_modules/which": {
-      "version": "1.3.1",
+    "node_modules/rimraf": {
+      "version": "6.1.2",
+      "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+      "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
       "dev": true,
-      "license": "ISC",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "isexe": "^2.0.0"
+        "glob": "^13.0.0",
+        "package-json-from-dist": "^1.0.1"
       },
       "bin": {
-        "which": "bin/which"
+        "rimraf": "dist/esm/bin.mjs"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/shiki": {
-      "version": "2.5.0",
+    "node_modules/rimraf/node_modules/glob": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+      "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
       "dev": true,
-      "license": "MIT",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "@shikijs/core": "2.5.0",
-        "@shikijs/engine-javascript": "2.5.0",
-        "@shikijs/engine-oniguruma": "2.5.0",
-        "@shikijs/langs": "2.5.0",
-        "@shikijs/themes": "2.5.0",
-        "@shikijs/types": "2.5.0",
-        "@shikijs/vscode-textmate": "^10.0.2",
-        "@types/hast": "^3.0.4"
+        "minimatch": "^10.1.1",
+        "minipass": "^7.1.2",
+        "path-scurry": "^2.0.0"
+      },
+      "engines": {
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/shx": {
-      "version": "0.4.0",
+    "node_modules/rimraf/node_modules/minimatch": {
+      "version": "10.1.1",
+      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+      "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "minimist": "^1.2.8",
-        "shelljs": "^0.9.2"
-      },
-      "bin": {
-        "shx": "lib/cli.js"
+        "@isaacs/brace-expansion": "^5.0.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": "20 || >=22"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/isaacs"
       }
     },
-    "node_modules/side-channel": {
-      "version": "1.1.0",
+    "node_modules/robust-predicates": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz",
+      "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==",
+      "dev": true,
+      "license": "Unlicense"
+    },
+    "node_modules/rolldown": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.58.tgz",
+      "integrity": "sha512-v1FCjMZCan7f+xGAHBi+mqiE4MlH7I+SXEHSQSJoMOGNNB2UYtvMiejsq9YuUOiZjNeUeV/a21nSFbrUR+4ZCQ==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "es-errors": "^1.3.0",
-        "object-inspect": "^1.13.3",
-        "side-channel-list": "^1.0.0",
-        "side-channel-map": "^1.0.1",
-        "side-channel-weakmap": "^1.0.2"
+        "@oxc-project/types": "=0.106.0",
+        "@rolldown/pluginutils": "1.0.0-beta.58"
+      },
+      "bin": {
+        "rolldown": "bin/cli.mjs"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": "^20.19.0 || >=22.12.0"
       },
+      "optionalDependencies": {
+        "@rolldown/binding-android-arm64": "1.0.0-beta.58",
+        "@rolldown/binding-darwin-arm64": "1.0.0-beta.58",
+        "@rolldown/binding-darwin-x64": "1.0.0-beta.58",
+        "@rolldown/binding-freebsd-x64": "1.0.0-beta.58",
+        "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.58",
+        "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.58",
+        "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.58",
+        "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.58",
+        "@rolldown/binding-linux-x64-musl": "1.0.0-beta.58",
+        "@rolldown/binding-openharmony-arm64": "1.0.0-beta.58",
+        "@rolldown/binding-wasm32-wasi": "1.0.0-beta.58",
+        "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.58",
+        "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.58"
+      }
+    },
+    "node_modules/rolldown/node_modules/@oxc-project/types": {
+      "version": "0.106.0",
+      "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.106.0.tgz",
+      "integrity": "sha512-QdsH3rZq480VnOHSHgPYOhjL8O8LBdcnSjM408BpPCCUc0JYYZPG9Gafl9i3OcGk/7137o+gweb4cCv3WAUykg==",
+      "devOptional": true,
+      "license": "MIT",
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/Boshen"
       }
     },
-    "node_modules/side-channel-list": {
-      "version": "1.0.0",
+    "node_modules/rolldown/node_modules/@rolldown/pluginutils": {
+      "version": "1.0.0-beta.58",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.58.tgz",
+      "integrity": "sha512-qWhDs6yFGR5xDfdrwiSa3CWGIHxD597uGE/A9xGqytBjANvh4rLCTTkq7szhMV4+Ygh+PMS90KVJ8xWG/TkX4w==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/rollup": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.56.0.tgz",
+      "integrity": "sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "es-errors": "^1.3.0",
-        "object-inspect": "^1.13.3"
+        "@types/estree": "1.0.8"
+      },
+      "bin": {
+        "rollup": "dist/bin/rollup"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18.0.0",
+        "npm": ">=8.0.0"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "optionalDependencies": {
+        "@rollup/rollup-android-arm-eabi": "4.56.0",
+        "@rollup/rollup-android-arm64": "4.56.0",
+        "@rollup/rollup-darwin-arm64": "4.56.0",
+        "@rollup/rollup-darwin-x64": "4.56.0",
+        "@rollup/rollup-freebsd-arm64": "4.56.0",
+        "@rollup/rollup-freebsd-x64": "4.56.0",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.56.0",
+        "@rollup/rollup-linux-arm-musleabihf": "4.56.0",
+        "@rollup/rollup-linux-arm64-gnu": "4.56.0",
+        "@rollup/rollup-linux-arm64-musl": "4.56.0",
+        "@rollup/rollup-linux-loong64-gnu": "4.56.0",
+        "@rollup/rollup-linux-loong64-musl": "4.56.0",
+        "@rollup/rollup-linux-ppc64-gnu": "4.56.0",
+        "@rollup/rollup-linux-ppc64-musl": "4.56.0",
+        "@rollup/rollup-linux-riscv64-gnu": "4.56.0",
+        "@rollup/rollup-linux-riscv64-musl": "4.56.0",
+        "@rollup/rollup-linux-s390x-gnu": "4.56.0",
+        "@rollup/rollup-linux-x64-gnu": "4.56.0",
+        "@rollup/rollup-linux-x64-musl": "4.56.0",
+        "@rollup/rollup-openbsd-x64": "4.56.0",
+        "@rollup/rollup-openharmony-arm64": "4.56.0",
+        "@rollup/rollup-win32-arm64-msvc": "4.56.0",
+        "@rollup/rollup-win32-ia32-msvc": "4.56.0",
+        "@rollup/rollup-win32-x64-gnu": "4.56.0",
+        "@rollup/rollup-win32-x64-msvc": "4.56.0",
+        "fsevents": "~2.3.2"
       }
     },
-    "node_modules/side-channel-map": {
-      "version": "1.0.1",
-      "license": "MIT",
+    "node_modules/rollup-plugin-dts": {
+      "version": "6.3.0",
+      "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.3.0.tgz",
+      "integrity": "sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==",
+      "dev": true,
+      "license": "LGPL-3.0-only",
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.5",
-        "object-inspect": "^1.13.3"
+        "magic-string": "^0.30.21"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=16"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/Swatinem"
+      },
+      "optionalDependencies": {
+        "@babel/code-frame": "^7.27.1"
+      },
+      "peerDependencies": {
+        "rollup": "^3.29.4 || ^4",
+        "typescript": "^4.5 || ^5.0"
       }
     },
-    "node_modules/side-channel-weakmap": {
-      "version": "1.0.2",
+    "node_modules/rollup-plugin-visualizer": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-6.0.5.tgz",
+      "integrity": "sha512-9+HlNgKCVbJDs8tVtjQ43US12eqaiHyyiLMdBwQ7vSZPiHMysGNo2E88TAp1si5wx8NAoYriI2A5kuKfIakmJg==",
       "license": "MIT",
       "dependencies": {
-        "call-bound": "^1.0.2",
-        "es-errors": "^1.3.0",
-        "get-intrinsic": "^1.2.5",
-        "object-inspect": "^1.13.3",
-        "side-channel-map": "^1.0.1"
+        "open": "^8.0.0",
+        "picomatch": "^4.0.2",
+        "source-map": "^0.7.4",
+        "yargs": "^17.5.1"
+      },
+      "bin": {
+        "rollup-plugin-visualizer": "dist/bin/cli.js"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+      "peerDependencies": {
+        "rolldown": "1.x || ^1.0.0-beta",
+        "rollup": "2.x || 3.x || 4.x"
+      },
+      "peerDependenciesMeta": {
+        "rolldown": {
+          "optional": true
+        },
+        "rollup": {
+          "optional": true
+        }
       }
     },
-    "node_modules/signal-exit": {
-      "version": "4.1.0",
-      "license": "ISC",
+    "node_modules/rollup-plugin-visualizer/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
       "engines": {
-        "node": ">=14"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/sigstore": {
-      "version": "3.1.0",
-      "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "@sigstore/bundle": "^3.1.0",
-        "@sigstore/core": "^2.0.0",
-        "@sigstore/protobuf-specs": "^0.4.0",
-        "@sigstore/sign": "^3.1.0",
-        "@sigstore/tuf": "^3.1.0",
-        "@sigstore/verify": "^2.1.0"
-      },
+    "node_modules/rollup-plugin-visualizer/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">= 12"
       }
     },
-    "node_modules/simple-git": {
-      "version": "3.28.0",
+    "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz",
+      "integrity": "sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@kwsites/file-exists": "^1.1.1",
-        "@kwsites/promise-deferred": "^1.1.1",
-        "debug": "^4.4.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/steveukx/git-js?sponsor=1"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/simple-swizzle": {
-      "version": "0.2.2",
+    "node_modules/rollup/node_modules/@rollup/rollup-darwin-x64": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz",
+      "integrity": "sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==",
+      "cpu": [
+        "x64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "is-arrayish": "^0.3.1"
-      }
+      "optional": true,
+      "os": [
+        "darwin"
+      ]
     },
-    "node_modules/simple-swizzle/node_modules/is-arrayish": {
-      "version": "0.3.2",
-      "license": "MIT"
+    "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-gnu": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz",
+      "integrity": "sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
     },
-    "node_modules/sirv": {
-      "version": "3.0.1",
+    "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-musl": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz",
+      "integrity": "sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==",
+      "cpu": [
+        "arm64"
+      ],
       "license": "MIT",
-      "dependencies": {
-        "@polka/url": "^1.0.0-next.24",
-        "mrmime": "^2.0.0",
-        "totalist": "^3.0.0"
-      },
-      "engines": {
-        "node": ">=18"
-      }
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-musl": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.56.0.tgz",
+      "integrity": "sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ]
+    },
+    "node_modules/rollup/node_modules/@rollup/rollup-win32-arm64-msvc": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz",
+      "integrity": "sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==",
+      "cpu": [
+        "arm64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
+    },
+    "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": {
+      "version": "4.56.0",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz",
+      "integrity": "sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==",
+      "cpu": [
+        "x64"
+      ],
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ]
     },
-    "node_modules/sisteransi": {
-      "version": "1.0.5",
+    "node_modules/rou3": {
+      "version": "0.7.12",
+      "resolved": "https://registry.npmjs.org/rou3/-/rou3-0.7.12.tgz",
+      "integrity": "sha512-iFE4hLDuloSWcD7mjdCDhx2bKcIsYbtOTpfH5MHHLSKMOUyjqQXTeZVa289uuwEGEKFoE/BAPbhaU4B774nceg==",
       "license": "MIT"
     },
-    "node_modules/slash": {
-      "version": "5.1.0",
+    "node_modules/roughjs": {
+      "version": "4.6.6",
+      "resolved": "https://registry.npmjs.org/roughjs/-/roughjs-4.6.6.tgz",
+      "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=14.16"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "hachure-fill": "^0.5.2",
+        "path-data-parser": "^0.1.0",
+        "points-on-curve": "^0.2.0",
+        "points-on-path": "^0.2.1"
       }
     },
-    "node_modules/slice-ansi": {
-      "version": "5.0.0",
+    "node_modules/router": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+      "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansi-styles": "^6.0.0",
-        "is-fullwidth-code-point": "^4.0.0"
+        "debug": "^4.4.0",
+        "depd": "^2.0.0",
+        "is-promise": "^4.0.0",
+        "parseurl": "^1.3.3",
+        "path-to-regexp": "^8.0.0"
       },
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+        "node": ">= 18"
       }
     },
-    "node_modules/slice-ansi/node_modules/ansi-styles": {
-      "version": "6.2.1",
+    "node_modules/rrweb-cssom": {
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
+      "integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/run-applescript": {
+      "version": "7.1.0",
+      "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.1.0.tgz",
+      "integrity": "sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
-      }
-    },
-    "node_modules/smart-buffer": {
-      "version": "4.2.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 6.0.0",
-        "npm": ">= 3.0.0"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/smob": {
-      "version": "1.5.0",
-      "license": "MIT"
-    },
-    "node_modules/sockjs": {
-      "version": "0.3.24",
-      "dev": true,
+    "node_modules/run-parallel": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "faye-websocket": "^0.11.3",
-        "uuid": "^8.3.2",
-        "websocket-driver": "^0.7.4"
+        "queue-microtask": "^1.2.2"
       }
     },
-    "node_modules/sockjs/node_modules/uuid": {
-      "version": "8.3.2",
+    "node_modules/rw": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz",
+      "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==",
       "dev": true,
-      "license": "MIT",
-      "bin": {
-        "uuid": "dist/bin/uuid"
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/rxjs": {
+      "version": "7.8.2",
+      "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
+      "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
+      "license": "Apache-2.0",
+      "peer": true,
+      "dependencies": {
+        "tslib": "^2.1.0"
       }
     },
-    "node_modules/socks": {
-      "version": "2.8.5",
+    "node_modules/safe-array-concat": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz",
+      "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ip-address": "^9.0.5",
-        "smart-buffer": "^4.2.0"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.2",
+        "get-intrinsic": "^1.2.6",
+        "has-symbols": "^1.1.0",
+        "isarray": "^2.0.5"
       },
       "engines": {
-        "node": ">= 10.0.0",
-        "npm": ">= 3.0.0"
+        "node": ">=0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/socks-proxy-agent": {
-      "version": "8.0.5",
+    "node_modules/safe-buffer": {
+      "version": "5.2.1",
+      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
+      "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/feross"
+        },
+        {
+          "type": "patreon",
+          "url": "https://www.patreon.com/feross"
+        },
+        {
+          "type": "consulting",
+          "url": "https://feross.org/support"
+        }
+      ],
+      "license": "MIT"
+    },
+    "node_modules/safe-push-apply": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz",
+      "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "agent-base": "^7.1.2",
-        "debug": "^4.3.4",
-        "socks": "^2.8.3"
+        "es-errors": "^1.3.0",
+        "isarray": "^2.0.5"
       },
       "engines": {
-        "node": ">= 14"
-      }
-    },
-    "node_modules/source-map": {
-      "version": "0.7.4",
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/source-map-js": {
-      "version": "1.2.1",
-      "license": "BSD-3-Clause",
-      "engines": {
-        "node": ">=0.10.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/source-map-loader": {
-      "version": "5.0.0",
+    "node_modules/safe-regex-test": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz",
+      "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "iconv-lite": "^0.6.3",
-        "source-map-js": "^1.0.2"
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "is-regex": "^1.2.1"
       },
       "engines": {
-        "node": ">= 18.12.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^5.72.1"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/source-map-loader/node_modules/iconv-lite": {
-      "version": "0.6.3",
-      "dev": true,
+    "node_modules/safer-buffer": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+      "license": "MIT"
+    },
+    "node_modules/sass": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass/-/sass-1.97.3.tgz",
+      "integrity": "sha512-fDz1zJpd5GycprAbu4Q2PV/RprsRtKC/0z82z0JLgdytmcq0+ujJbJ/09bPGDxCLkKY3Np5cRAOcWiVkLXJURg==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "safer-buffer": ">= 2.1.2 < 3.0.0"
+        "chokidar": "^4.0.0",
+        "immutable": "^5.0.2",
+        "source-map-js": ">=0.6.2 <2.0.0"
+      },
+      "bin": {
+        "sass": "sass.js"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14.0.0"
+      },
+      "optionalDependencies": {
+        "@parcel/watcher": "^2.4.1"
       }
     },
-    "node_modules/source-map-support": {
-      "version": "0.5.21",
+    "node_modules/sass-embedded": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded/-/sass-embedded-1.97.3.tgz",
+      "integrity": "sha512-eKzFy13Nk+IRHhlAwP3sfuv+PzOrvzUkwJK2hdoCKYcWGSdmwFpeGpWmyewdw8EgBnsKaSBtgf/0b2K635ecSA==",
+      "devOptional": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "buffer-from": "^1.0.0",
-        "source-map": "^0.6.0"
-      }
-    },
-    "node_modules/source-map-support/node_modules/source-map": {
-      "version": "0.6.1",
-      "license": "BSD-3-Clause",
+        "@bufbuild/protobuf": "^2.5.0",
+        "colorjs.io": "^0.5.0",
+        "immutable": "^5.0.2",
+        "rxjs": "^7.4.0",
+        "supports-color": "^8.1.1",
+        "sync-child-process": "^1.0.2",
+        "varint": "^6.0.0"
+      },
+      "bin": {
+        "sass": "dist/bin/sass.js"
+      },
       "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/space-separated-tokens": {
-      "version": "2.0.2",
+        "node": ">=16.0.0"
+      },
+      "optionalDependencies": {
+        "sass-embedded-all-unknown": "1.97.3",
+        "sass-embedded-android-arm": "1.97.3",
+        "sass-embedded-android-arm64": "1.97.3",
+        "sass-embedded-android-riscv64": "1.97.3",
+        "sass-embedded-android-x64": "1.97.3",
+        "sass-embedded-darwin-arm64": "1.97.3",
+        "sass-embedded-darwin-x64": "1.97.3",
+        "sass-embedded-linux-arm": "1.97.3",
+        "sass-embedded-linux-arm64": "1.97.3",
+        "sass-embedded-linux-musl-arm": "1.97.3",
+        "sass-embedded-linux-musl-arm64": "1.97.3",
+        "sass-embedded-linux-musl-riscv64": "1.97.3",
+        "sass-embedded-linux-musl-x64": "1.97.3",
+        "sass-embedded-linux-riscv64": "1.97.3",
+        "sass-embedded-linux-x64": "1.97.3",
+        "sass-embedded-unknown-all": "1.97.3",
+        "sass-embedded-win32-arm64": "1.97.3",
+        "sass-embedded-win32-x64": "1.97.3"
+      }
+    },
+    "node_modules/sass-embedded-all-unknown": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-all-unknown/-/sass-embedded-all-unknown-1.97.3.tgz",
+      "integrity": "sha512-t6N46NlPuXiY3rlmG6/+1nwebOBOaLFOOVqNQOC2cJhghOD4hh2kHNQQTorCsbY9S1Kir2la1/XLBwOJfui0xg==",
+      "cpu": [
+        "!arm",
+        "!arm64",
+        "!riscv64",
+        "!x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+      "optional": true,
+      "dependencies": {
+        "sass": "1.97.3"
       }
     },
-    "node_modules/spacetrim": {
-      "version": "0.11.59",
+    "node_modules/sass-embedded-android-arm": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-android-arm/-/sass-embedded-android-arm-1.97.3.tgz",
+      "integrity": "sha512-cRTtf/KV/q0nzGZoUzVkeIVVFv3L/tS1w4WnlHapphsjTXF/duTxI8JOU1c/9GhRPiMdfeXH7vYNcMmtjwX7jg==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
-      "funding": [
-        {
-          "type": "individual",
-          "url": "https://buymeacoffee.com/hejny"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/hejny/spacetrim/blob/main/README.md#%EF%B8%8F-contributing"
-        }
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "android"
       ],
-      "license": "Apache-2.0"
-    },
-    "node_modules/spdx-correct": {
-      "version": "3.2.0",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "spdx-expression-parse": "^3.0.0",
-        "spdx-license-ids": "^3.0.0"
+      "engines": {
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/spdx-exceptions": {
-      "version": "2.5.0",
-      "license": "CC-BY-3.0"
-    },
-    "node_modules/spdx-expression-parse": {
-      "version": "3.0.1",
+    "node_modules/sass-embedded-android-arm64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-android-arm64/-/sass-embedded-android-arm64-1.97.3.tgz",
+      "integrity": "sha512-aiZ6iqiHsUsaDx0EFbbmmA0QgxicSxVVN3lnJJ0f1RStY0DthUkquGT5RJ4TPdaZ6ebeJWkboV4bra+CP766eA==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "spdx-exceptions": "^2.1.0",
-        "spdx-license-ids": "^3.0.0"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/spdx-license-ids": {
-      "version": "3.0.21",
-      "license": "CC0-1.0"
-    },
-    "node_modules/spdy": {
-      "version": "4.0.2",
+    "node_modules/sass-embedded-android-riscv64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-android-riscv64/-/sass-embedded-android-riscv64-1.97.3.tgz",
+      "integrity": "sha512-zVEDgl9JJodofGHobaM/q6pNETG69uuBIGQHRo789jloESxxZe82lI3AWJQuPmYCOG5ElfRthqgv89h3gTeLYA==",
+      "cpu": [
+        "riscv64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "debug": "^4.1.0",
-        "handle-thing": "^2.0.0",
-        "http-deceiver": "^1.2.7",
-        "select-hose": "^2.0.0",
-        "spdy-transport": "^3.0.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": ">=6.0.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/spdy-transport": {
-      "version": "3.0.0",
+    "node_modules/sass-embedded-android-x64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-android-x64/-/sass-embedded-android-x64-1.97.3.tgz",
+      "integrity": "sha512-3ke0le7ZKepyXn/dKKspYkpBC0zUk/BMciyP5ajQUDy4qJwobd8zXdAq6kOkdiMB+d9UFJOmEkvgFJHl3lqwcw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "debug": "^4.1.0",
-        "detect-node": "^2.0.4",
-        "hpack.js": "^2.1.6",
-        "obuf": "^1.1.2",
-        "readable-stream": "^3.0.6",
-        "wbuf": "^1.7.3"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/spdy-transport/node_modules/readable-stream": {
-      "version": "3.6.2",
+    "node_modules/sass-embedded-darwin-arm64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-darwin-arm64/-/sass-embedded-darwin-arm64-1.97.3.tgz",
+      "integrity": "sha512-fuqMTqO4gbOmA/kC5b9y9xxNYw6zDEyfOtMgabS7Mz93wimSk2M1quQaTJnL98Mkcsl2j+7shNHxIS/qpcIDDA==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">= 6"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/speakingurl": {
-      "version": "14.0.1",
-      "license": "BSD-3-Clause",
+    "node_modules/sass-embedded-darwin-x64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-darwin-x64/-/sass-embedded-darwin-x64-1.97.3.tgz",
+      "integrity": "sha512-b/2RBs/2bZpP8lMkyZ0Px0vkVkT8uBd0YXpOwK7iOwYkAT8SsO4+WdVwErsqC65vI5e1e5p1bb20tuwsoQBMVA==",
+      "cpu": [
+        "x64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/split-on-first": {
-      "version": "3.0.0",
+    "node_modules/sass-embedded-linux-arm": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm/-/sass-embedded-linux-arm-1.97.3.tgz",
+      "integrity": "sha512-2lPQ7HQQg4CKsH18FTsj2hbw5GJa6sBQgDsls+cV7buXlHjqF8iTKhAQViT6nrpLK/e8nFCoaRgSqEC8xMnXuA==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/split2": {
-      "version": "4.2.0",
+    "node_modules/sass-embedded-linux-arm64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-arm64/-/sass-embedded-linux-arm64-1.97.3.tgz",
+      "integrity": "sha512-IP1+2otCT3DuV46ooxPaOKV1oL5rLjteRzf8ldZtfIEcwhSgSsHgA71CbjYgLEwMY9h4jeal8Jfv3QnedPvSjg==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">= 10.x"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/sprintf-js": {
-      "version": "1.1.3",
-      "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/ssri": {
-      "version": "12.0.0",
+    "node_modules/sass-embedded-linux-musl-arm": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm/-/sass-embedded-linux-musl-arm-1.97.3.tgz",
+      "integrity": "sha512-cBTMU68X2opBpoYsSZnI321gnoaiMBEtc+60CKCclN6PCL3W3uXm8g4TLoil1hDD6mqU9YYNlVG6sJ+ZNef6Lg==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "minipass": "^7.0.3"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/stack-trace": {
-      "version": "0.0.10",
+    "node_modules/sass-embedded-linux-musl-arm64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-arm64/-/sass-embedded-linux-musl-arm64-1.97.3.tgz",
+      "integrity": "sha512-Lij0SdZCsr+mNRSyDZ7XtJpXEITrYsaGbOTz5e6uFLJ9bmzUbV7M8BXz2/cA7bhfpRPT7/lwRKPdV4+aR9Ozcw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "*"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/stack-utils": {
-      "version": "2.0.6",
+    "node_modules/sass-embedded-linux-musl-riscv64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-riscv64/-/sass-embedded-linux-musl-riscv64-1.97.3.tgz",
+      "integrity": "sha512-sBeLFIzMGshR4WmHAD4oIM7WJVkSoCIEwutzptFtGlSlwfNiijULp+J5hA2KteGvI6Gji35apR5aWj66wEn/iA==",
+      "cpu": [
+        "riscv64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "escape-string-regexp": "^2.0.0"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=10"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/stack-utils/node_modules/escape-string-regexp": {
-      "version": "2.0.0",
+    "node_modules/sass-embedded-linux-musl-x64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-musl-x64/-/sass-embedded-linux-musl-x64-1.97.3.tgz",
+      "integrity": "sha512-/oWJ+OVrDg7ADDQxRLC/4g1+Nsz1g4mkYS2t6XmyMJKFTFK50FVI2t5sOdFH+zmMp+nXHKM036W94y9m4jjEcw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=8"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/standard-as-callback": {
-      "version": "2.1.0",
-      "license": "MIT"
-    },
-    "node_modules/statuses": {
-      "version": "2.0.2",
+    "node_modules/sass-embedded-linux-riscv64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-riscv64/-/sass-embedded-linux-riscv64-1.97.3.tgz",
+      "integrity": "sha512-l3IfySApLVYdNx0Kjm7Zehte1CDPZVcldma3dZt+TfzvlAEerM6YDgsk5XEj3L8eHBCgHgF4A0MJspHEo2WNfA==",
+      "cpu": [
+        "riscv64"
+      ],
+      "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/std-env": {
-      "version": "3.9.0",
-      "license": "MIT"
-    },
-    "node_modules/stdin-discarder": {
-      "version": "0.2.2",
+    "node_modules/sass-embedded-linux-x64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-linux-x64/-/sass-embedded-linux-x64-1.97.3.tgz",
+      "integrity": "sha512-Kwqwc/jSSlcpRjULAOVbndqEy2GBzo6OBmmuBVINWUaJLJ8Kczz3vIsDUWLfWz/kTEw9FHBSiL0WCtYLVAXSLg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/stop-iteration-iterator": {
-      "version": "1.1.0",
+    "node_modules/sass-embedded-unknown-all": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-unknown-all/-/sass-embedded-unknown-all-1.97.3.tgz",
+      "integrity": "sha512-/GHajyYJmvb0IABUQHbVHf1nuHPtIDo/ClMZ81IDr59wT5CNcMe7/dMNujXwWugtQVGI5UGmqXWZQCeoGnct8Q==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
+      "optional": true,
+      "os": [
+        "!android",
+        "!darwin",
+        "!linux",
+        "!win32"
+      ],
       "dependencies": {
-        "es-errors": "^1.3.0",
-        "internal-slot": "^1.1.0"
-      },
+        "sass": "1.97.3"
+      }
+    },
+    "node_modules/sass-embedded-win32-arm64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-win32-arm64/-/sass-embedded-win32-arm64-1.97.3.tgz",
+      "integrity": "sha512-RDGtRS1GVvQfMGAmVXNxYiUOvPzn9oO1zYB/XUM9fudDRnieYTcUytpNTQZLs6Y1KfJxgt5Y+giRceC92fT8Uw==",
+      "cpu": [
+        "arm64"
+      ],
+      "dev": true,
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/stream-buffers": {
-      "version": "3.0.3",
+    "node_modules/sass-embedded-win32-x64": {
+      "version": "1.97.3",
+      "resolved": "https://registry.npmjs.org/sass-embedded-win32-x64/-/sass-embedded-win32-x64-1.97.3.tgz",
+      "integrity": "sha512-SFRa2lED9UEwV6vIGeBXeBOLKF+rowF3WmNfb/BzhxmdAsKofCXrJ8ePW7OcDVrvNEbTOGwhsReIsF5sH8fVaw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "Unlicense",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": ">= 0.10.0"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/streamx": {
-      "version": "2.22.1",
+    "node_modules/sass-embedded/node_modules/supports-color": {
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+      "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "fast-fifo": "^1.3.2",
-        "text-decoder": "^1.1.0"
+        "has-flag": "^4.0.0"
       },
-      "optionalDependencies": {
-        "bare-events": "^2.2.0"
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/supports-color?sponsor=1"
       }
     },
-    "node_modules/string_decoder": {
-      "version": "1.3.0",
+    "node_modules/sass/node_modules/chokidar": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+      "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "safe-buffer": "~5.2.0"
+        "readdirp": "^4.0.1"
+      },
+      "engines": {
+        "node": ">= 14.16.0"
+      },
+      "funding": {
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/string-argv": {
-      "version": "0.3.2",
-      "dev": true,
+    "node_modules/sass/node_modules/readdirp": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+      "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.6.19"
+        "node": ">= 14.18.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/string-length": {
-      "version": "4.0.2",
+    "node_modules/sax": {
+      "version": "1.4.4",
+      "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.4.tgz",
+      "integrity": "sha512-1n3r/tGXO6b6VXMdFT54SHzT9ytu9yr7TaELowdYpMqY/Ao7EnlQGmAQ1+RatX7Tkkdm6hONI2owqNx2aZj5Sw==",
+      "license": "BlueOak-1.0.0",
+      "engines": {
+        "node": ">=11.0.0"
+      }
+    },
+    "node_modules/saxes": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
+      "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "char-regex": "^1.0.2",
-        "strip-ansi": "^6.0.0"
+        "xmlchars": "^2.2.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=v12.22.7"
       }
     },
-    "node_modules/string-width": {
-      "version": "5.1.2",
+    "node_modules/scheduler": {
+      "version": "0.27.0",
+      "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz",
+      "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==",
+      "license": "MIT"
+    },
+    "node_modules/scule": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/scule/-/scule-1.3.0.tgz",
+      "integrity": "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==",
+      "license": "MIT"
+    },
+    "node_modules/search-insights": {
+      "version": "2.17.3",
+      "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz",
+      "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "eastasianwidth": "^0.2.0",
-        "emoji-regex": "^9.2.2",
-        "strip-ansi": "^7.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "peer": true
+    },
+    "node_modules/semver": {
+      "version": "6.3.1",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+      "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       }
     },
-    "node_modules/string-width-cjs": {
-      "name": "string-width",
-      "version": "4.2.3",
+    "node_modules/send": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
+      "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
       "license": "MIT",
       "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
+        "debug": "^4.4.3",
+        "encodeurl": "^2.0.0",
+        "escape-html": "^1.0.3",
+        "etag": "^1.8.1",
+        "fresh": "^2.0.0",
+        "http-errors": "^2.0.1",
+        "mime-types": "^3.0.2",
+        "ms": "^2.1.3",
+        "on-finished": "^2.4.1",
+        "range-parser": "^1.2.1",
+        "statuses": "^2.0.2"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 18"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/string-width-cjs/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "license": "MIT"
-    },
-    "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
+    "node_modules/serialize-javascript": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+      "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+      "license": "BSD-3-Clause",
+      "dependencies": {
+        "randombytes": "^2.1.0"
       }
     },
-    "node_modules/string-width/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/seroval": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/seroval/-/seroval-1.5.0.tgz",
+      "integrity": "sha512-OE4cvmJ1uSPrKorFIH9/w/Qwuvi/IMcGbv5RKgcJ/zjA/IohDLU6SVaxFN9FwajbP7nsX0dQqMDes1whk3y+yw==",
       "license": "MIT",
       "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "node": ">=10"
       }
     },
-    "node_modules/string-width/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/serve-placeholder": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/serve-placeholder/-/serve-placeholder-2.0.2.tgz",
+      "integrity": "sha512-/TMG8SboeiQbZJWRlfTCqMs2DD3SZgWp0kDQePz9yUuCnDfDh/92gf7/PxGhzXTKBIPASIHxFcZndoNbp6QOLQ==",
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "defu": "^6.1.4"
       }
     },
-    "node_modules/string.prototype.matchall": {
-      "version": "4.0.12",
-      "dev": true,
+    "node_modules/serve-static": {
+      "version": "2.2.1",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
+      "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.3",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.6",
-        "es-errors": "^1.3.0",
-        "es-object-atoms": "^1.0.0",
-        "get-intrinsic": "^1.2.6",
-        "gopd": "^1.2.0",
-        "has-symbols": "^1.1.0",
-        "internal-slot": "^1.1.0",
-        "regexp.prototype.flags": "^1.5.3",
-        "set-function-name": "^2.0.2",
-        "side-channel": "^1.1.0"
+        "encodeurl": "^2.0.0",
+        "escape-html": "^1.0.3",
+        "parseurl": "^1.3.3",
+        "send": "^1.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">= 18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
-    "node_modules/string.prototype.repeat": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "define-properties": "^1.1.3",
-        "es-abstract": "^1.17.5"
-      }
+    "node_modules/set-cookie-parser": {
+      "version": "2.7.2",
+      "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.2.tgz",
+      "integrity": "sha512-oeM1lpU/UvhTxw+g3cIfxXHyJRc/uidd3yK1P242gzHds0udQBYzs3y8j4gCCW+ZJ7ad0yctld8RYO+bdurlvw==",
+      "license": "MIT"
     },
-    "node_modules/string.prototype.trim": {
-      "version": "1.2.10",
+    "node_modules/set-function-length": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+      "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.2",
         "define-data-property": "^1.1.4",
-        "define-properties": "^1.2.1",
-        "es-abstract": "^1.23.5",
-        "es-object-atoms": "^1.0.0",
+        "es-errors": "^1.3.0",
+        "function-bind": "^1.1.2",
+        "get-intrinsic": "^1.2.4",
+        "gopd": "^1.0.1",
         "has-property-descriptors": "^1.0.2"
       },
       "engines": {
         "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/string.prototype.trimend": {
-      "version": "1.0.9",
+    "node_modules/set-function-name": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+      "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "call-bound": "^1.0.2",
-        "define-properties": "^1.2.1",
-        "es-object-atoms": "^1.0.0"
+        "define-data-property": "^1.1.4",
+        "es-errors": "^1.3.0",
+        "functions-have-names": "^1.2.3",
+        "has-property-descriptors": "^1.0.2"
       },
       "engines": {
         "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/string.prototype.trimstart": {
-      "version": "1.0.8",
+    "node_modules/set-proto": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz",
+      "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "define-properties": "^1.2.1",
+        "dunder-proto": "^1.0.1",
+        "es-errors": "^1.3.0",
         "es-object-atoms": "^1.0.0"
       },
       "engines": {
         "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
-      }
-    },
-    "node_modules/stringify-entities": {
-      "version": "4.0.4",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "character-entities-html4": "^2.0.0",
-        "character-entities-legacy": "^3.0.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/strip-ansi": {
-      "version": "6.0.1",
-      "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^5.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
+    "node_modules/setprototypeof": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
+      "license": "ISC"
     },
-    "node_modules/strip-ansi-cjs": {
-      "name": "strip-ansi",
-      "version": "6.0.1",
+    "node_modules/shebang-command": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+      "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
       "license": "MIT",
       "dependencies": {
-        "ansi-regex": "^5.0.1"
+        "shebang-regex": "^3.0.0"
       },
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/strip-bom": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/shebang-regex": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+      "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
       "license": "MIT",
       "engines": {
         "node": ">=8"
       }
     },
-    "node_modules/strip-eof": {
-      "version": "1.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=0.10.0"
-      }
-    },
-    "node_modules/strip-final-newline": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/strip-json-comments": {
-      "version": "3.1.1",
-      "devOptional": true,
+    "node_modules/shell-quote": {
+      "version": "1.8.3",
+      "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
+      "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
       "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/strip-literal": {
-      "version": "3.0.0",
-      "license": "MIT",
+    "node_modules/shelljs": {
+      "version": "0.9.2",
+      "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.9.2.tgz",
+      "integrity": "sha512-S3I64fEiKgTZzKCC46zT/Ib9meqofLrQVbpSswtjFfAVDW+AZ54WTnAM/3/yENoxz/V1Cy6u3kiiEbQ4DNphvw==",
+      "dev": true,
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "js-tokens": "^9.0.1"
+        "execa": "^1.0.0",
+        "fast-glob": "^3.3.2",
+        "interpret": "^1.0.0",
+        "rechoir": "^0.6.2"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "bin": {
+        "shjs": "bin/shjs"
+      },
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/strip-literal/node_modules/js-tokens": {
-      "version": "9.0.1",
-      "license": "MIT"
-    },
-    "node_modules/strnum": {
-      "version": "1.1.2",
+    "node_modules/shelljs/node_modules/cross-spawn": {
+      "version": "6.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
+      "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
       "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/NaturalIntelligence"
-        }
-      ],
-      "license": "MIT"
-    },
-    "node_modules/structured-clone-es": {
-      "version": "1.0.0",
-      "license": "ISC"
-    },
-    "node_modules/style-object-to-css-string": {
-      "version": "1.1.3",
-      "license": "MIT"
-    },
-    "node_modules/style-to-js": {
-      "version": "1.1.16",
-      "license": "MIT",
-      "dependencies": {
-        "style-to-object": "1.0.8"
-      }
-    },
-    "node_modules/style-to-object": {
-      "version": "1.0.8",
-      "license": "MIT",
-      "dependencies": {
-        "inline-style-parser": "0.2.4"
-      }
-    },
-    "node_modules/stylehacks": {
-      "version": "7.0.5",
       "license": "MIT",
       "dependencies": {
-        "browserslist": "^4.24.5",
-        "postcss-selector-parser": "^7.1.0"
+        "nice-try": "^1.0.4",
+        "path-key": "^2.0.1",
+        "semver": "^5.5.0",
+        "shebang-command": "^1.2.0",
+        "which": "^1.2.9"
       },
       "engines": {
-        "node": "^18.12.0 || ^20.9.0 || >=22.0"
-      },
-      "peerDependencies": {
-        "postcss": "^8.4.32"
+        "node": ">=4.8"
       }
     },
-    "node_modules/stylehacks/node_modules/postcss-selector-parser": {
-      "version": "7.1.0",
+    "node_modules/shelljs/node_modules/execa": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+      "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cssesc": "^3.0.0",
-        "util-deprecate": "^1.0.2"
+        "cross-spawn": "^6.0.0",
+        "get-stream": "^4.0.0",
+        "is-stream": "^1.1.0",
+        "npm-run-path": "^2.0.0",
+        "p-finally": "^1.0.0",
+        "signal-exit": "^3.0.0",
+        "strip-eof": "^1.0.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=6"
       }
     },
-    "node_modules/stylis": {
-      "version": "4.3.6",
+    "node_modules/shelljs/node_modules/get-stream": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+      "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/superjson": {
-      "version": "2.2.2",
       "license": "MIT",
       "dependencies": {
-        "copy-anything": "^3.0.2"
+        "pump": "^3.0.0"
       },
       "engines": {
-        "node": ">=16"
+        "node": ">=6"
       }
     },
-    "node_modules/superjson/node_modules/copy-anything": {
-      "version": "3.0.5",
+    "node_modules/shelljs/node_modules/is-stream": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+      "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/shelljs/node_modules/npm-run-path": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+      "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "is-what": "^4.1.8"
+        "path-key": "^2.0.0"
       },
       "engines": {
-        "node": ">=12.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mesqueeb"
+        "node": ">=4"
       }
     },
-    "node_modules/superjson/node_modules/is-what": {
-      "version": "4.1.16",
+    "node_modules/shelljs/node_modules/path-key": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+      "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=12.13"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mesqueeb"
+        "node": ">=4"
       }
     },
-    "node_modules/supports-color": {
-      "version": "7.2.0",
-      "devOptional": true,
+    "node_modules/shelljs/node_modules/semver": {
+      "version": "5.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+      "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
+      "dev": true,
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver"
+      }
+    },
+    "node_modules/shelljs/node_modules/shebang-command": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+      "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "shebang-regex": "^1.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/supports-preserve-symlinks-flag": {
+    "node_modules/shelljs/node_modules/shebang-regex": {
       "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+      "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">= 0.4"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/svgo": {
-      "version": "3.3.2",
-      "license": "MIT",
+    "node_modules/shelljs/node_modules/which": {
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+      "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "@trysound/sax": "0.2.0",
-        "commander": "^7.2.0",
-        "css-select": "^5.1.0",
-        "css-tree": "^2.3.1",
-        "css-what": "^6.1.0",
-        "csso": "^5.0.5",
-        "picocolors": "^1.0.0"
+        "isexe": "^2.0.0"
       },
       "bin": {
-        "svgo": "bin/svgo"
-      },
-      "engines": {
-        "node": ">=14.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/svgo"
+        "which": "bin/which"
       }
     },
-    "node_modules/svgo/node_modules/commander": {
-      "version": "7.2.0",
+    "node_modules/shiki": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/shiki/-/shiki-2.5.0.tgz",
+      "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 10"
+      "dependencies": {
+        "@shikijs/core": "2.5.0",
+        "@shikijs/engine-javascript": "2.5.0",
+        "@shikijs/engine-oniguruma": "2.5.0",
+        "@shikijs/langs": "2.5.0",
+        "@shikijs/themes": "2.5.0",
+        "@shikijs/types": "2.5.0",
+        "@shikijs/vscode-textmate": "^10.0.2",
+        "@types/hast": "^3.0.4"
       }
     },
-    "node_modules/symbol-observable": {
-      "version": "4.0.0",
+    "node_modules/shx": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/shx/-/shx-0.4.0.tgz",
+      "integrity": "sha512-Z0KixSIlGPpijKgcH6oCMCbltPImvaKy0sGH8AkLRXw1KyzpKtaCTizP2xen+hNDqVF4xxgvA0KXSb9o4Q6hnA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "minimist": "^1.2.8",
+        "shelljs": "^0.9.2"
+      },
+      "bin": {
+        "shx": "lib/cli.js"
+      },
       "engines": {
-        "node": ">=0.10"
+        "node": ">=18"
       }
     },
-    "node_modules/symbol-tree": {
-      "version": "3.2.4",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/synckit": {
-      "version": "0.11.8",
+    "node_modules/side-channel": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+      "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@pkgr/core": "^0.2.4"
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3",
+        "side-channel-list": "^1.0.0",
+        "side-channel-map": "^1.0.1",
+        "side-channel-weakmap": "^1.0.2"
       },
       "engines": {
-        "node": "^14.18.0 || >=16.0.0"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://opencollective.com/synckit"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/system-architecture": {
-      "version": "0.1.0",
+    "node_modules/side-channel-list": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+      "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+      "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "es-errors": "^1.3.0",
+        "object-inspect": "^1.13.3"
+      },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tabbable": {
-      "version": "6.2.0",
+    "node_modules/side-channel-map": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+      "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/tapable": {
-      "version": "2.2.2",
       "license": "MIT",
+      "dependencies": {
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3"
+      },
       "engines": {
-        "node": ">=6"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tar": {
-      "version": "7.4.3",
-      "license": "ISC",
+    "node_modules/side-channel-weakmap": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+      "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+      "dev": true,
+      "license": "MIT",
       "dependencies": {
-        "@isaacs/fs-minipass": "^4.0.0",
-        "chownr": "^3.0.0",
-        "minipass": "^7.1.2",
-        "minizlib": "^3.0.1",
-        "mkdirp": "^3.0.1",
-        "yallist": "^5.0.0"
+        "call-bound": "^1.0.2",
+        "es-errors": "^1.3.0",
+        "get-intrinsic": "^1.2.5",
+        "object-inspect": "^1.13.3",
+        "side-channel-map": "^1.0.1"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tar-fs": {
-      "version": "3.1.0",
+    "node_modules/signal-exit": {
+      "version": "3.0.7",
+      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+      "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC"
+    },
+    "node_modules/sigstore": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-4.1.0.tgz",
+      "integrity": "sha512-/fUgUhYghuLzVT/gaJoeVehLCgZiUxPCPMcyVNY0lIf/cTCz58K/WTI7PefDarXxp9nUKpEwg1yyz3eSBMTtgA==",
+      "dev": true,
+      "license": "Apache-2.0",
       "dependencies": {
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
+        "@sigstore/bundle": "^4.0.0",
+        "@sigstore/core": "^3.1.0",
+        "@sigstore/protobuf-specs": "^0.5.0",
+        "@sigstore/sign": "^4.1.0",
+        "@sigstore/tuf": "^4.0.1",
+        "@sigstore/verify": "^3.1.0"
       },
-      "optionalDependencies": {
-        "bare-fs": "^4.0.1",
-        "bare-path": "^3.0.0"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/tar-stream": {
-      "version": "3.1.7",
+    "node_modules/simple-git": {
+      "version": "3.30.0",
+      "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.30.0.tgz",
+      "integrity": "sha512-q6lxyDsCmEal/MEGhP1aVyQ3oxnagGlBDOVSIB4XUVLl1iZh0Pah6ebC9V4xBap/RfgP2WlI8EKs0WS0rMEJHg==",
       "license": "MIT",
       "dependencies": {
-        "b4a": "^1.6.4",
-        "fast-fifo": "^1.2.0",
-        "streamx": "^2.15.0"
-      }
-    },
-    "node_modules/tar/node_modules/yallist": {
-      "version": "5.0.0",
-      "license": "BlueOak-1.0.0",
-      "engines": {
-        "node": ">=18"
+        "@kwsites/file-exists": "^1.1.1",
+        "@kwsites/promise-deferred": "^1.1.1",
+        "debug": "^4.4.0"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/steveukx/git-js?sponsor=1"
       }
     },
-    "node_modules/terser": {
-      "version": "5.39.0",
-      "license": "BSD-2-Clause",
+    "node_modules/sirv": {
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/sirv/-/sirv-3.0.2.tgz",
+      "integrity": "sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==",
+      "license": "MIT",
       "dependencies": {
-        "@jridgewell/source-map": "^0.3.3",
-        "acorn": "^8.8.2",
-        "commander": "^2.20.0",
-        "source-map-support": "~0.5.20"
-      },
-      "bin": {
-        "terser": "bin/terser"
+        "@polka/url": "^1.0.0-next.24",
+        "mrmime": "^2.0.0",
+        "totalist": "^3.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
+      }
+    },
+    "node_modules/sisteransi": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+      "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+      "license": "MIT"
+    },
+    "node_modules/slash": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+      "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/terser-webpack-plugin": {
-      "version": "5.3.14",
+    "node_modules/slice-ansi": {
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.2.tgz",
+      "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jest-worker": "^27.4.5",
-        "schema-utils": "^4.3.0",
-        "serialize-javascript": "^6.0.2",
-        "terser": "^5.31.1"
+        "ansi-styles": "^6.2.1",
+        "is-fullwidth-code-point": "^5.0.0"
       },
       "engines": {
-        "node": ">= 10.13.0"
+        "node": ">=18"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^5.1.0"
-      },
-      "peerDependenciesMeta": {
-        "@swc/core": {
-          "optional": true
-        },
-        "esbuild": {
-          "optional": true
-        },
-        "uglify-js": {
-          "optional": true
-        }
+        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/jest-worker": {
-      "version": "27.5.1",
+    "node_modules/slice-ansi/node_modules/ansi-styles": {
+      "version": "6.2.3",
+      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/node": "*",
-        "merge-stream": "^2.0.0",
-        "supports-color": "^8.0.0"
-      },
       "engines": {
-        "node": ">= 10.13.0"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/supports-color": {
-      "version": "8.1.1",
+    "node_modules/slice-ansi/node_modules/is-fullwidth-code-point": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz",
+      "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "has-flag": "^4.0.0"
+        "get-east-asian-width": "^1.3.1"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/chalk/supports-color?sponsor=1"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/terser/node_modules/commander": {
-      "version": "2.20.3",
+    "node_modules/smart-buffer": {
+      "version": "4.2.0",
+      "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+      "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 6.0.0",
+        "npm": ">= 3.0.0"
+      }
+    },
+    "node_modules/smob": {
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+      "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
       "license": "MIT"
     },
-    "node_modules/test-exclude": {
-      "version": "6.0.0",
+    "node_modules/socks": {
+      "version": "2.8.7",
+      "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz",
+      "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "@istanbuljs/schema": "^0.1.2",
-        "glob": "^7.1.4",
-        "minimatch": "^3.0.4"
+        "ip-address": "^10.0.1",
+        "smart-buffer": "^4.2.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">= 10.0.0",
+        "npm": ">= 3.0.0"
       }
     },
-    "node_modules/test-exclude/node_modules/glob": {
-      "version": "7.2.3",
+    "node_modules/socks-proxy-agent": {
+      "version": "8.0.5",
+      "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz",
+      "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "fs.realpath": "^1.0.0",
-        "inflight": "^1.0.4",
-        "inherits": "2",
-        "minimatch": "^3.1.1",
-        "once": "^1.3.0",
-        "path-is-absolute": "^1.0.0"
+        "agent-base": "^7.1.2",
+        "debug": "^4.3.4",
+        "socks": "^2.8.3"
       },
       "engines": {
-        "node": "*"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": ">= 14"
       }
     },
-    "node_modules/text-decoder": {
-      "version": "1.2.3",
-      "license": "Apache-2.0",
-      "dependencies": {
-        "b4a": "^1.6.4"
+    "node_modules/source-map": {
+      "version": "0.6.1",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+      "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/text-hex": {
-      "version": "1.0.0",
-      "license": "MIT"
-    },
-    "node_modules/text-table": {
-      "version": "0.2.0",
-      "devOptional": true,
-      "license": "MIT"
-    },
-    "node_modules/thingies": {
-      "version": "1.21.0",
-      "dev": true,
-      "license": "Unlicense",
+    "node_modules/source-map-js": {
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": ">=10.18"
-      },
-      "peerDependencies": {
-        "tslib": "^2"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/through": {
-      "version": "2.3.8",
+    "node_modules/source-map-support": {
+      "version": "0.5.13",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+      "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "dependencies": {
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
+      }
     },
-    "node_modules/thunky": {
-      "version": "1.1.0",
+    "node_modules/space-separated-tokens": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz",
+      "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
     },
-    "node_modules/tiny-invariant": {
-      "version": "1.3.3",
-      "license": "MIT"
+    "node_modules/spdx-correct": {
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+      "dev": true,
+      "license": "Apache-2.0",
+      "dependencies": {
+        "spdx-expression-parse": "^3.0.0",
+        "spdx-license-ids": "^3.0.0"
+      }
     },
-    "node_modules/tinyexec": {
-      "version": "1.0.1",
-      "license": "MIT"
+    "node_modules/spdx-exceptions": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+      "dev": true,
+      "license": "CC-BY-3.0"
     },
-    "node_modules/tinyglobby": {
-      "version": "0.2.13",
+    "node_modules/spdx-expression-parse": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "fdir": "^6.4.4",
-        "picomatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=12.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/SuperchupuDev"
+        "spdx-exceptions": "^2.1.0",
+        "spdx-license-ids": "^3.0.0"
       }
     },
-    "node_modules/tinyrainbow": {
-      "version": "1.2.0",
+    "node_modules/spdx-license-ids": {
+      "version": "3.0.22",
+      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+      "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
       "dev": true,
-      "license": "MIT",
+      "license": "CC0-1.0"
+    },
+    "node_modules/speakingurl": {
+      "version": "14.0.1",
+      "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz",
+      "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==",
+      "license": "BSD-3-Clause",
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">=0.10.0"
       }
     },
-    "node_modules/tldts": {
-      "version": "6.1.86",
+    "node_modules/split-on-first": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-3.0.0.tgz",
+      "integrity": "sha512-qxQJTx2ryR0Dw0ITYyekNQWpz6f8dGd7vffGNflQQ3Iqj9NJ6qiZ7ELpZsJ/QBhIVAiDfXdag3+Gp8RvWa62AA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "tldts-core": "^6.1.86"
+      "engines": {
+        "node": ">=12"
       },
-      "bin": {
-        "tldts": "bin/cli.js"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/tldts-core": {
-      "version": "6.1.86",
+    "node_modules/sprintf-js": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
       "dev": true,
-      "license": "MIT"
+      "license": "BSD-3-Clause"
     },
-    "node_modules/tmp": {
-      "version": "0.2.5",
+    "node_modules/srvx": {
+      "version": "0.10.1",
+      "resolved": "https://registry.npmjs.org/srvx/-/srvx-0.10.1.tgz",
+      "integrity": "sha512-A//xtfak4eESMWWydSRFUVvCTQbSwivnGCEf8YGPe2eHU0+Z6znfUTCPF0a7oV3sObSOcrXHlL6Bs9vVctfXdg==",
       "license": "MIT",
+      "bin": {
+        "srvx": "bin/srvx.mjs"
+      },
       "engines": {
-        "node": ">=14.14"
+        "node": ">=20.16.0"
       }
     },
-    "node_modules/tmp-promise": {
-      "version": "3.0.3",
-      "license": "MIT",
+    "node_modules/ssri": {
+      "version": "13.0.0",
+      "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
+      "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
+      "dev": true,
+      "license": "ISC",
       "dependencies": {
-        "tmp": "^0.2.0"
+        "minipass": "^7.0.3"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/tmpl": {
-      "version": "1.0.5",
+    "node_modules/stack-utils": {
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+      "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
       "dev": true,
-      "license": "BSD-3-Clause"
-    },
-    "node_modules/to-regex-range": {
-      "version": "5.0.1",
       "license": "MIT",
       "dependencies": {
-        "is-number": "^7.0.0"
+        "escape-string-regexp": "^2.0.0"
       },
       "engines": {
-        "node": ">=8.0"
+        "node": ">=10"
       }
     },
-    "node_modules/toidentifier": {
-      "version": "1.0.1",
+    "node_modules/stack-utils/node_modules/escape-string-regexp": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+      "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+      "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=0.6"
+        "node": ">=8"
       }
     },
-    "node_modules/toml": {
-      "version": "3.0.0",
+    "node_modules/standard-as-callback": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz",
+      "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==",
       "license": "MIT"
     },
-    "node_modules/totalist": {
-      "version": "3.0.1",
+    "node_modules/statuses": {
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+      "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
       "license": "MIT",
       "engines": {
-        "node": ">=6"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/tough-cookie": {
-      "version": "5.1.2",
+    "node_modules/std-env": {
+      "version": "3.10.0",
+      "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.10.0.tgz",
+      "integrity": "sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==",
+      "license": "MIT"
+    },
+    "node_modules/stdin-discarder": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz",
+      "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==",
       "dev": true,
-      "license": "BSD-3-Clause",
-      "dependencies": {
-        "tldts": "^6.1.32"
-      },
+      "license": "MIT",
       "engines": {
-        "node": ">=16"
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/tr46": {
-      "version": "5.1.1",
+    "node_modules/stop-iteration-iterator": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz",
+      "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "punycode": "^2.3.1"
+        "es-errors": "^1.3.0",
+        "internal-slot": "^1.1.0"
       },
       "engines": {
-        "node": ">=18"
+        "node": ">= 0.4"
       }
     },
-    "node_modules/traverse": {
-      "version": "0.3.9",
-      "dev": true,
-      "license": "MIT/X11"
+    "node_modules/streamx": {
+      "version": "2.23.0",
+      "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.23.0.tgz",
+      "integrity": "sha512-kn+e44esVfn2Fa/O0CPFcex27fjIL6MkVae0Mm6q+E6f0hWv578YCERbv+4m02cjxvDsPKLnmxral/rR6lBMAg==",
+      "license": "MIT",
+      "dependencies": {
+        "events-universal": "^1.0.0",
+        "fast-fifo": "^1.3.2",
+        "text-decoder": "^1.1.0"
+      }
     },
-    "node_modules/tree-dump": {
-      "version": "1.0.3",
-      "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=10.0"
-      },
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/streamich"
-      },
-      "peerDependencies": {
-        "tslib": "2"
+    "node_modules/string_decoder": {
+      "version": "1.3.0",
+      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
+      "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+      "license": "MIT",
+      "dependencies": {
+        "safe-buffer": "~5.2.0"
       }
     },
-    "node_modules/tree-kill": {
-      "version": "1.2.2",
+    "node_modules/string-argv": {
+      "version": "0.3.2",
+      "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz",
+      "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "tree-kill": "cli.js"
+      "engines": {
+        "node": ">=0.6.19"
       }
     },
-    "node_modules/trim-lines": {
-      "version": "3.0.1",
+    "node_modules/string-length": {
+      "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+      "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
       "dev": true,
       "license": "MIT",
-      "funding": {
-        "type": "github",
-        "url": "https://github.com/sponsors/wooorm"
+      "dependencies": {
+        "char-regex": "^1.0.2",
+        "strip-ansi": "^6.0.0"
+      },
+      "engines": {
+        "node": ">=10"
       }
     },
-    "node_modules/triple-beam": {
-      "version": "1.4.1",
+    "node_modules/string-width": {
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
       "license": "MIT",
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
+      },
       "engines": {
-        "node": ">= 14.0.0"
+        "node": ">=8"
       }
     },
-    "node_modules/ts-api-utils": {
-      "version": "1.4.3",
-      "dev": true,
+    "node_modules/string-width-cjs": {
+      "name": "string-width",
+      "version": "4.2.3",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
       "license": "MIT",
-      "engines": {
-        "node": ">=16"
+      "dependencies": {
+        "emoji-regex": "^8.0.0",
+        "is-fullwidth-code-point": "^3.0.0",
+        "strip-ansi": "^6.0.1"
       },
-      "peerDependencies": {
-        "typescript": ">=4.2.0"
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/ts-dedent": {
-      "version": "2.2.0",
+    "node_modules/string.prototype.matchall": {
+      "version": "4.0.12",
+      "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz",
+      "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.3",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.6",
+        "es-errors": "^1.3.0",
+        "es-object-atoms": "^1.0.0",
+        "get-intrinsic": "^1.2.6",
+        "gopd": "^1.2.0",
+        "has-symbols": "^1.1.0",
+        "internal-slot": "^1.1.0",
+        "regexp.prototype.flags": "^1.5.3",
+        "set-function-name": "^2.0.2",
+        "side-channel": "^1.1.0"
+      },
       "engines": {
-        "node": ">=6.10"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/ts-morph": {
-      "version": "22.0.0",
+    "node_modules/string.prototype.repeat": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz",
+      "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@ts-morph/common": "~0.23.0",
-        "code-block-writer": "^13.0.1"
+        "define-properties": "^1.1.3",
+        "es-abstract": "^1.17.5"
       }
     },
-    "node_modules/tsconfck": {
-      "version": "3.1.6",
+    "node_modules/string.prototype.trim": {
+      "version": "1.2.10",
+      "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz",
+      "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==",
       "dev": true,
       "license": "MIT",
-      "bin": {
-        "tsconfck": "bin/tsconfck.js"
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.2",
+        "define-data-property": "^1.1.4",
+        "define-properties": "^1.2.1",
+        "es-abstract": "^1.23.5",
+        "es-object-atoms": "^1.0.0",
+        "has-property-descriptors": "^1.0.2"
       },
       "engines": {
-        "node": "^18 || >=20"
-      },
-      "peerDependencies": {
-        "typescript": "^5.0.0"
+        "node": ">= 0.4"
       },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tslib": {
-      "version": "2.8.1",
-      "license": "0BSD"
-    },
-    "node_modules/tsutils": {
-      "version": "3.21.0",
+    "node_modules/string.prototype.trimend": {
+      "version": "1.0.9",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz",
+      "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "tslib": "^1.8.1"
+        "call-bind": "^1.0.8",
+        "call-bound": "^1.0.2",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">= 0.4"
       },
-      "peerDependencies": {
-        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tsutils/node_modules/tslib": {
-      "version": "1.14.1",
+    "node_modules/string.prototype.trimstart": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz",
+      "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==",
       "dev": true,
-      "license": "0BSD"
-    },
-    "node_modules/tsx": {
-      "version": "4.20.3",
-      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "esbuild": "~0.25.0",
-        "get-tsconfig": "^4.7.5"
-      },
-      "bin": {
-        "tsx": "dist/cli.mjs"
+        "call-bind": "^1.0.7",
+        "define-properties": "^1.2.1",
+        "es-object-atoms": "^1.0.0"
       },
       "engines": {
-        "node": ">=18.0.0"
+        "node": ">= 0.4"
       },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/tuf-js": {
-      "version": "3.0.1",
+    "node_modules/stringify-entities": {
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz",
+      "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@tufjs/models": "3.0.1",
-        "debug": "^4.3.6",
-        "make-fetch-happen": "^14.0.1"
+        "character-entities-html4": "^2.0.0",
+        "character-entities-legacy": "^3.0.0"
       },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
       }
     },
-    "node_modules/turndown": {
-      "version": "7.2.0",
-      "dev": true,
+    "node_modules/strip-ansi": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
       "license": "MIT",
       "dependencies": {
-        "@mixmark-io/domino": "^2.2.0"
+        "ansi-regex": "^5.0.1"
+      },
+      "engines": {
+        "node": ">=8"
       }
     },
-    "node_modules/type-check": {
-      "version": "0.4.0",
-      "devOptional": true,
+    "node_modules/strip-ansi-cjs": {
+      "name": "strip-ansi",
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
       "license": "MIT",
       "dependencies": {
-        "prelude-ls": "^1.2.1"
+        "ansi-regex": "^5.0.1"
       },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">=8"
       }
     },
-    "node_modules/type-detect": {
-      "version": "4.0.8",
+    "node_modules/strip-bom": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+      "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
       "dev": true,
       "license": "MIT",
       "engines": {
-        "node": ">=4"
+        "node": ">=8"
       }
     },
-    "node_modules/type-fest": {
-      "version": "0.21.3",
+    "node_modules/strip-eof": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+      "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==",
       "dev": true,
-      "license": "(MIT OR CC0-1.0)",
+      "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">=0.10.0"
+      }
+    },
+    "node_modules/strip-final-newline": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+      "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/strip-json-comments": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+      "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+      "devOptional": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=8"
       },
       "funding": {
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/type-is": {
-      "version": "1.6.18",
-      "dev": true,
+    "node_modules/strip-literal": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.1.0.tgz",
+      "integrity": "sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==",
+      "license": "MIT",
+      "dependencies": {
+        "js-tokens": "^9.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      }
+    },
+    "node_modules/strip-literal/node_modules/js-tokens": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz",
+      "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==",
+      "license": "MIT"
+    },
+    "node_modules/structured-clone-es": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/structured-clone-es/-/structured-clone-es-1.0.0.tgz",
+      "integrity": "sha512-FL8EeKFFyNQv5cMnXI31CIMCsFarSVI2bF0U0ImeNE3g/F1IvJQyqzOXxPBRXiwQfyBTlbNe88jh1jFW0O/jiQ==",
+      "license": "ISC"
+    },
+    "node_modules/style-to-js": {
+      "version": "1.1.21",
+      "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz",
+      "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==",
+      "license": "MIT",
+      "dependencies": {
+        "style-to-object": "1.0.14"
+      }
+    },
+    "node_modules/style-to-object": {
+      "version": "1.0.14",
+      "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz",
+      "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==",
+      "license": "MIT",
+      "dependencies": {
+        "inline-style-parser": "0.2.7"
+      }
+    },
+    "node_modules/stylehacks": {
+      "version": "7.0.7",
+      "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-7.0.7.tgz",
+      "integrity": "sha512-bJkD0JkEtbRrMFtwgpJyBbFIwfDDONQ1Ov3sDLZQP8HuJ73kBOyx66H4bOcAbVWmnfLdvQ0AJwXxOMkpujcO6g==",
       "license": "MIT",
       "dependencies": {
-        "media-typer": "0.3.0",
-        "mime-types": "~2.1.24"
+        "browserslist": "^4.27.0",
+        "postcss-selector-parser": "^7.1.0"
       },
       "engines": {
-        "node": ">= 0.6"
+        "node": "^18.12.0 || ^20.9.0 || >=22.0"
+      },
+      "peerDependencies": {
+        "postcss": "^8.4.32"
       }
     },
-    "node_modules/typed-array-buffer": {
-      "version": "1.0.3",
+    "node_modules/stylis": {
+      "version": "4.3.6",
+      "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.6.tgz",
+      "integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/superjson": {
+      "version": "2.2.6",
+      "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz",
+      "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "es-errors": "^1.3.0",
-        "is-typed-array": "^1.1.14"
+        "copy-anything": "^4"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=16"
       }
     },
-    "node_modules/typed-array-byte-length": {
-      "version": "1.0.3",
-      "dev": true,
+    "node_modules/superjson/node_modules/copy-anything": {
+      "version": "4.0.5",
+      "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz",
+      "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.8",
-        "for-each": "^0.3.3",
-        "gopd": "^1.2.0",
-        "has-proto": "^1.2.0",
-        "is-typed-array": "^1.1.14"
+        "is-what": "^5.2.0"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/mesqueeb"
       }
     },
-    "node_modules/typed-array-byte-offset": {
-      "version": "1.0.4",
-      "dev": true,
+    "node_modules/superjson/node_modules/is-what": {
+      "version": "5.5.0",
+      "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz",
+      "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==",
       "license": "MIT",
-      "peer": true,
-      "dependencies": {
-        "available-typed-arrays": "^1.0.7",
-        "call-bind": "^1.0.8",
-        "for-each": "^0.3.3",
-        "gopd": "^1.2.0",
-        "has-proto": "^1.2.0",
-        "is-typed-array": "^1.1.15",
-        "reflect.getprototypeof": "^1.0.9"
-      },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "url": "https://github.com/sponsors/mesqueeb"
       }
     },
-    "node_modules/typed-array-length": {
-      "version": "1.0.7",
-      "dev": true,
+    "node_modules/supports-color": {
+      "version": "7.2.0",
+      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+      "devOptional": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bind": "^1.0.7",
-        "for-each": "^0.3.3",
-        "gopd": "^1.0.1",
-        "is-typed-array": "^1.1.13",
-        "possible-typed-array-names": "^1.0.0",
-        "reflect.getprototypeof": "^1.0.6"
+        "has-flag": "^4.0.0"
       },
+      "engines": {
+        "node": ">=8"
+      }
+    },
+    "node_modules/supports-preserve-symlinks-flag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+      "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+      "license": "MIT",
       "engines": {
         "node": ">= 0.4"
       },
@@ -29489,2418 +25917,2852 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/typed-assert": {
-      "version": "1.0.9",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/typescript": {
-      "version": "5.8.3",
-      "license": "Apache-2.0",
-      "bin": {
-        "tsc": "bin/tsc",
-        "tsserver": "bin/tsserver"
-      },
-      "engines": {
-        "node": ">=14.17"
-      }
-    },
-    "node_modules/ufo": {
-      "version": "1.6.1",
-      "license": "MIT"
-    },
-    "node_modules/ultrahtml": {
-      "version": "1.6.0",
-      "license": "MIT"
-    },
-    "node_modules/unbox-primitive": {
-      "version": "1.1.0",
-      "dev": true,
+    "node_modules/svgo": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.0.tgz",
+      "integrity": "sha512-VvrHQ+9uniE+Mvx3+C9IEe/lWasXCU0nXMY2kZeLrHNICuRiC8uMPyM14UEaMOFA5mhyQqEkB02VoQ16n3DLaw==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
-        "call-bound": "^1.0.3",
-        "has-bigints": "^1.0.2",
-        "has-symbols": "^1.1.0",
-        "which-boxed-primitive": "^1.1.1"
+        "commander": "^11.1.0",
+        "css-select": "^5.1.0",
+        "css-tree": "^3.0.1",
+        "css-what": "^6.1.0",
+        "csso": "^5.0.5",
+        "picocolors": "^1.1.1",
+        "sax": "^1.4.1"
+      },
+      "bin": {
+        "svgo": "bin/svgo.js"
       },
       "engines": {
-        "node": ">= 0.4"
+        "node": ">=16"
       },
       "funding": {
-        "url": "https://github.com/sponsors/ljharb"
+        "type": "opencollective",
+        "url": "https://opencollective.com/svgo"
       }
     },
-    "node_modules/unbzip2-stream": {
-      "version": "1.4.3",
-      "dev": true,
+    "node_modules/svgo/node_modules/commander": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz",
+      "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==",
       "license": "MIT",
-      "dependencies": {
-        "buffer": "^5.2.1",
-        "through": "^2.3.8"
+      "engines": {
+        "node": ">=16"
       }
     },
-    "node_modules/unbzip2-stream/node_modules/buffer": {
-      "version": "5.7.1",
-      "dev": true,
-      "funding": [
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/feross"
-        },
-        {
-          "type": "patreon",
-          "url": "https://www.patreon.com/feross"
-        },
-        {
-          "type": "consulting",
-          "url": "https://feross.org/support"
-        }
-      ],
-      "license": "MIT",
+    "node_modules/svgo/node_modules/css-select": {
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+      "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "base64-js": "^1.3.1",
-        "ieee754": "^1.1.13"
+        "boolbase": "^1.0.0",
+        "css-what": "^6.1.0",
+        "domhandler": "^5.0.2",
+        "domutils": "^3.0.1",
+        "nth-check": "^2.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/uncrypto": {
-      "version": "0.1.3",
-      "license": "MIT"
-    },
-    "node_modules/unctx": {
-      "version": "2.4.1",
-      "license": "MIT",
-      "dependencies": {
-        "acorn": "^8.14.0",
-        "estree-walker": "^3.0.3",
-        "magic-string": "^0.30.17",
-        "unplugin": "^2.1.0"
+    "node_modules/svgo/node_modules/css-what": {
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
+      "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
+      "license": "BSD-2-Clause",
+      "engines": {
+        "node": ">= 6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/fb55"
       }
     },
-    "node_modules/unctx/node_modules/estree-walker": {
-      "version": "3.0.3",
+    "node_modules/symbol-tree": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+      "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/sync-child-process": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/sync-child-process/-/sync-child-process-1.0.2.tgz",
+      "integrity": "sha512-8lD+t2KrrScJ/7KXCSyfhT3/hRq78rC0wBFqNJXv3mZyn6hW2ypM05JmlSvtqRbeq6jqA94oHbxAr2vYsJ8vDA==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "@types/estree": "^1.0.0"
+        "sync-message-port": "^1.0.0"
+      },
+      "engines": {
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/undici": {
-      "version": "6.21.3",
-      "dev": true,
+    "node_modules/sync-message-port": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz",
+      "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==",
+      "devOptional": true,
       "license": "MIT",
       "engines": {
-        "node": ">=18.17"
+        "node": ">=16.0.0"
       }
     },
-    "node_modules/undici-types": {
-      "version": "6.21.0",
+    "node_modules/synckit": {
+      "version": "0.11.12",
+      "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz",
+      "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==",
       "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/unenv": {
-      "version": "2.0.0-rc.17",
       "license": "MIT",
       "dependencies": {
-        "defu": "^6.1.4",
-        "exsolve": "^1.0.4",
-        "ohash": "^2.0.11",
-        "pathe": "^2.0.3",
-        "ufo": "^1.6.1"
+        "@pkgr/core": "^0.2.9"
+      },
+      "engines": {
+        "node": "^14.18.0 || >=16.0.0"
+      },
+      "funding": {
+        "url": "https://opencollective.com/synckit"
       }
     },
-    "node_modules/unenv/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/unhead": {
-      "version": "2.0.10",
+    "node_modules/system-architecture": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz",
+      "integrity": "sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==",
       "license": "MIT",
-      "dependencies": {
-        "hookable": "^5.5.3"
+      "engines": {
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://github.com/sponsors/harlan-zw"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.1",
+    "node_modules/tabbable": {
+      "version": "6.4.0",
+      "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.4.0.tgz",
+      "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==",
       "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/tagged-tag": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/tagged-tag/-/tagged-tag-1.0.0.tgz",
+      "integrity": "sha512-yEFYrVhod+hdNyx7g5Bnkkb0G6si8HJurOoOEgC8B/O0uXLHlaey/65KRv6cuWBNhBgHKAROVpc7QyYqE5gFng==",
       "license": "MIT",
       "engines": {
-        "node": ">=4"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/unicode-match-property-ecmascript": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/tar": {
+      "version": "7.5.7",
+      "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.7.tgz",
+      "integrity": "sha512-fov56fJiRuThVFXD6o6/Q354S7pnWMJIVlDBYijsTNx6jKSE4pvrDTs6lUnmGvNyfJwFQQwWy3owKz1ucIhveQ==",
+      "license": "BlueOak-1.0.0",
       "dependencies": {
-        "unicode-canonical-property-names-ecmascript": "^2.0.0",
-        "unicode-property-aliases-ecmascript": "^2.0.0"
+        "@isaacs/fs-minipass": "^4.0.0",
+        "chownr": "^3.0.0",
+        "minipass": "^7.1.2",
+        "minizlib": "^3.1.0",
+        "yallist": "^5.0.0"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=18"
       }
     },
-    "node_modules/unicode-match-property-value-ecmascript": {
-      "version": "2.2.0",
+    "node_modules/tar-fs": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.1.1.tgz",
+      "integrity": "sha512-LZA0oaPOc2fVo82Txf3gw+AkEd38szODlptMYejQUhndHMLQ9M059uXR+AfS7DNo0NpINvSqDsvyaCrBVkptWg==",
       "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">=4"
+      "dependencies": {
+        "pump": "^3.0.0",
+        "tar-stream": "^3.1.5"
+      },
+      "optionalDependencies": {
+        "bare-fs": "^4.0.1",
+        "bare-path": "^3.0.0"
       }
     },
-    "node_modules/unicode-property-aliases-ecmascript": {
-      "version": "2.1.0",
-      "dev": true,
+    "node_modules/tar-stream": {
+      "version": "3.1.7",
+      "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.7.tgz",
+      "integrity": "sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==",
       "license": "MIT",
-      "engines": {
-        "node": ">=4"
+      "dependencies": {
+        "b4a": "^1.6.4",
+        "fast-fifo": "^1.2.0",
+        "streamx": "^2.15.0"
       }
     },
-    "node_modules/unicorn-magic": {
-      "version": "0.3.0",
-      "license": "MIT",
+    "node_modules/tar/node_modules/yallist": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz",
+      "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==",
+      "license": "BlueOak-1.0.0",
       "engines": {
         "node": ">=18"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/unimport": {
-      "version": "5.0.1",
-      "license": "MIT",
+    "node_modules/terser": {
+      "version": "5.46.0",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz",
+      "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==",
+      "license": "BSD-2-Clause",
+      "peer": true,
       "dependencies": {
-        "acorn": "^8.14.1",
-        "escape-string-regexp": "^5.0.0",
-        "estree-walker": "^3.0.3",
-        "local-pkg": "^1.1.1",
-        "magic-string": "^0.30.17",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.3",
-        "picomatch": "^4.0.2",
-        "pkg-types": "^2.1.0",
-        "scule": "^1.3.0",
-        "strip-literal": "^3.0.0",
-        "tinyglobby": "^0.2.13",
-        "unplugin": "^2.3.2",
-        "unplugin-utils": "^0.2.4"
+        "@jridgewell/source-map": "^0.3.3",
+        "acorn": "^8.15.0",
+        "commander": "^2.20.0",
+        "source-map-support": "~0.5.20"
+      },
+      "bin": {
+        "terser": "bin/terser"
       },
       "engines": {
-        "node": ">=18.12.0"
+        "node": ">=10"
       }
     },
-    "node_modules/unimport/node_modules/escape-string-regexp": {
-      "version": "5.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
+    "node_modules/terser/node_modules/commander": {
+      "version": "2.20.3",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
+      "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
+      "license": "MIT"
     },
-    "node_modules/unimport/node_modules/estree-walker": {
-      "version": "3.0.3",
+    "node_modules/terser/node_modules/source-map-support": {
+      "version": "0.5.21",
+      "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
+      "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
       "license": "MIT",
       "dependencies": {
-        "@types/estree": "^1.0.0"
+        "buffer-from": "^1.0.0",
+        "source-map": "^0.6.0"
       }
     },
-    "node_modules/unimport/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/unique-filename": {
-      "version": "4.0.0",
+    "node_modules/test-exclude": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+      "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
-        "unique-slug": "^5.0.0"
+        "@istanbuljs/schema": "^0.1.2",
+        "glob": "^7.1.4",
+        "minimatch": "^3.0.4"
       },
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=8"
       }
     },
-    "node_modules/unique-slug": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/text-decoder": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/text-decoder/-/text-decoder-1.2.3.tgz",
+      "integrity": "sha512-3/o9z3X0X0fTupwsYvR03pJ/DjWuqqrfwBgTQzdWDiQSm9KitAyz/9WqsT2JQW7KV2m+bC2ol/zqpW37NHxLaA==",
+      "license": "Apache-2.0",
       "dependencies": {
-        "imurmurhash": "^0.1.4"
-      },
-      "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "b4a": "^1.6.4"
       }
     },
-    "node_modules/unist-util-is": {
-      "version": "6.0.0",
-      "dev": true,
+    "node_modules/tiny-invariant": {
+      "version": "1.3.3",
+      "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz",
+      "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==",
+      "license": "MIT"
+    },
+    "node_modules/tinyexec": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz",
+      "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==",
       "license": "MIT",
-      "dependencies": {
-        "@types/unist": "^3.0.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+      "engines": {
+        "node": ">=18"
       }
     },
-    "node_modules/unist-util-position": {
-      "version": "5.0.0",
-      "dev": true,
+    "node_modules/tinyglobby": {
+      "version": "0.2.15",
+      "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+      "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
       "license": "MIT",
       "dependencies": {
-        "@types/unist": "^3.0.0"
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.3"
+      },
+      "engines": {
+        "node": ">=12.0.0"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/SuperchupuDev"
       }
     },
-    "node_modules/unist-util-stringify-position": {
-      "version": "4.0.0",
-      "dev": true,
+    "node_modules/tinyglobby/node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
       "license": "MIT",
-      "dependencies": {
-        "@types/unist": "^3.0.0"
+      "engines": {
+        "node": ">=12.0.0"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
+      },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
       }
     },
-    "node_modules/unist-util-visit": {
-      "version": "5.0.0",
-      "dev": true,
+    "node_modules/tinyglobby/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "dependencies": {
-        "@types/unist": "^3.0.0",
-        "unist-util-is": "^6.0.0",
-        "unist-util-visit-parents": "^6.0.0"
+      "peer": true,
+      "engines": {
+        "node": ">=12"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/unist-util-visit-parents": {
-      "version": "6.0.1",
+    "node_modules/tldts": {
+      "version": "6.1.86",
+      "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.86.tgz",
+      "integrity": "sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/unist": "^3.0.0",
-        "unist-util-is": "^6.0.0"
+        "tldts-core": "^6.1.86"
       },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+      "bin": {
+        "tldts": "bin/cli.js"
       }
     },
-    "node_modules/universal-user-agent": {
-      "version": "6.0.1",
+    "node_modules/tldts-core": {
+      "version": "6.1.86",
+      "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.86.tgz",
+      "integrity": "sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==",
       "dev": true,
-      "license": "ISC"
+      "license": "MIT"
     },
-    "node_modules/unixify": {
-      "version": "1.0.0",
+    "node_modules/tmpl": {
+      "version": "1.0.5",
+      "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+      "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+      "dev": true,
+      "license": "BSD-3-Clause"
+    },
+    "node_modules/to-regex-range": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
       "license": "MIT",
       "dependencies": {
-        "normalize-path": "^2.1.1"
+        "is-number": "^7.0.0"
       },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=8.0"
       }
     },
-    "node_modules/unixify/node_modules/normalize-path": {
-      "version": "2.1.1",
+    "node_modules/toidentifier": {
+      "version": "1.0.1",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
+      "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
       "license": "MIT",
-      "dependencies": {
-        "remove-trailing-separator": "^1.0.1"
-      },
       "engines": {
-        "node": ">=0.10.0"
+        "node": ">=0.6"
       }
     },
-    "node_modules/unpipe": {
-      "version": "1.0.0",
-      "dev": true,
+    "node_modules/totalist": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
+      "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
       "license": "MIT",
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=6"
       }
     },
-    "node_modules/unplugin": {
-      "version": "2.3.5",
-      "license": "MIT",
+    "node_modules/tough-cookie": {
+      "version": "5.1.2",
+      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.1.2.tgz",
+      "integrity": "sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==",
+      "dev": true,
+      "license": "BSD-3-Clause",
       "dependencies": {
-        "acorn": "^8.14.1",
-        "picomatch": "^4.0.2",
-        "webpack-virtual-modules": "^0.6.2"
+        "tldts": "^6.1.32"
       },
       "engines": {
-        "node": ">=18.12.0"
+        "node": ">=16"
       }
     },
-    "node_modules/unplugin-utils": {
-      "version": "0.2.4",
+    "node_modules/tr46": {
+      "version": "5.1.1",
+      "resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
+      "integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "pathe": "^2.0.2",
-        "picomatch": "^4.0.2"
+        "punycode": "^2.3.1"
       },
       "engines": {
-        "node": ">=18.12.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sxzz"
+        "node": ">=18"
       }
     },
-    "node_modules/unplugin-utils/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
+    "node_modules/trim-lines": {
+      "version": "3.0.1",
+      "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+      "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/wooorm"
+      }
     },
-    "node_modules/unplugin-vue-router": {
-      "version": "0.12.0",
+    "node_modules/ts-api-utils": {
+      "version": "2.4.0",
+      "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz",
+      "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.26.8",
-        "@vue-macros/common": "^1.16.1",
-        "ast-walker-scope": "^0.6.2",
-        "chokidar": "^4.0.3",
-        "fast-glob": "^3.3.3",
-        "json5": "^2.2.3",
-        "local-pkg": "^1.0.0",
-        "magic-string": "^0.30.17",
-        "micromatch": "^4.0.8",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.2",
-        "scule": "^1.3.0",
-        "unplugin": "^2.2.0",
-        "unplugin-utils": "^0.2.3",
-        "yaml": "^2.7.0"
+      "engines": {
+        "node": ">=18.12"
       },
       "peerDependencies": {
-        "vue-router": "^4.4.0"
-      },
-      "peerDependenciesMeta": {
-        "vue-router": {
-          "optional": true
-        }
+        "typescript": ">=4.8.4"
       }
     },
-    "node_modules/unplugin-vue-router/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
+    "node_modules/ts-dedent": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz",
+      "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=6.10"
+      }
     },
-    "node_modules/unstorage": {
-      "version": "1.16.0",
+    "node_modules/ts-morph": {
+      "version": "22.0.0",
+      "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-22.0.0.tgz",
+      "integrity": "sha512-M9MqFGZREyeb5fTl6gNHKZLqBQA0TjA1lea+CR48R8EBTDuWrNqW6ccC5QvjNR4s6wDumD3LTCjOFSp9iwlzaw==",
       "license": "MIT",
       "dependencies": {
-        "anymatch": "^3.1.3",
-        "chokidar": "^4.0.3",
-        "destr": "^2.0.5",
-        "h3": "^1.15.2",
-        "lru-cache": "^10.4.3",
-        "node-fetch-native": "^1.6.6",
-        "ofetch": "^1.4.1",
-        "ufo": "^1.6.1"
+        "@ts-morph/common": "~0.23.0",
+        "code-block-writer": "^13.0.1"
+      }
+    },
+    "node_modules/tsconfck": {
+      "version": "3.1.6",
+      "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz",
+      "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==",
+      "dev": true,
+      "license": "MIT",
+      "bin": {
+        "tsconfck": "bin/tsconfck.js"
+      },
+      "engines": {
+        "node": "^18 || >=20"
       },
       "peerDependencies": {
-        "@azure/app-configuration": "^1.8.0",
-        "@azure/cosmos": "^4.2.0",
-        "@azure/data-tables": "^13.3.0",
-        "@azure/identity": "^4.6.0",
-        "@azure/keyvault-secrets": "^4.9.0",
-        "@azure/storage-blob": "^12.26.0",
-        "@capacitor/preferences": "^6.0.3 || ^7.0.0",
-        "@deno/kv": ">=0.9.0",
-        "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0",
-        "@planetscale/database": "^1.19.0",
-        "@upstash/redis": "^1.34.3",
-        "@vercel/blob": ">=0.27.1",
-        "@vercel/kv": "^1.0.1",
-        "aws4fetch": "^1.0.20",
-        "db0": ">=0.2.1",
-        "idb-keyval": "^6.2.1",
-        "ioredis": "^5.4.2",
-        "uploadthing": "^7.4.4"
+        "typescript": "^5.0.0"
       },
       "peerDependenciesMeta": {
-        "@azure/app-configuration": {
-          "optional": true
-        },
-        "@azure/cosmos": {
-          "optional": true
-        },
-        "@azure/data-tables": {
-          "optional": true
-        },
-        "@azure/identity": {
-          "optional": true
-        },
-        "@azure/keyvault-secrets": {
-          "optional": true
-        },
-        "@azure/storage-blob": {
-          "optional": true
-        },
-        "@capacitor/preferences": {
-          "optional": true
-        },
-        "@deno/kv": {
-          "optional": true
-        },
-        "@netlify/blobs": {
-          "optional": true
-        },
-        "@planetscale/database": {
-          "optional": true
-        },
-        "@upstash/redis": {
-          "optional": true
-        },
-        "@vercel/blob": {
-          "optional": true
-        },
-        "@vercel/kv": {
-          "optional": true
-        },
-        "aws4fetch": {
-          "optional": true
-        },
-        "db0": {
-          "optional": true
-        },
-        "idb-keyval": {
-          "optional": true
-        },
-        "ioredis": {
-          "optional": true
-        },
-        "uploadthing": {
+        "typescript": {
           "optional": true
         }
       }
     },
-    "node_modules/unstorage/node_modules/lru-cache": {
-      "version": "10.4.3",
-      "license": "ISC"
+    "node_modules/tslib": {
+      "version": "2.8.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+      "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+      "license": "0BSD",
+      "peer": true
     },
-    "node_modules/untun": {
-      "version": "0.1.3",
+    "node_modules/tsutils": {
+      "version": "3.21.0",
+      "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+      "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "citty": "^0.1.5",
-        "consola": "^3.2.3",
-        "pathe": "^1.1.1"
+        "tslib": "^1.8.1"
       },
-      "bin": {
-        "untun": "bin/untun.mjs"
+      "engines": {
+        "node": ">= 6"
+      },
+      "peerDependencies": {
+        "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
       }
     },
-    "node_modules/untyped": {
-      "version": "2.0.0",
+    "node_modules/tsutils/node_modules/tslib": {
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+      "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+      "dev": true,
+      "license": "0BSD"
+    },
+    "node_modules/tsx": {
+      "version": "4.21.0",
+      "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
+      "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
+      "devOptional": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "citty": "^0.1.6",
-        "defu": "^6.1.4",
-        "jiti": "^2.4.2",
-        "knitwork": "^1.2.0",
-        "scule": "^1.3.0"
+        "esbuild": "~0.27.0",
+        "get-tsconfig": "^4.7.5"
       },
       "bin": {
-        "untyped": "dist/cli.mjs"
+        "tsx": "dist/cli.mjs"
+      },
+      "engines": {
+        "node": ">=18.0.0"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
       }
     },
-    "node_modules/unwasm": {
-      "version": "0.3.9",
+    "node_modules/tuf-js": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-4.1.0.tgz",
+      "integrity": "sha512-50QV99kCKH5P/Vs4E2Gzp7BopNV+KzTXqWeaxrfu5IQJBOULRsTIS9seSsOVT8ZnGXzCyx55nYWAi4qJzpZKEQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "knitwork": "^1.0.0",
-        "magic-string": "^0.30.8",
-        "mlly": "^1.6.1",
-        "pathe": "^1.1.2",
-        "pkg-types": "^1.0.3",
-        "unplugin": "^1.10.0"
+        "@tufjs/models": "4.1.0",
+        "debug": "^4.4.3",
+        "make-fetch-happen": "^15.0.1"
+      },
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/unwasm/node_modules/confbox": {
-      "version": "0.1.8",
-      "license": "MIT"
+    "node_modules/tunnel": {
+      "version": "0.0.6",
+      "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
+      "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
+      }
     },
-    "node_modules/unwasm/node_modules/pkg-types": {
-      "version": "1.3.1",
+    "node_modules/turndown": {
+      "version": "7.2.2",
+      "resolved": "https://registry.npmjs.org/turndown/-/turndown-7.2.2.tgz",
+      "integrity": "sha512-1F7db8BiExOKxjSMU2b7if62D/XOyQyZbPKq/nUwopfgnHlqXHqQ0lvfUTeUIr1lZJzOPFn43dODyMSIfvWRKQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "confbox": "^0.1.8",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.1"
+        "@mixmark-io/domino": "^2.2.0"
       }
     },
-    "node_modules/unwasm/node_modules/pkg-types/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/unwasm/node_modules/unplugin": {
-      "version": "1.16.1",
+    "node_modules/type-check": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+      "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "acorn": "^8.14.0",
-        "webpack-virtual-modules": "^0.6.2"
+        "prelude-ls": "^1.2.1"
       },
       "engines": {
-        "node": ">=14.0.0"
+        "node": ">= 0.8.0"
       }
     },
-    "node_modules/unzipper": {
-      "version": "0.10.14",
+    "node_modules/type-detect": {
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+      "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "big-integer": "^1.6.17",
-        "binary": "~0.3.0",
-        "bluebird": "~3.4.1",
-        "buffer-indexof-polyfill": "~1.0.0",
-        "duplexer2": "~0.1.4",
-        "fstream": "^1.0.12",
-        "graceful-fs": "^4.2.2",
-        "listenercount": "~1.0.1",
-        "readable-stream": "~2.3.6",
-        "setimmediate": "~1.0.4"
+      "engines": {
+        "node": ">=4"
       }
     },
-    "node_modules/unzipper/node_modules/isarray": {
-      "version": "1.0.0",
+    "node_modules/type-fest": {
+      "version": "0.21.3",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+      "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+      "dev": true,
+      "license": "(MIT OR CC0-1.0)",
+      "engines": {
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
+    "node_modules/type-is": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
+      "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
       "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "content-type": "^1.0.5",
+        "media-typer": "^1.1.0",
+        "mime-types": "^3.0.0"
+      },
+      "engines": {
+        "node": ">= 0.6"
+      }
+    },
+    "node_modules/type-level-regexp": {
+      "version": "0.1.17",
+      "resolved": "https://registry.npmjs.org/type-level-regexp/-/type-level-regexp-0.1.17.tgz",
+      "integrity": "sha512-wTk4DH3cxwk196uGLK/E9pE45aLfeKJacKmcEgEOA/q5dnPGNxXt0cfYdFxb57L+sEpf1oJH4Dnx/pnRcku9jg==",
       "license": "MIT"
     },
-    "node_modules/unzipper/node_modules/readable-stream": {
-      "version": "2.3.8",
+    "node_modules/typed-array-buffer": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
+      "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "core-util-is": "~1.0.0",
-        "inherits": "~2.0.3",
-        "isarray": "~1.0.0",
-        "process-nextick-args": "~2.0.0",
-        "safe-buffer": "~5.1.1",
-        "string_decoder": "~1.1.1",
-        "util-deprecate": "~1.0.1"
+        "call-bound": "^1.0.3",
+        "es-errors": "^1.3.0",
+        "is-typed-array": "^1.1.14"
+      },
+      "engines": {
+        "node": ">= 0.4"
       }
     },
-    "node_modules/unzipper/node_modules/safe-buffer": {
-      "version": "5.1.2",
+    "node_modules/typed-array-byte-length": {
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz",
+      "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==",
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "dependencies": {
+        "call-bind": "^1.0.8",
+        "for-each": "^0.3.3",
+        "gopd": "^1.2.0",
+        "has-proto": "^1.2.0",
+        "is-typed-array": "^1.1.14"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
+      }
     },
-    "node_modules/unzipper/node_modules/string_decoder": {
-      "version": "1.1.1",
+    "node_modules/typed-array-byte-offset": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz",
+      "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "safe-buffer": "~5.1.0"
+        "available-typed-arrays": "^1.0.7",
+        "call-bind": "^1.0.8",
+        "for-each": "^0.3.3",
+        "gopd": "^1.2.0",
+        "has-proto": "^1.2.0",
+        "is-typed-array": "^1.1.15",
+        "reflect.getprototypeof": "^1.0.9"
+      },
+      "engines": {
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/update-browserslist-db": {
-      "version": "1.1.3",
-      "funding": [
-        {
-          "type": "opencollective",
-          "url": "https://opencollective.com/browserslist"
-        },
-        {
-          "type": "tidelift",
-          "url": "https://tidelift.com/funding/github/npm/browserslist"
-        },
-        {
-          "type": "github",
-          "url": "https://github.com/sponsors/ai"
-        }
-      ],
+    "node_modules/typed-array-length": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz",
+      "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "escalade": "^3.2.0",
-        "picocolors": "^1.1.1"
+        "call-bind": "^1.0.7",
+        "for-each": "^0.3.3",
+        "gopd": "^1.0.1",
+        "is-typed-array": "^1.1.13",
+        "possible-typed-array-names": "^1.0.0",
+        "reflect.getprototypeof": "^1.0.6"
       },
-      "bin": {
-        "update-browserslist-db": "cli.js"
+      "engines": {
+        "node": ">= 0.4"
       },
-      "peerDependencies": {
-        "browserslist": ">= 4.21.0"
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/uqr": {
-      "version": "0.1.2",
+    "node_modules/typed-query-selector": {
+      "version": "2.12.0",
+      "resolved": "https://registry.npmjs.org/typed-query-selector/-/typed-query-selector-2.12.0.tgz",
+      "integrity": "sha512-SbklCd1F0EiZOyPiW192rrHZzZ5sBijB6xM+cpmrwDqObvdtunOHHIk9fCGsoK5JVIYXoyEp4iEdE3upFH3PAg==",
+      "dev": true,
       "license": "MIT"
     },
-    "node_modules/uri-js": {
-      "version": "4.4.1",
+    "node_modules/typescript": {
+      "version": "5.9.3",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
+      "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
       "devOptional": true,
-      "license": "BSD-2-Clause",
-      "dependencies": {
-        "punycode": "^2.1.0"
+      "license": "Apache-2.0",
+      "peer": true,
+      "bin": {
+        "tsc": "bin/tsc",
+        "tsserver": "bin/tsserver"
+      },
+      "engines": {
+        "node": ">=14.17"
       }
     },
-    "node_modules/url-join": {
-      "version": "5.0.0",
+    "node_modules/typescript-eslint": {
+      "version": "8.53.1",
+      "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.1.tgz",
+      "integrity": "sha512-gB+EVQfP5RDElh9ittfXlhZJdjSU4jUSTyE2+ia8CYyNvet4ElfaLlAIqDvQV9JPknKx0jQH1racTYe/4LaLSg==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "@typescript-eslint/eslint-plugin": "8.53.1",
+        "@typescript-eslint/parser": "8.53.1",
+        "@typescript-eslint/typescript-estree": "8.53.1",
+        "@typescript-eslint/utils": "8.53.1"
+      },
       "engines": {
-        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/typescript-eslint"
+      },
+      "peerDependencies": {
+        "eslint": "^8.57.0 || ^9.0.0",
+        "typescript": ">=4.8.4 <6.0.0"
       }
     },
-    "node_modules/urlpattern-polyfill": {
-      "version": "8.0.2",
+    "node_modules/ufo": {
+      "version": "1.6.3",
+      "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz",
+      "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==",
       "license": "MIT"
     },
-    "node_modules/userhome": {
-      "version": "1.0.1",
+    "node_modules/ultrahtml": {
+      "version": "1.6.0",
+      "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz",
+      "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==",
+      "license": "MIT"
+    },
+    "node_modules/unbox-primitive": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz",
+      "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "call-bound": "^1.0.3",
+        "has-bigints": "^1.0.2",
+        "has-symbols": "^1.1.0",
+        "which-boxed-primitive": "^1.1.1"
+      },
       "engines": {
-        "node": ">= 0.8.0"
+        "node": ">= 0.4"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/util-deprecate": {
-      "version": "1.0.2",
+    "node_modules/uncrypto": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz",
+      "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==",
       "license": "MIT"
     },
-    "node_modules/utils-merge": {
-      "version": "1.0.1",
-      "dev": true,
+    "node_modules/unctx": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/unctx/-/unctx-2.5.0.tgz",
+      "integrity": "sha512-p+Rz9x0R7X+CYDkT+Xg8/GhpcShTlU8n+cf9OtOEf7zEQsNcCZO1dPKNRDqvUTaq+P32PMMkxWHwfrxkqfqAYg==",
       "license": "MIT",
-      "engines": {
-        "node": ">= 0.4.0"
+      "dependencies": {
+        "acorn": "^8.15.0",
+        "estree-walker": "^3.0.3",
+        "magic-string": "^0.30.21",
+        "unplugin": "^2.3.11"
       }
     },
-    "node_modules/uuid": {
-      "version": "11.1.0",
-      "funding": [
-        "https://github.com/sponsors/broofa",
-        "https://github.com/sponsors/ctavan"
-      ],
+    "node_modules/unctx/node_modules/estree-walker": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+      "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
       "license": "MIT",
-      "bin": {
-        "uuid": "dist/esm/bin/uuid"
+      "dependencies": {
+        "@types/estree": "^1.0.0"
       }
     },
-    "node_modules/v8-to-istanbul": {
-      "version": "9.3.0",
+    "node_modules/undici": {
+      "version": "5.29.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
+      "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.12",
-        "@types/istanbul-lib-coverage": "^2.0.1",
-        "convert-source-map": "^2.0.0"
+        "@fastify/busboy": "^2.0.0"
       },
       "engines": {
-        "node": ">=10.12.0"
+        "node": ">=14.0"
       }
     },
-    "node_modules/v8-to-istanbul/node_modules/convert-source-map": {
-      "version": "2.0.0",
-      "dev": true,
+    "node_modules/undici-types": {
+      "version": "7.16.0",
+      "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz",
+      "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==",
+      "devOptional": true,
       "license": "MIT"
     },
-    "node_modules/validate-npm-package-license": {
-      "version": "3.0.4",
-      "license": "Apache-2.0",
+    "node_modules/unenv": {
+      "version": "2.0.0-rc.24",
+      "resolved": "https://registry.npmjs.org/unenv/-/unenv-2.0.0-rc.24.tgz",
+      "integrity": "sha512-i7qRCmY42zmCwnYlh9H2SvLEypEFGye5iRmEMKjcGi7zk9UquigRjFtTLz0TYqr0ZGLZhaMHl/foy1bZR+Cwlw==",
+      "license": "MIT",
       "dependencies": {
-        "spdx-correct": "^3.0.0",
-        "spdx-expression-parse": "^3.0.0"
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/validate-npm-package-name": {
+    "node_modules/unhead": {
+      "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/unhead/-/unhead-2.1.2.tgz",
+      "integrity": "sha512-vSihrxyb+zsEUfEbraZBCjdE0p/WSoc2NGDrpwwSNAwuPxhYK1nH3eegf02IENLpn1sUhL8IoO84JWmRQ6tILA==",
+      "license": "MIT",
+      "dependencies": {
+        "hookable": "^6.0.1"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/harlan-zw"
+      }
+    },
+    "node_modules/unhead/node_modules/hookable": {
       "version": "6.0.1",
-      "dev": true,
-      "license": "ISC",
+      "resolved": "https://registry.npmjs.org/hookable/-/hookable-6.0.1.tgz",
+      "integrity": "sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw==",
+      "license": "MIT"
+    },
+    "node_modules/unicorn-magic": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.4.0.tgz",
+      "integrity": "sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==",
+      "license": "MIT",
       "engines": {
-        "node": "^18.17.0 || >=20.5.0"
+        "node": ">=20"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/vary": {
-      "version": "1.1.2",
-      "dev": true,
+    "node_modules/unimport": {
+      "version": "5.6.0",
+      "resolved": "https://registry.npmjs.org/unimport/-/unimport-5.6.0.tgz",
+      "integrity": "sha512-8rqAmtJV8o60x46kBAJKtHpJDJWkA2xcBqWKPI14MgUb05o1pnpnCnXSxedUXyeq7p8fR5g3pTo2BaswZ9lD9A==",
       "license": "MIT",
+      "dependencies": {
+        "acorn": "^8.15.0",
+        "escape-string-regexp": "^5.0.0",
+        "estree-walker": "^3.0.3",
+        "local-pkg": "^1.1.2",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3",
+        "pkg-types": "^2.3.0",
+        "scule": "^1.3.0",
+        "strip-literal": "^3.1.0",
+        "tinyglobby": "^0.2.15",
+        "unplugin": "^2.3.11",
+        "unplugin-utils": "^0.3.1"
+      },
       "engines": {
-        "node": ">= 0.8"
+        "node": ">=18.12.0"
       }
     },
-    "node_modules/vfile": {
-      "version": "6.0.3",
-      "dev": true,
+    "node_modules/unimport/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
+      "license": "MIT"
+    },
+    "node_modules/unimport/node_modules/escape-string-regexp": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz",
+      "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==",
       "license": "MIT",
-      "dependencies": {
-        "@types/unist": "^3.0.0",
-        "vfile-message": "^4.0.0"
+      "engines": {
+        "node": ">=12"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/vfile-message": {
-      "version": "4.0.2",
-      "dev": true,
+    "node_modules/unimport/node_modules/estree-walker": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+      "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
       "license": "MIT",
       "dependencies": {
-        "@types/unist": "^3.0.0",
-        "unist-util-stringify-position": "^4.0.0"
+        "@types/estree": "^1.0.0"
+      }
+    },
+    "node_modules/unimport/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/unified"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/vite": {
-      "version": "6.3.5",
+    "node_modules/unimport/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "esbuild": "^0.25.0",
-        "fdir": "^6.4.4",
-        "picomatch": "^4.0.2",
-        "postcss": "^8.5.3",
-        "rollup": "^4.34.9",
-        "tinyglobby": "^0.2.13"
-      },
-      "bin": {
-        "vite": "bin/vite.js"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
+      }
+    },
+    "node_modules/unimport/node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
+      "license": "MIT",
+      "dependencies": {
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+        "node": ">=20.19.0"
       },
       "funding": {
-        "url": "https://github.com/vitejs/vite?sponsor=1"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
+        "url": "https://github.com/sponsors/sxzz"
+      }
+    },
+    "node_modules/unique-filename": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz",
+      "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "unique-slug": "^6.0.0"
       },
-      "peerDependencies": {
-        "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0",
-        "jiti": ">=1.21.0",
-        "less": "*",
-        "lightningcss": "^1.21.0",
-        "sass": "*",
-        "sass-embedded": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.16.0",
-        "tsx": "^4.8.1",
-        "yaml": "^2.4.2"
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
+      }
+    },
+    "node_modules/unique-slug": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz",
+      "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==",
+      "dev": true,
+      "license": "ISC",
+      "dependencies": {
+        "imurmurhash": "^0.1.4"
       },
-      "peerDependenciesMeta": {
-        "@types/node": {
-          "optional": true
-        },
-        "jiti": {
-          "optional": true
-        },
-        "less": {
-          "optional": true
-        },
-        "lightningcss": {
-          "optional": true
-        },
-        "sass": {
-          "optional": true
-        },
-        "sass-embedded": {
-          "optional": true
-        },
-        "stylus": {
-          "optional": true
-        },
-        "sugarss": {
-          "optional": true
-        },
-        "terser": {
-          "optional": true
-        },
-        "tsx": {
-          "optional": true
-        },
-        "yaml": {
-          "optional": true
-        }
+      "engines": {
+        "node": "^20.17.0 || >=22.9.0"
       }
     },
-    "node_modules/vite-dev-rpc": {
-      "version": "1.0.7",
+    "node_modules/unist-util-is": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.1.tgz",
+      "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "birpc": "^2.0.19",
-        "vite-hot-client": "^2.0.4"
+        "@types/unist": "^3.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1"
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/vite-hot-client": {
-      "version": "2.0.4",
+    "node_modules/unist-util-position": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz",
+      "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==",
+      "dev": true,
       "license": "MIT",
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
+      "dependencies": {
+        "@types/unist": "^3.0.0"
       },
-      "peerDependencies": {
-        "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0"
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/vite-node": {
-      "version": "3.2.3",
+    "node_modules/unist-util-stringify-position": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz",
+      "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "cac": "^6.7.14",
-        "debug": "^4.4.1",
-        "es-module-lexer": "^1.7.0",
-        "pathe": "^2.0.3",
-        "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0"
-      },
-      "bin": {
-        "vite-node": "vite-node.mjs"
-      },
-      "engines": {
-        "node": "^18.0.0 || ^20.0.0 || >=22.0.0"
+        "@types/unist": "^3.0.0"
       },
       "funding": {
-        "url": "https://opencollective.com/vitest"
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/vite-node/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/vite-plugin-inspect": {
-      "version": "11.1.0",
+    "node_modules/unist-util-visit": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.1.0.tgz",
+      "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "ansis": "^3.17.0",
-        "debug": "^4.4.1",
-        "error-stack-parser-es": "^1.0.5",
-        "ohash": "^2.0.11",
-        "open": "^10.1.2",
-        "perfect-debounce": "^1.0.0",
-        "sirv": "^3.0.1",
-        "unplugin-utils": "^0.2.4",
-        "vite-dev-rpc": "^1.0.7"
-      },
-      "engines": {
-        "node": ">=14"
+        "@types/unist": "^3.0.0",
+        "unist-util-is": "^6.0.0",
+        "unist-util-visit-parents": "^6.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "vite": "^6.0.0"
-      },
-      "peerDependenciesMeta": {
-        "@nuxt/kit": {
-          "optional": true
-        }
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/vite-plugin-inspect/node_modules/open": {
-      "version": "10.1.2",
+    "node_modules/unist-util-visit-parents": {
+      "version": "6.0.2",
+      "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz",
+      "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
-        "default-browser": "^5.2.1",
-        "define-lazy-prop": "^3.0.0",
-        "is-inside-container": "^1.0.0",
-        "is-wsl": "^3.1.0"
-      },
-      "engines": {
-        "node": ">=18"
+        "@types/unist": "^3.0.0",
+        "unist-util-is": "^6.0.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/vite-plugin-vue-tracer": {
-      "version": "0.1.4",
+    "node_modules/universal-user-agent": {
+      "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz",
+      "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==",
+      "dev": true,
+      "license": "ISC"
+    },
+    "node_modules/unpipe": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+      "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+      "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "estree-walker": "^3.0.3",
-        "exsolve": "^1.0.5",
-        "magic-string": "^0.30.17",
-        "pathe": "^2.0.3",
-        "source-map-js": "^1.2.1"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/antfu"
-      },
-      "peerDependencies": {
-        "vite": "^6.0.0",
-        "vue": "^3.5.0"
+      "engines": {
+        "node": ">= 0.8"
       }
     },
-    "node_modules/vite-plugin-vue-tracer/node_modules/estree-walker": {
-      "version": "3.0.3",
+    "node_modules/unplugin": {
+      "version": "2.3.11",
+      "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-2.3.11.tgz",
+      "integrity": "sha512-5uKD0nqiYVzlmCRs01Fhs2BdkEgBS3SAVP6ndrBsuK42iC2+JHyxM05Rm9G8+5mkmRtzMZGY8Ct5+mliZxU/Ww==",
       "license": "MIT",
       "dependencies": {
-        "@types/estree": "^1.0.0"
+        "@jridgewell/remapping": "^2.3.5",
+        "acorn": "^8.15.0",
+        "picomatch": "^4.0.3",
+        "webpack-virtual-modules": "^0.6.2"
+      },
+      "engines": {
+        "node": ">=18.12.0"
       }
     },
-    "node_modules/vite-plugin-vue-tracer/node_modules/pathe": {
-      "version": "2.0.3",
-      "license": "MIT"
-    },
-    "node_modules/vite-tsconfig-paths": {
-      "version": "5.1.4",
-      "dev": true,
+    "node_modules/unplugin-utils": {
+      "version": "0.2.5",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.2.5.tgz",
+      "integrity": "sha512-gwXJnPRewT4rT7sBi/IvxKTjsms7jX7QIDLOClApuZwR49SXbrB1z2NLUZ+vDHyqCj/n58OzRRqaW+B8OZi8vg==",
       "license": "MIT",
       "dependencies": {
-        "debug": "^4.1.1",
-        "globrex": "^0.1.2",
-        "tsconfck": "^3.0.3"
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
       },
-      "peerDependencies": {
-        "vite": "*"
+      "engines": {
+        "node": ">=18.12.0"
       },
-      "peerDependenciesMeta": {
-        "vite": {
-          "optional": true
-        }
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/vitepress": {
-      "version": "1.6.4",
-      "dev": true,
+    "node_modules/unplugin-utils/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "dependencies": {
-        "@docsearch/css": "3.8.2",
-        "@docsearch/js": "3.8.2",
-        "@iconify-json/simple-icons": "^1.2.21",
-        "@shikijs/core": "^2.1.0",
-        "@shikijs/transformers": "^2.1.0",
-        "@shikijs/types": "^2.1.0",
-        "@types/markdown-it": "^14.1.2",
-        "@vitejs/plugin-vue": "^5.2.1",
-        "@vue/devtools-api": "^7.7.0",
-        "@vue/shared": "^3.5.13",
-        "@vueuse/core": "^12.4.0",
-        "@vueuse/integrations": "^12.4.0",
-        "focus-trap": "^7.6.4",
-        "mark.js": "8.11.1",
-        "minisearch": "^7.1.1",
-        "shiki": "^2.1.0",
-        "vite": "^5.4.14",
-        "vue": "^3.5.13"
+      "engines": {
+        "node": ">=12"
       },
-      "bin": {
-        "vitepress": "bin/vitepress.js"
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/unplugin-vue-router": {
+      "version": "0.19.2",
+      "resolved": "https://registry.npmjs.org/unplugin-vue-router/-/unplugin-vue-router-0.19.2.tgz",
+      "integrity": "sha512-u5dgLBarxE5cyDK/hzJGfpCTLIAyiTXGlo85COuD4Nssj6G7NxS+i9mhCWz/1p/ud1eMwdcUbTXehQe41jYZUA==",
+      "license": "MIT",
+      "dependencies": {
+        "@babel/generator": "^7.28.5",
+        "@vue-macros/common": "^3.1.1",
+        "@vue/language-core": "^3.2.1",
+        "ast-walker-scope": "^0.8.3",
+        "chokidar": "^5.0.0",
+        "json5": "^2.2.3",
+        "local-pkg": "^1.1.2",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "muggle-string": "^0.4.1",
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3",
+        "scule": "^1.3.0",
+        "tinyglobby": "^0.2.15",
+        "unplugin": "^2.3.11",
+        "unplugin-utils": "^0.3.1",
+        "yaml": "^2.8.2"
       },
       "peerDependencies": {
-        "markdown-it-mathjax3": "^4",
-        "postcss": "^8"
+        "@vue/compiler-sfc": "^3.5.17",
+        "vue-router": "^4.6.0"
       },
       "peerDependenciesMeta": {
-        "markdown-it-mathjax3": {
-          "optional": true
-        },
-        "postcss": {
+        "vue-router": {
           "optional": true
         }
       }
     },
-    "node_modules/vitepress-plugin-mermaid": {
-      "version": "2.0.17",
-      "dev": true,
-      "license": "MIT",
-      "optionalDependencies": {
-        "@mermaid-js/mermaid-mindmap": "^9.3.0"
-      },
-      "peerDependencies": {
-        "mermaid": "10 || 11",
-        "vitepress": "^1.0.0 || ^1.0.0-alpha"
-      }
-    },
-    "node_modules/vitepress/node_modules/@esbuild/linux-x64": {
-      "version": "0.21.5",
-      "cpu": [
-        "x64"
-      ],
-      "dev": true,
+    "node_modules/unplugin-vue-router/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "optional": true,
-      "os": [
-        "linux"
-      ],
       "engines": {
         "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/vitepress/node_modules/esbuild": {
-      "version": "0.21.5",
-      "dev": true,
-      "hasInstallScript": true,
+    "node_modules/unplugin-vue-router/node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
       "license": "MIT",
-      "bin": {
-        "esbuild": "bin/esbuild"
+      "dependencies": {
+        "pathe": "^2.0.3",
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": ">=12"
+        "node": ">=20.19.0"
       },
-      "optionalDependencies": {
-        "@esbuild/aix-ppc64": "0.21.5",
-        "@esbuild/android-arm": "0.21.5",
-        "@esbuild/android-arm64": "0.21.5",
-        "@esbuild/android-x64": "0.21.5",
-        "@esbuild/darwin-arm64": "0.21.5",
-        "@esbuild/darwin-x64": "0.21.5",
-        "@esbuild/freebsd-arm64": "0.21.5",
-        "@esbuild/freebsd-x64": "0.21.5",
-        "@esbuild/linux-arm": "0.21.5",
-        "@esbuild/linux-arm64": "0.21.5",
-        "@esbuild/linux-ia32": "0.21.5",
-        "@esbuild/linux-loong64": "0.21.5",
-        "@esbuild/linux-mips64el": "0.21.5",
-        "@esbuild/linux-ppc64": "0.21.5",
-        "@esbuild/linux-riscv64": "0.21.5",
-        "@esbuild/linux-s390x": "0.21.5",
-        "@esbuild/linux-x64": "0.21.5",
-        "@esbuild/netbsd-x64": "0.21.5",
-        "@esbuild/openbsd-x64": "0.21.5",
-        "@esbuild/sunos-x64": "0.21.5",
-        "@esbuild/win32-arm64": "0.21.5",
-        "@esbuild/win32-ia32": "0.21.5",
-        "@esbuild/win32-x64": "0.21.5"
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/vitepress/node_modules/vite": {
-      "version": "5.4.19",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "esbuild": "^0.21.3",
-        "postcss": "^8.4.43",
-        "rollup": "^4.20.0"
-      },
-      "bin": {
-        "vite": "bin/vite.js"
-      },
+    "node_modules/unplugin/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
       "engines": {
-        "node": "^18.0.0 || >=20.0.0"
+        "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/vitejs/vite?sponsor=1"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.3"
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/unstorage": {
+      "version": "1.17.4",
+      "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz",
+      "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==",
+      "license": "MIT",
+      "dependencies": {
+        "anymatch": "^3.1.3",
+        "chokidar": "^5.0.0",
+        "destr": "^2.0.5",
+        "h3": "^1.15.5",
+        "lru-cache": "^11.2.0",
+        "node-fetch-native": "^1.6.7",
+        "ofetch": "^1.5.1",
+        "ufo": "^1.6.3"
       },
       "peerDependencies": {
-        "@types/node": "^18.0.0 || >=20.0.0",
-        "less": "*",
-        "lightningcss": "^1.21.0",
-        "sass": "*",
-        "sass-embedded": "*",
-        "stylus": "*",
-        "sugarss": "*",
-        "terser": "^5.4.0"
+        "@azure/app-configuration": "^1.8.0",
+        "@azure/cosmos": "^4.2.0",
+        "@azure/data-tables": "^13.3.0",
+        "@azure/identity": "^4.6.0",
+        "@azure/keyvault-secrets": "^4.9.0",
+        "@azure/storage-blob": "^12.26.0",
+        "@capacitor/preferences": "^6 || ^7 || ^8",
+        "@deno/kv": ">=0.9.0",
+        "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0",
+        "@planetscale/database": "^1.19.0",
+        "@upstash/redis": "^1.34.3",
+        "@vercel/blob": ">=0.27.1",
+        "@vercel/functions": "^2.2.12 || ^3.0.0",
+        "@vercel/kv": "^1 || ^2 || ^3",
+        "aws4fetch": "^1.0.20",
+        "db0": ">=0.2.1",
+        "idb-keyval": "^6.2.1",
+        "ioredis": "^5.4.2",
+        "uploadthing": "^7.4.4"
       },
       "peerDependenciesMeta": {
-        "@types/node": {
+        "@azure/app-configuration": {
           "optional": true
         },
-        "less": {
+        "@azure/cosmos": {
           "optional": true
         },
-        "lightningcss": {
+        "@azure/data-tables": {
           "optional": true
         },
-        "sass": {
+        "@azure/identity": {
           "optional": true
         },
-        "sass-embedded": {
+        "@azure/keyvault-secrets": {
           "optional": true
         },
-        "stylus": {
+        "@azure/storage-blob": {
           "optional": true
         },
-        "sugarss": {
+        "@capacitor/preferences": {
           "optional": true
         },
-        "terser": {
+        "@deno/kv": {
+          "optional": true
+        },
+        "@netlify/blobs": {
+          "optional": true
+        },
+        "@planetscale/database": {
+          "optional": true
+        },
+        "@upstash/redis": {
+          "optional": true
+        },
+        "@vercel/blob": {
+          "optional": true
+        },
+        "@vercel/functions": {
+          "optional": true
+        },
+        "@vercel/kv": {
+          "optional": true
+        },
+        "aws4fetch": {
+          "optional": true
+        },
+        "db0": {
+          "optional": true
+        },
+        "idb-keyval": {
+          "optional": true
+        },
+        "ioredis": {
+          "optional": true
+        },
+        "uploadthing": {
           "optional": true
         }
       }
     },
-    "node_modules/vscode-jsonrpc": {
-      "version": "8.2.0",
-      "dev": true,
-      "license": "MIT",
+    "node_modules/unstorage/node_modules/lru-cache": {
+      "version": "11.2.5",
+      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.5.tgz",
+      "integrity": "sha512-vFrFJkWtJvJnD5hg+hJvVE8Lh/TcMzKnTgCWmtBipwI5yLX/iX+5UB2tfuyODF5E7k9xEzMdYgGqaSb1c0c5Yw==",
+      "license": "BlueOak-1.0.0",
       "engines": {
-        "node": ">=14.0.0"
+        "node": "20 || >=22"
       }
     },
-    "node_modules/vscode-languageserver": {
-      "version": "9.0.1",
-      "dev": true,
+    "node_modules/untun": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/untun/-/untun-0.1.3.tgz",
+      "integrity": "sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==",
       "license": "MIT",
       "dependencies": {
-        "vscode-languageserver-protocol": "3.17.5"
+        "citty": "^0.1.5",
+        "consola": "^3.2.3",
+        "pathe": "^1.1.1"
       },
       "bin": {
-        "installServerIntoExtension": "bin/installServerIntoExtension"
-      }
-    },
-    "node_modules/vscode-languageserver-protocol": {
-      "version": "3.17.5",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "vscode-jsonrpc": "8.2.0",
-        "vscode-languageserver-types": "3.17.5"
+        "untun": "bin/untun.mjs"
       }
     },
-    "node_modules/vscode-languageserver-textdocument": {
-      "version": "1.0.12",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/vscode-languageserver-types": {
-      "version": "3.17.5",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/vscode-uri": {
-      "version": "3.0.8",
-      "devOptional": true,
+    "node_modules/untun/node_modules/pathe": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz",
+      "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==",
       "license": "MIT"
     },
-    "node_modules/vue": {
-      "version": "3.5.16",
+    "node_modules/untyped": {
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/untyped/-/untyped-2.0.0.tgz",
+      "integrity": "sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==",
       "license": "MIT",
       "dependencies": {
-        "@vue/compiler-dom": "3.5.16",
-        "@vue/compiler-sfc": "3.5.16",
-        "@vue/runtime-dom": "3.5.16",
-        "@vue/server-renderer": "3.5.16",
-        "@vue/shared": "3.5.16"
-      },
-      "peerDependencies": {
-        "typescript": "*"
+        "citty": "^0.1.6",
+        "defu": "^6.1.4",
+        "jiti": "^2.4.2",
+        "knitwork": "^1.2.0",
+        "scule": "^1.3.0"
       },
-      "peerDependenciesMeta": {
-        "typescript": {
-          "optional": true
-        }
+      "bin": {
+        "untyped": "dist/cli.mjs"
       }
     },
-    "node_modules/vue-bundle-renderer": {
-      "version": "2.1.1",
+    "node_modules/unwasm": {
+      "version": "0.5.3",
+      "resolved": "https://registry.npmjs.org/unwasm/-/unwasm-0.5.3.tgz",
+      "integrity": "sha512-keBgTSfp3r6+s9ZcSma+0chwxQdmLbB5+dAD9vjtB21UTMYuKAxHXCU1K2CbCtnP09EaWeRvACnXk0EJtUx+hw==",
       "license": "MIT",
       "dependencies": {
-        "ufo": "^1.5.4"
+        "exsolve": "^1.0.8",
+        "knitwork": "^1.3.0",
+        "magic-string": "^0.30.21",
+        "mlly": "^1.8.0",
+        "pathe": "^2.0.3",
+        "pkg-types": "^2.3.0"
       }
     },
-    "node_modules/vue-devtools-stub": {
-      "version": "0.1.0",
+    "node_modules/unwasm/node_modules/confbox": {
+      "version": "0.2.2",
+      "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
+      "integrity": "sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==",
       "license": "MIT"
     },
-    "node_modules/vue-eslint-parser": {
-      "version": "9.4.3",
-      "dev": true,
+    "node_modules/unwasm/node_modules/pkg-types": {
+      "version": "2.3.0",
+      "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-2.3.0.tgz",
+      "integrity": "sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==",
       "license": "MIT",
       "dependencies": {
-        "debug": "^4.3.4",
-        "eslint-scope": "^7.1.1",
-        "eslint-visitor-keys": "^3.3.0",
-        "espree": "^9.3.1",
-        "esquery": "^1.4.0",
-        "lodash": "^4.17.21",
-        "semver": "^7.3.6"
-      },
-      "engines": {
-        "node": "^14.17.0 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/mysticatea"
-      },
-      "peerDependencies": {
-        "eslint": ">=6.0.0"
+        "confbox": "^0.2.2",
+        "exsolve": "^1.0.7",
+        "pathe": "^2.0.3"
       }
     },
-    "node_modules/vue-router": {
-      "version": "4.5.1",
+    "node_modules/update-browserslist-db": {
+      "version": "1.2.3",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz",
+      "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==",
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        },
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/ai"
+        }
+      ],
       "license": "MIT",
       "dependencies": {
-        "@vue/devtools-api": "^6.6.4"
+        "escalade": "^3.2.0",
+        "picocolors": "^1.1.1"
       },
-      "funding": {
-        "url": "https://github.com/sponsors/posva"
+      "bin": {
+        "update-browserslist-db": "cli.js"
       },
       "peerDependencies": {
-        "vue": "^3.2.0"
+        "browserslist": ">= 4.21.0"
       }
     },
-    "node_modules/vue-router/node_modules/@vue/devtools-api": {
-      "version": "6.6.4",
+    "node_modules/uqr": {
+      "version": "0.1.2",
+      "resolved": "https://registry.npmjs.org/uqr/-/uqr-0.1.2.tgz",
+      "integrity": "sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==",
       "license": "MIT"
     },
-    "node_modules/vue-tsc": {
-      "version": "2.2.10",
+    "node_modules/uri-js": {
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+      "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
       "devOptional": true,
-      "license": "MIT",
+      "license": "BSD-2-Clause",
       "dependencies": {
-        "@volar/typescript": "~2.4.11",
-        "@vue/language-core": "2.2.10"
-      },
-      "bin": {
-        "vue-tsc": "bin/vue-tsc.js"
-      },
-      "peerDependencies": {
-        "typescript": ">=5.0.0"
+        "punycode": "^2.1.0"
       }
     },
-    "node_modules/w3c-xmlserializer": {
+    "node_modules/url-join": {
       "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/url-join/-/url-join-5.0.0.tgz",
+      "integrity": "sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "xml-name-validator": "^5.0.0"
-      },
       "engines": {
-        "node": ">=18"
+        "node": "^12.20.0 || ^14.13.1 || >=16.0.0"
       }
     },
-    "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": {
-      "version": "5.0.0",
+    "node_modules/util-deprecate": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+      "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
+      "license": "MIT"
+    },
+    "node_modules/uuid": {
+      "version": "11.1.0",
+      "resolved": "https://registry.npmjs.org/uuid/-/uuid-11.1.0.tgz",
+      "integrity": "sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==",
       "dev": true,
-      "license": "Apache-2.0",
-      "engines": {
-        "node": ">=18"
+      "funding": [
+        "https://github.com/sponsors/broofa",
+        "https://github.com/sponsors/ctavan"
+      ],
+      "license": "MIT",
+      "bin": {
+        "uuid": "dist/esm/bin/uuid"
       }
     },
-    "node_modules/wait-port": {
-      "version": "1.1.0",
+    "node_modules/v8-to-istanbul": {
+      "version": "9.3.0",
+      "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
+      "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==",
       "dev": true,
-      "license": "MIT",
+      "license": "ISC",
       "dependencies": {
-        "chalk": "^4.1.2",
-        "commander": "^9.3.0",
-        "debug": "^4.3.4"
-      },
-      "bin": {
-        "wait-port": "bin/wait-port.js"
+        "@jridgewell/trace-mapping": "^0.3.12",
+        "@types/istanbul-lib-coverage": "^2.0.1",
+        "convert-source-map": "^2.0.0"
       },
       "engines": {
-        "node": ">=10"
+        "node": ">=10.12.0"
       }
     },
-    "node_modules/wait-port/node_modules/commander": {
-      "version": "9.5.0",
+    "node_modules/validate-npm-package-license": {
+      "version": "3.0.4",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": "^12.20.0 || >=14"
+      "license": "Apache-2.0",
+      "dependencies": {
+        "spdx-correct": "^3.0.0",
+        "spdx-expression-parse": "^3.0.0"
       }
     },
-    "node_modules/walker": {
-      "version": "1.0.8",
+    "node_modules/validate-npm-package-name": {
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz",
+      "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==",
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "makeerror": "1.0.12"
+      "license": "ISC",
+      "engines": {
+        "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
       }
     },
-    "node_modules/watchpack": {
-      "version": "2.4.2",
+    "node_modules/varint": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/varint/-/varint-6.0.0.tgz",
+      "integrity": "sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/vary": {
+      "version": "1.1.2",
+      "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
+      "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.1.2"
-      },
       "engines": {
-        "node": ">=10.13.0"
+        "node": ">= 0.8"
       }
     },
-    "node_modules/wbuf": {
-      "version": "1.7.3",
+    "node_modules/vfile": {
+      "version": "6.0.3",
+      "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz",
+      "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "minimalistic-assert": "^1.0.0"
+        "@types/unist": "^3.0.0",
+        "vfile-message": "^4.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/wcwidth": {
-      "version": "1.0.1",
+    "node_modules/vfile-message": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.3.tgz",
+      "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "defaults": "^1.0.3"
+        "@types/unist": "^3.0.0",
+        "unist-util-stringify-position": "^4.0.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/unified"
       }
     },
-    "node_modules/wdio-nuxt-service": {
-      "version": "0.2.0",
-      "dev": true,
+    "node_modules/vite": {
+      "version": "7.3.1",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-7.3.1.tgz",
+      "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@nuxt/kit": "^3.11.0",
-        "@nuxt/schema": "^3.11.0",
-        "@wdio/logger": "^8.28.0",
-        "c12": "^1.10.0",
-        "chokidar": "^3.6.0",
-        "get-port": "^7.0.0",
-        "h3": "^1.11.1",
-        "listhen": "^1.7.2",
-        "pathe": "^1.1.2",
-        "perfect-debounce": "^1.0.0",
-        "ufo": "^1.5.2"
+        "esbuild": "^0.27.0",
+        "fdir": "^6.5.0",
+        "picomatch": "^4.0.3",
+        "postcss": "^8.5.6",
+        "rollup": "^4.43.0",
+        "tinyglobby": "^0.2.15"
+      },
+      "bin": {
+        "vite": "bin/vite.js"
       },
       "engines": {
-        "node": "^16.13 || >=18 || >=20"
+        "node": "^20.19.0 || >=22.12.0"
+      },
+      "funding": {
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
       },
       "peerDependencies": {
-        "@wdio/types": "^7.0.0 || ^8.0.0",
-        "webdriverio": "^7.0.0 || ^8.0.0"
+        "@types/node": "^20.19.0 || >=22.12.0",
+        "jiti": ">=1.21.0",
+        "less": "^4.0.0",
+        "lightningcss": "^1.21.0",
+        "sass": "^1.70.0",
+        "sass-embedded": "^1.70.0",
+        "stylus": ">=0.54.8",
+        "sugarss": "^5.0.0",
+        "terser": "^5.16.0",
+        "tsx": "^4.8.1",
+        "yaml": "^2.4.2"
       },
       "peerDependenciesMeta": {
-        "@wdio/types": {
+        "@types/node": {
           "optional": true
         },
-        "webdriverio": {
-          "optional": false
+        "jiti": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "lightningcss": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
+          "optional": true
+        },
+        "terser": {
+          "optional": true
+        },
+        "tsx": {
+          "optional": true
+        },
+        "yaml": {
+          "optional": true
         }
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/@wdio/logger": {
-      "version": "8.38.0",
-      "dev": true,
+    "node_modules/vite-dev-rpc": {
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/vite-dev-rpc/-/vite-dev-rpc-1.1.0.tgz",
+      "integrity": "sha512-pKXZlgoXGoE8sEKiKJSng4hI1sQ4wi5YT24FCrwrLt6opmkjlqPPVmiPWWJn8M8byMxRGzp1CrFuqQs4M/Z39A==",
       "license": "MIT",
       "dependencies": {
-        "chalk": "^5.1.2",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "strip-ansi": "^7.1.0"
+        "birpc": "^2.4.0",
+        "vite-hot-client": "^2.1.0"
       },
-      "engines": {
-        "node": "^16.13 || >=18"
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      },
+      "peerDependencies": {
+        "vite": "^2.9.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0 || ^6.0.1 || ^7.0.0-0"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/ansi-regex": {
-      "version": "6.1.0",
-      "dev": true,
+    "node_modules/vite-hot-client": {
+      "version": "2.1.0",
+      "resolved": "https://registry.npmjs.org/vite-hot-client/-/vite-hot-client-2.1.0.tgz",
+      "integrity": "sha512-7SpgZmU7R+dDnSmvXE1mfDtnHLHQSisdySVR7lO8ceAXvM0otZeuQQ6C8LrS5d/aYyP/QZ0hI0L+dIPrm4YlFQ==",
+      "license": "MIT",
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      },
+      "peerDependencies": {
+        "vite": "^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0 || ^6.0.0-0 || ^7.0.0-0"
+      }
+    },
+    "node_modules/vite-node": {
+      "version": "5.3.0",
+      "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-5.3.0.tgz",
+      "integrity": "sha512-8f20COPYJujc3OKPX6OuyBy3ZIv2det4eRRU4GY1y2MjbeGSUmPjedxg1b72KnTagCofwvZ65ThzjxDW2AtQFQ==",
       "license": "MIT",
+      "dependencies": {
+        "cac": "^6.7.14",
+        "es-module-lexer": "^2.0.0",
+        "obug": "^2.1.1",
+        "pathe": "^2.0.3",
+        "vite": "^7.3.1"
+      },
+      "bin": {
+        "vite-node": "dist/cli.mjs"
+      },
       "engines": {
-        "node": ">=12"
+        "node": "^20.19.0 || >=22.12.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+        "url": "https://opencollective.com/antfu"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/c12": {
-      "version": "1.11.2",
-      "dev": true,
+    "node_modules/vite-plugin-checker": {
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/vite-plugin-checker/-/vite-plugin-checker-0.12.0.tgz",
+      "integrity": "sha512-CmdZdDOGss7kdQwv73UyVgLPv0FVYe5czAgnmRX2oKljgEvSrODGuClaV3PDR2+3ou7N/OKGauDDBjy2MB07Rg==",
       "license": "MIT",
       "dependencies": {
-        "chokidar": "^3.6.0",
-        "confbox": "^0.1.7",
-        "defu": "^6.1.4",
-        "dotenv": "^16.4.5",
-        "giget": "^1.2.3",
-        "jiti": "^1.21.6",
-        "mlly": "^1.7.1",
-        "ohash": "^1.1.3",
-        "pathe": "^1.1.2",
-        "perfect-debounce": "^1.0.0",
-        "pkg-types": "^1.2.0",
-        "rc9": "^2.1.2"
+        "@babel/code-frame": "^7.27.1",
+        "chokidar": "^4.0.3",
+        "npm-run-path": "^6.0.0",
+        "picocolors": "^1.1.1",
+        "picomatch": "^4.0.3",
+        "tiny-invariant": "^1.3.3",
+        "tinyglobby": "^0.2.15",
+        "vscode-uri": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=16.11"
       },
       "peerDependencies": {
-        "magicast": "^0.3.4"
+        "@biomejs/biome": ">=1.7",
+        "eslint": ">=9.39.1",
+        "meow": "^13.2.0",
+        "optionator": "^0.9.4",
+        "oxlint": ">=1",
+        "stylelint": ">=16",
+        "typescript": "*",
+        "vite": ">=5.4.21",
+        "vls": "*",
+        "vti": "*",
+        "vue-tsc": "~2.2.10 || ^3.0.0"
       },
       "peerDependenciesMeta": {
-        "magicast": {
+        "@biomejs/biome": {
+          "optional": true
+        },
+        "eslint": {
+          "optional": true
+        },
+        "meow": {
+          "optional": true
+        },
+        "optionator": {
+          "optional": true
+        },
+        "oxlint": {
+          "optional": true
+        },
+        "stylelint": {
+          "optional": true
+        },
+        "typescript": {
+          "optional": true
+        },
+        "vls": {
+          "optional": true
+        },
+        "vti": {
+          "optional": true
+        },
+        "vue-tsc": {
           "optional": true
         }
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/chalk": {
-      "version": "5.4.1",
-      "dev": true,
+    "node_modules/vite-plugin-checker/node_modules/chokidar": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz",
+      "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==",
       "license": "MIT",
+      "dependencies": {
+        "readdirp": "^4.0.1"
+      },
       "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+        "node": ">= 14.16.0"
       },
       "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/chokidar": {
-      "version": "3.6.0",
-      "dev": true,
+    "node_modules/vite-plugin-checker/node_modules/npm-run-path": {
+      "version": "6.0.0",
+      "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz",
+      "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==",
       "license": "MIT",
       "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
+        "path-key": "^4.0.0",
+        "unicorn-magic": "^0.3.0"
       },
       "engines": {
-        "node": ">= 8.10.0"
+        "node": ">=18"
       },
       "funding": {
-        "url": "https://paulmillr.com/funding/"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/chownr": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "ISC",
+    "node_modules/vite-plugin-checker/node_modules/path-key": {
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz",
+      "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==",
+      "license": "MIT",
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/confbox": {
-      "version": "0.1.8",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/fs-minipass": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "minipass": "^3.0.0"
-      },
+    "node_modules/vite-plugin-checker/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
       "engines": {
-        "node": ">= 8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/fs-minipass/node_modules/minipass": {
-      "version": "3.3.6",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
+    "node_modules/vite-plugin-checker/node_modules/readdirp": {
+      "version": "4.1.2",
+      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
+      "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
+      "license": "MIT",
       "engines": {
-        "node": ">=8"
+        "node": ">= 14.18.0"
+      },
+      "funding": {
+        "type": "individual",
+        "url": "https://paulmillr.com/funding/"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/giget": {
-      "version": "1.2.5",
-      "dev": true,
+    "node_modules/vite-plugin-checker/node_modules/unicorn-magic": {
+      "version": "0.3.0",
+      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
+      "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
       "license": "MIT",
-      "dependencies": {
-        "citty": "^0.1.6",
-        "consola": "^3.4.0",
-        "defu": "^6.1.4",
-        "node-fetch-native": "^1.6.6",
-        "nypm": "^0.5.4",
-        "pathe": "^2.0.3",
-        "tar": "^6.2.1"
+      "engines": {
+        "node": ">=18"
       },
-      "bin": {
-        "giget": "dist/cli.mjs"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/giget/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
+    "node_modules/vite-plugin-checker/node_modules/vscode-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.1.0.tgz",
+      "integrity": "sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==",
       "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/glob-parent": {
-      "version": "5.1.2",
-      "dev": true,
-      "license": "ISC",
+    },
+    "node_modules/vite-plugin-inspect": {
+      "version": "11.3.3",
+      "resolved": "https://registry.npmjs.org/vite-plugin-inspect/-/vite-plugin-inspect-11.3.3.tgz",
+      "integrity": "sha512-u2eV5La99oHoYPHE6UvbwgEqKKOQGz86wMg40CCosP6q8BkB6e5xPneZfYagK4ojPJSj5anHCrnvC20DpwVdRA==",
+      "license": "MIT",
       "dependencies": {
-        "is-glob": "^4.0.1"
+        "ansis": "^4.1.0",
+        "debug": "^4.4.1",
+        "error-stack-parser-es": "^1.0.5",
+        "ohash": "^2.0.11",
+        "open": "^10.2.0",
+        "perfect-debounce": "^2.0.0",
+        "sirv": "^3.0.1",
+        "unplugin-utils": "^0.3.0",
+        "vite-dev-rpc": "^1.1.0"
       },
       "engines": {
-        "node": ">= 6"
+        "node": ">=14"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/antfu"
+      },
+      "peerDependencies": {
+        "vite": "^6.0.0 || ^7.0.0-0"
+      },
+      "peerDependenciesMeta": {
+        "@nuxt/kit": {
+          "optional": true
+        }
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/jiti": {
-      "version": "1.21.7",
-      "dev": true,
+    "node_modules/vite-plugin-inspect/node_modules/define-lazy-prop": {
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz",
+      "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==",
       "license": "MIT",
-      "bin": {
-        "jiti": "bin/jiti.js"
-      }
-    },
-    "node_modules/wdio-nuxt-service/node_modules/minipass": {
-      "version": "5.0.0",
-      "dev": true,
-      "license": "ISC",
       "engines": {
-        "node": ">=8"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/minizlib": {
-      "version": "2.1.2",
-      "dev": true,
+    "node_modules/vite-plugin-inspect/node_modules/open": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz",
+      "integrity": "sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==",
       "license": "MIT",
       "dependencies": {
-        "minipass": "^3.0.0",
-        "yallist": "^4.0.0"
+        "default-browser": "^5.2.1",
+        "define-lazy-prop": "^3.0.0",
+        "is-inside-container": "^1.0.0",
+        "wsl-utils": "^0.1.0"
       },
       "engines": {
-        "node": ">= 8"
-      }
-    },
-    "node_modules/wdio-nuxt-service/node_modules/minizlib/node_modules/minipass": {
-      "version": "3.3.6",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
+        "node": ">=18"
       },
-      "engines": {
-        "node": ">=8"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/mkdirp": {
-      "version": "1.0.4",
-      "dev": true,
+    "node_modules/vite-plugin-inspect/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
       "license": "MIT",
-      "bin": {
-        "mkdirp": "bin/cmd.js"
-      },
       "engines": {
-        "node": ">=10"
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/nypm": {
-      "version": "0.5.4",
-      "dev": true,
+    "node_modules/vite-plugin-inspect/node_modules/unplugin-utils": {
+      "version": "0.3.1",
+      "resolved": "https://registry.npmjs.org/unplugin-utils/-/unplugin-utils-0.3.1.tgz",
+      "integrity": "sha512-5lWVjgi6vuHhJ526bI4nlCOmkCIF3nnfXkCMDeMJrtdvxTs6ZFCM8oNufGTsDbKv/tJ/xj8RpvXjRuPBZJuJog==",
       "license": "MIT",
       "dependencies": {
-        "citty": "^0.1.6",
-        "consola": "^3.4.0",
         "pathe": "^2.0.3",
-        "pkg-types": "^1.3.1",
-        "tinyexec": "^0.3.2",
-        "ufo": "^1.5.4"
-      },
-      "bin": {
-        "nypm": "dist/cli.mjs"
+        "picomatch": "^4.0.3"
       },
       "engines": {
-        "node": "^14.16.0 || >=16.10.0"
+        "node": ">=20.19.0"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/nypm/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/ohash": {
-      "version": "1.1.6",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/picomatch": {
-      "version": "2.3.1",
-      "dev": true,
+    "node_modules/vite-plugin-vue-tracer": {
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/vite-plugin-vue-tracer/-/vite-plugin-vue-tracer-1.2.0.tgz",
+      "integrity": "sha512-a9Z/TLpxwmoE9kIcv28wqQmiszM7ec4zgndXWEsVD/2lEZLRGzcg7ONXmplzGF/UP5W59QNtS809OdywwpUWQQ==",
       "license": "MIT",
-      "engines": {
-        "node": ">=8.6"
+      "dependencies": {
+        "estree-walker": "^3.0.3",
+        "exsolve": "^1.0.8",
+        "magic-string": "^0.30.21",
+        "pathe": "^2.0.3",
+        "source-map-js": "^1.2.1"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "url": "https://github.com/sponsors/antfu"
+      },
+      "peerDependencies": {
+        "vite": "^6.0.0 || ^7.0.0",
+        "vue": "^3.5.0"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/pkg-types": {
-      "version": "1.3.1",
-      "dev": true,
+    "node_modules/vite-plugin-vue-tracer/node_modules/estree-walker": {
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz",
+      "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==",
       "license": "MIT",
       "dependencies": {
-        "confbox": "^0.1.8",
-        "mlly": "^1.7.4",
-        "pathe": "^2.0.1"
+        "@types/estree": "^1.0.0"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/pkg-types/node_modules/pathe": {
-      "version": "2.0.3",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/readdirp": {
-      "version": "3.6.0",
+    "node_modules/vite-tsconfig-paths": {
+      "version": "6.0.5",
+      "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-6.0.5.tgz",
+      "integrity": "sha512-f/WvY6ekHykUF1rWJUAbCU7iS/5QYDIugwpqJA+ttwKbxSbzNlqlE8vZSrsnxNQciUW+z6lvhlXMaEyZn9MSig==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "picomatch": "^2.2.1"
+        "debug": "^4.1.1",
+        "globrex": "^0.1.2",
+        "tsconfck": "^3.0.3"
       },
-      "engines": {
-        "node": ">=8.10.0"
+      "peerDependencies": {
+        "vite": "*"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/strip-ansi": {
-      "version": "7.1.0",
-      "dev": true,
+    "node_modules/vite/node_modules/fdir": {
+      "version": "6.5.0",
+      "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+      "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
+      "engines": {
+        "node": ">=12.0.0"
+      },
+      "peerDependencies": {
+        "picomatch": "^3 || ^4"
       },
+      "peerDependenciesMeta": {
+        "picomatch": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/vite/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">=12"
       },
       "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+        "url": "https://github.com/sponsors/jonschlinkert"
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/tar": {
-      "version": "6.2.1",
+    "node_modules/vitepress": {
+      "version": "1.6.4",
+      "resolved": "https://registry.npmjs.org/vitepress/-/vitepress-1.6.4.tgz",
+      "integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "chownr": "^2.0.0",
-        "fs-minipass": "^2.0.0",
-        "minipass": "^5.0.0",
-        "minizlib": "^2.1.1",
-        "mkdirp": "^1.0.3",
-        "yallist": "^4.0.0"
+        "@docsearch/css": "3.8.2",
+        "@docsearch/js": "3.8.2",
+        "@iconify-json/simple-icons": "^1.2.21",
+        "@shikijs/core": "^2.1.0",
+        "@shikijs/transformers": "^2.1.0",
+        "@shikijs/types": "^2.1.0",
+        "@types/markdown-it": "^14.1.2",
+        "@vitejs/plugin-vue": "^5.2.1",
+        "@vue/devtools-api": "^7.7.0",
+        "@vue/shared": "^3.5.13",
+        "@vueuse/core": "^12.4.0",
+        "@vueuse/integrations": "^12.4.0",
+        "focus-trap": "^7.6.4",
+        "mark.js": "8.11.1",
+        "minisearch": "^7.1.1",
+        "shiki": "^2.1.0",
+        "vite": "^5.4.14",
+        "vue": "^3.5.13"
       },
-      "engines": {
-        "node": ">=10"
+      "bin": {
+        "vitepress": "bin/vitepress.js"
+      },
+      "peerDependencies": {
+        "markdown-it-mathjax3": "^4",
+        "postcss": "^8"
+      },
+      "peerDependenciesMeta": {
+        "markdown-it-mathjax3": {
+          "optional": true
+        },
+        "postcss": {
+          "optional": true
+        }
       }
     },
-    "node_modules/wdio-nuxt-service/node_modules/tinyexec": {
-      "version": "0.3.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wdio-nuxt-service/node_modules/yallist": {
-      "version": "4.0.0",
+    "node_modules/vitepress-plugin-mermaid": {
+      "version": "2.0.17",
+      "resolved": "https://registry.npmjs.org/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.17.tgz",
+      "integrity": "sha512-IUzYpwf61GC6k0XzfmAmNrLvMi9TRrVRMsUyCA8KNXhg/mQ1VqWnO0/tBVPiX5UoKF1mDUwqn5QV4qAJl6JnUg==",
       "dev": true,
-      "license": "ISC"
+      "license": "MIT",
+      "optionalDependencies": {
+        "@mermaid-js/mermaid-mindmap": "^9.3.0"
+      },
+      "peerDependencies": {
+        "mermaid": "10 || 11",
+        "vitepress": "^1.0.0 || ^1.0.0-alpha"
+      }
     },
-    "node_modules/weak-lru-cache": {
-      "version": "1.2.2",
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-core": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz",
+      "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==",
       "dev": true,
       "license": "MIT",
-      "optional": true
+      "dependencies": {
+        "@algolia/autocomplete-plugin-algolia-insights": "1.17.7",
+        "@algolia/autocomplete-shared": "1.17.7"
+      }
     },
-    "node_modules/web-streams-polyfill": {
-      "version": "3.3.3",
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz",
+      "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==",
+      "dev": true,
       "license": "MIT",
-      "engines": {
-        "node": ">= 8"
+      "dependencies": {
+        "@algolia/autocomplete-shared": "1.17.7"
+      },
+      "peerDependencies": {
+        "search-insights": ">= 1 < 3"
       }
     },
-    "node_modules/webdriver": {
-      "version": "9.15.0",
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-preset-algolia": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz",
+      "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/node": "^20.1.0",
-        "@types/ws": "^8.5.3",
-        "@wdio/config": "9.15.0",
-        "@wdio/logger": "9.15.0",
-        "@wdio/protocols": "9.15.0",
-        "@wdio/types": "9.15.0",
-        "@wdio/utils": "9.15.0",
-        "deepmerge-ts": "^7.0.3",
-        "undici": "^6.20.1",
-        "ws": "^8.8.0"
+        "@algolia/autocomplete-shared": "1.17.7"
       },
-      "engines": {
-        "node": ">=18.20.0"
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
       }
     },
-    "node_modules/webdriver/node_modules/@types/node": {
-      "version": "20.19.0",
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-shared": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz",
+      "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
       }
     },
-    "node_modules/webdriver/node_modules/@wdio/types": {
-      "version": "9.15.0",
+    "node_modules/vitepress/node_modules/@docsearch/css": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz",
+      "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/vitepress/node_modules/@docsearch/js": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz",
+      "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/node": "^20.1.0"
-      },
-      "engines": {
-        "node": ">=18.20.0"
+        "@docsearch/react": "3.8.2",
+        "preact": "^10.0.0"
       }
     },
-    "node_modules/webdriverio": {
-      "version": "8.45.0",
+    "node_modules/vitepress/node_modules/@docsearch/react": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz",
+      "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/node": "^22.2.0",
-        "@wdio/config": "8.45.0",
-        "@wdio/logger": "8.38.0",
-        "@wdio/protocols": "8.44.0",
-        "@wdio/repl": "8.40.3",
-        "@wdio/types": "8.41.0",
-        "@wdio/utils": "8.45.0",
-        "archiver": "^7.0.0",
-        "aria-query": "^5.0.0",
-        "css-shorthand-properties": "^1.1.1",
-        "css-value": "^0.0.1",
-        "devtools-protocol": "^0.0.1400418",
-        "grapheme-splitter": "^1.0.2",
-        "import-meta-resolve": "^4.0.0",
-        "is-plain-obj": "^4.1.0",
-        "jszip": "^3.10.1",
-        "lodash.clonedeep": "^4.5.0",
-        "lodash.zip": "^4.2.0",
-        "minimatch": "^9.0.0",
-        "puppeteer-core": "^21.11.0",
-        "query-selector-shadow-dom": "^1.0.0",
-        "resq": "^1.9.1",
-        "rgb2hex": "0.2.5",
-        "serialize-error": "^11.0.1",
-        "webdriver": "8.45.0"
-      },
-      "engines": {
-        "node": "^16.13 || >=18"
+        "@algolia/autocomplete-core": "1.17.7",
+        "@algolia/autocomplete-preset-algolia": "1.17.7",
+        "@docsearch/css": "3.8.2",
+        "algoliasearch": "^5.14.2"
       },
       "peerDependencies": {
-        "devtools": "^8.14.0"
+        "@types/react": ">= 16.8.0 < 19.0.0",
+        "react": ">= 16.8.0 < 19.0.0",
+        "react-dom": ">= 16.8.0 < 19.0.0",
+        "search-insights": ">= 1 < 3"
       },
       "peerDependenciesMeta": {
-        "devtools": {
+        "@types/react": {
+          "optional": true
+        },
+        "react": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "search-insights": {
           "optional": true
         }
       }
     },
-    "node_modules/webdriverio/node_modules/@puppeteer/browsers": {
-      "version": "1.9.1",
+    "node_modules/vitepress/node_modules/@esbuild/aix-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==",
+      "cpu": [
+        "ppc64"
+      ],
       "dev": true,
-      "license": "Apache-2.0",
-      "dependencies": {
-        "debug": "4.3.4",
-        "extract-zip": "2.0.1",
-        "progress": "2.0.3",
-        "proxy-agent": "6.3.1",
-        "tar-fs": "3.0.4",
-        "unbzip2-stream": "1.4.3",
-        "yargs": "17.7.2"
-      },
-      "bin": {
-        "browsers": "lib/cjs/main-cli.js"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "aix"
+      ],
       "engines": {
-        "node": ">=16.3.0"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/@types/node": {
-      "version": "22.15.31",
+    "node_modules/vitepress/node_modules/@esbuild/android-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz",
+      "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "undici-types": "~6.21.0"
+      "optional": true,
+      "os": [
+        "android"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/@wdio/config": {
-      "version": "8.45.0",
+    "node_modules/vitepress/node_modules/@esbuild/android-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz",
+      "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@wdio/logger": "8.38.0",
-        "@wdio/types": "8.41.0",
-        "@wdio/utils": "8.45.0",
-        "decamelize": "^6.0.0",
-        "deepmerge-ts": "^5.0.0",
-        "glob": "^10.2.2",
-        "import-meta-resolve": "^4.0.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": "^16.13 || >=18"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/@wdio/logger": {
-      "version": "8.38.0",
+    "node_modules/vitepress/node_modules/@esbuild/android-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz",
+      "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "chalk": "^5.1.2",
-        "loglevel": "^1.6.0",
-        "loglevel-plugin-prefix": "^0.8.4",
-        "strip-ansi": "^7.1.0"
-      },
+      "optional": true,
+      "os": [
+        "android"
+      ],
       "engines": {
-        "node": "^16.13 || >=18"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/@wdio/protocols": {
-      "version": "8.44.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/webdriverio/node_modules/@wdio/repl": {
-      "version": "8.40.3",
+    "node_modules/vitepress/node_modules/@esbuild/darwin-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz",
+      "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/node": "^22.2.0"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^16.13 || >=18"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/@wdio/utils": {
-      "version": "8.45.0",
+    "node_modules/vitepress/node_modules/@esbuild/darwin-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz",
+      "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@puppeteer/browsers": "^1.6.0",
-        "@wdio/logger": "8.38.0",
-        "@wdio/types": "8.41.0",
-        "decamelize": "^6.0.0",
-        "deepmerge-ts": "^5.1.0",
-        "edgedriver": "^5.5.0",
-        "geckodriver": "~4.2.0",
-        "get-port": "^7.0.0",
-        "import-meta-resolve": "^4.0.0",
-        "locate-app": "^2.1.0",
-        "safaridriver": "^0.1.0",
-        "split2": "^4.2.0",
-        "wait-port": "^1.0.4"
-      },
+      "optional": true,
+      "os": [
+        "darwin"
+      ],
       "engines": {
-        "node": "^16.13 || >=18"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/ansi-regex": {
-      "version": "6.1.0",
+    "node_modules/vitepress/node_modules/@esbuild/freebsd-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz",
+      "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
       }
     },
-    "node_modules/webdriverio/node_modules/brace-expansion": {
-      "version": "2.0.2",
+    "node_modules/vitepress/node_modules/@esbuild/freebsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz",
+      "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "balanced-match": "^1.0.0"
+      "optional": true,
+      "os": [
+        "freebsd"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/chalk": {
-      "version": "5.4.1",
+    "node_modules/vitepress/node_modules/@esbuild/linux-arm": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz",
+      "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==",
+      "cpu": [
+        "arm"
+      ],
       "dev": true,
       "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/chalk?sponsor=1"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/debug": {
-      "version": "4.3.4",
+    "node_modules/vitepress/node_modules/@esbuild/linux-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz",
+      "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "ms": "2.1.2"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=6.0"
-      },
-      "peerDependenciesMeta": {
-        "supports-color": {
-          "optional": true
-        }
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/deepmerge-ts": {
-      "version": "5.1.0",
+    "node_modules/vitepress/node_modules/@esbuild/linux-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz",
+      "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
-      "license": "BSD-3-Clause",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/edgedriver": {
-      "version": "5.6.1",
+    "node_modules/vitepress/node_modules/@esbuild/linux-loong64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz",
+      "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==",
+      "cpu": [
+        "loong64"
+      ],
       "dev": true,
-      "hasInstallScript": true,
       "license": "MIT",
-      "dependencies": {
-        "@wdio/logger": "^8.38.0",
-        "@zip.js/zip.js": "^2.7.48",
-        "decamelize": "^6.0.0",
-        "edge-paths": "^3.0.5",
-        "fast-xml-parser": "^4.4.1",
-        "node-fetch": "^3.3.2",
-        "which": "^4.0.0"
-      },
-      "bin": {
-        "edgedriver": "bin/edgedriver.js"
+      "optional": true,
+      "os": [
+        "linux"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/geckodriver": {
-      "version": "4.2.1",
+    "node_modules/vitepress/node_modules/@esbuild/linux-mips64el": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz",
+      "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==",
+      "cpu": [
+        "mips64el"
+      ],
       "dev": true,
-      "hasInstallScript": true,
-      "license": "MPL-2.0",
-      "dependencies": {
-        "@wdio/logger": "^8.11.0",
-        "decamelize": "^6.0.0",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.1",
-        "node-fetch": "^3.3.1",
-        "tar-fs": "^3.0.4",
-        "unzipper": "^0.10.14",
-        "which": "^4.0.0"
-      },
-      "bin": {
-        "geckodriver": "bin/geckodriver.js"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": "^16.13 || >=18 || >=20"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/isexe": {
-      "version": "3.1.1",
+    "node_modules/vitepress/node_modules/@esbuild/linux-ppc64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz",
+      "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==",
+      "cpu": [
+        "ppc64"
+      ],
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/lru-cache": {
-      "version": "7.18.3",
+    "node_modules/vitepress/node_modules/@esbuild/linux-riscv64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz",
+      "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==",
+      "cpu": [
+        "riscv64"
+      ],
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
         "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/minimatch": {
-      "version": "9.0.5",
+    "node_modules/vitepress/node_modules/@esbuild/linux-s390x": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz",
+      "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==",
+      "cpu": [
+        "s390x"
+      ],
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "brace-expansion": "^2.0.1"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">=16 || 14 >=14.17"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/isaacs"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/ms": {
-      "version": "2.1.2",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/webdriverio/node_modules/proxy-agent": {
-      "version": "6.3.1",
+    "node_modules/vitepress/node_modules/@esbuild/linux-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz",
+      "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "agent-base": "^7.0.2",
-        "debug": "^4.3.4",
-        "http-proxy-agent": "^7.0.0",
-        "https-proxy-agent": "^7.0.2",
-        "lru-cache": "^7.14.1",
-        "pac-proxy-agent": "^7.0.1",
-        "proxy-from-env": "^1.1.0",
-        "socks-proxy-agent": "^8.0.2"
-      },
+      "optional": true,
+      "os": [
+        "linux"
+      ],
       "engines": {
-        "node": ">= 14"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/safaridriver": {
-      "version": "0.1.2",
+    "node_modules/vitepress/node_modules/@esbuild/netbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "MIT"
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "netbsd"
+      ],
+      "engines": {
+        "node": ">=12"
+      }
     },
-    "node_modules/webdriverio/node_modules/strip-ansi": {
-      "version": "7.1.0",
+    "node_modules/vitepress/node_modules/@esbuild/openbsd-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz",
+      "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "ansi-regex": "^6.0.1"
-      },
+      "optional": true,
+      "os": [
+        "openbsd"
+      ],
       "engines": {
         "node": ">=12"
-      },
-      "funding": {
-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
       }
     },
-    "node_modules/webdriverio/node_modules/tar-fs": {
-      "version": "3.0.4",
+    "node_modules/vitepress/node_modules/@esbuild/sunos-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz",
+      "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "mkdirp-classic": "^0.5.2",
-        "pump": "^3.0.0",
-        "tar-stream": "^3.1.5"
+      "optional": true,
+      "os": [
+        "sunos"
+      ],
+      "engines": {
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/webdriver": {
-      "version": "8.45.0",
+    "node_modules/vitepress/node_modules/@esbuild/win32-arm64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz",
+      "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==",
+      "cpu": [
+        "arm64"
+      ],
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@types/node": "^22.2.0",
-        "@types/ws": "^8.5.3",
-        "@wdio/config": "8.45.0",
-        "@wdio/logger": "8.38.0",
-        "@wdio/protocols": "8.44.0",
-        "@wdio/types": "8.41.0",
-        "@wdio/utils": "8.45.0",
-        "deepmerge-ts": "^5.1.0",
-        "got": "^12.6.1",
-        "ky": "^0.33.0",
-        "ws": "^8.8.0"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^16.13 || >=18"
+        "node": ">=12"
       }
     },
-    "node_modules/webdriverio/node_modules/which": {
-      "version": "4.0.0",
+    "node_modules/vitepress/node_modules/@esbuild/win32-ia32": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz",
+      "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==",
+      "cpu": [
+        "ia32"
+      ],
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "isexe": "^3.1.1"
-      },
-      "bin": {
-        "node-which": "bin/which.js"
-      },
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
-        "node": "^16.13.0 || >=18.0.0"
+        "node": ">=12"
       }
     },
-    "node_modules/webidl-conversions": {
-      "version": "7.0.0",
+    "node_modules/vitepress/node_modules/@esbuild/win32-x64": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz",
+      "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==",
+      "cpu": [
+        "x64"
+      ],
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "MIT",
+      "optional": true,
+      "os": [
+        "win32"
+      ],
       "engines": {
         "node": ">=12"
       }
     },
-    "node_modules/webpack": {
-      "version": "5.98.0",
+    "node_modules/vitepress/node_modules/@vitejs/plugin-vue": {
+      "version": "5.2.4",
+      "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz",
+      "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@types/eslint-scope": "^3.7.7",
-        "@types/estree": "^1.0.6",
-        "@webassemblyjs/ast": "^1.14.1",
-        "@webassemblyjs/wasm-edit": "^1.14.1",
-        "@webassemblyjs/wasm-parser": "^1.14.1",
-        "acorn": "^8.14.0",
-        "browserslist": "^4.24.0",
-        "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.17.1",
-        "es-module-lexer": "^1.2.1",
-        "eslint-scope": "5.1.1",
-        "events": "^3.2.0",
-        "glob-to-regexp": "^0.4.1",
-        "graceful-fs": "^4.2.11",
-        "json-parse-even-better-errors": "^2.3.1",
-        "loader-runner": "^4.2.0",
-        "mime-types": "^2.1.27",
-        "neo-async": "^2.6.2",
-        "schema-utils": "^4.3.0",
-        "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.11",
-        "watchpack": "^2.4.1",
-        "webpack-sources": "^3.2.3"
-      },
-      "bin": {
-        "webpack": "bin/webpack.js"
-      },
       "engines": {
-        "node": ">=10.13.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
+        "node": "^18.0.0 || >=20.0.0"
       },
-      "peerDependenciesMeta": {
-        "webpack-cli": {
-          "optional": true
-        }
+      "peerDependencies": {
+        "vite": "^5.0.0 || ^6.0.0",
+        "vue": "^3.2.25"
       }
     },
-    "node_modules/webpack-dev-middleware": {
-      "version": "7.4.2",
+    "node_modules/vitepress/node_modules/esbuild": {
+      "version": "0.21.5",
+      "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz",
+      "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==",
       "dev": true,
+      "hasInstallScript": true,
       "license": "MIT",
-      "dependencies": {
-        "colorette": "^2.0.10",
-        "memfs": "^4.6.0",
-        "mime-types": "^2.1.31",
-        "on-finished": "^2.4.1",
-        "range-parser": "^1.2.1",
-        "schema-utils": "^4.0.0"
+      "bin": {
+        "esbuild": "bin/esbuild"
       },
       "engines": {
-        "node": ">= 18.12.0"
-      },
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
-      },
-      "peerDependencies": {
-        "webpack": "^5.0.0"
+        "node": ">=12"
       },
-      "peerDependenciesMeta": {
-        "webpack": {
-          "optional": true
-        }
+      "optionalDependencies": {
+        "@esbuild/aix-ppc64": "0.21.5",
+        "@esbuild/android-arm": "0.21.5",
+        "@esbuild/android-arm64": "0.21.5",
+        "@esbuild/android-x64": "0.21.5",
+        "@esbuild/darwin-arm64": "0.21.5",
+        "@esbuild/darwin-x64": "0.21.5",
+        "@esbuild/freebsd-arm64": "0.21.5",
+        "@esbuild/freebsd-x64": "0.21.5",
+        "@esbuild/linux-arm": "0.21.5",
+        "@esbuild/linux-arm64": "0.21.5",
+        "@esbuild/linux-ia32": "0.21.5",
+        "@esbuild/linux-loong64": "0.21.5",
+        "@esbuild/linux-mips64el": "0.21.5",
+        "@esbuild/linux-ppc64": "0.21.5",
+        "@esbuild/linux-riscv64": "0.21.5",
+        "@esbuild/linux-s390x": "0.21.5",
+        "@esbuild/linux-x64": "0.21.5",
+        "@esbuild/netbsd-x64": "0.21.5",
+        "@esbuild/openbsd-x64": "0.21.5",
+        "@esbuild/sunos-x64": "0.21.5",
+        "@esbuild/win32-arm64": "0.21.5",
+        "@esbuild/win32-ia32": "0.21.5",
+        "@esbuild/win32-x64": "0.21.5"
       }
     },
-    "node_modules/webpack-dev-server": {
-      "version": "5.2.2",
+    "node_modules/vitepress/node_modules/vite": {
+      "version": "5.4.21",
+      "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.21.tgz",
+      "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
-        "@types/bonjour": "^3.5.13",
-        "@types/connect-history-api-fallback": "^1.5.4",
-        "@types/express": "^4.17.21",
-        "@types/express-serve-static-core": "^4.17.21",
-        "@types/serve-index": "^1.9.4",
-        "@types/serve-static": "^1.15.5",
-        "@types/sockjs": "^0.3.36",
-        "@types/ws": "^8.5.10",
-        "ansi-html-community": "^0.0.8",
-        "bonjour-service": "^1.2.1",
-        "chokidar": "^3.6.0",
-        "colorette": "^2.0.10",
-        "compression": "^1.7.4",
-        "connect-history-api-fallback": "^2.0.0",
-        "express": "^4.21.2",
-        "graceful-fs": "^4.2.6",
-        "http-proxy-middleware": "^2.0.9",
-        "ipaddr.js": "^2.1.0",
-        "launch-editor": "^2.6.1",
-        "open": "^10.0.3",
-        "p-retry": "^6.2.0",
-        "schema-utils": "^4.2.0",
-        "selfsigned": "^2.4.1",
-        "serve-index": "^1.9.1",
-        "sockjs": "^0.3.24",
-        "spdy": "^4.0.2",
-        "webpack-dev-middleware": "^7.4.2",
-        "ws": "^8.18.0"
+        "esbuild": "^0.21.3",
+        "postcss": "^8.4.43",
+        "rollup": "^4.20.0"
       },
       "bin": {
-        "webpack-dev-server": "bin/webpack-dev-server.js"
+        "vite": "bin/vite.js"
       },
       "engines": {
-        "node": ">= 18.12.0"
+        "node": "^18.0.0 || >=20.0.0"
       },
       "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/webpack"
+        "url": "https://github.com/vitejs/vite?sponsor=1"
+      },
+      "optionalDependencies": {
+        "fsevents": "~2.3.3"
       },
       "peerDependencies": {
-        "webpack": "^5.0.0"
+        "@types/node": "^18.0.0 || >=20.0.0",
+        "less": "*",
+        "lightningcss": "^1.21.0",
+        "sass": "*",
+        "sass-embedded": "*",
+        "stylus": "*",
+        "sugarss": "*",
+        "terser": "^5.4.0"
       },
       "peerDependenciesMeta": {
-        "webpack": {
+        "@types/node": {
+          "optional": true
+        },
+        "less": {
+          "optional": true
+        },
+        "lightningcss": {
+          "optional": true
+        },
+        "sass": {
+          "optional": true
+        },
+        "sass-embedded": {
+          "optional": true
+        },
+        "stylus": {
+          "optional": true
+        },
+        "sugarss": {
           "optional": true
         },
-        "webpack-cli": {
+        "terser": {
           "optional": true
         }
       }
     },
-    "node_modules/webpack-dev-server/node_modules/chokidar": {
-      "version": "3.6.0",
+    "node_modules/vscode-jsonrpc": {
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+      "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "anymatch": "~3.1.2",
-        "braces": "~3.0.2",
-        "glob-parent": "~5.1.2",
-        "is-binary-path": "~2.1.0",
-        "is-glob": "~4.0.1",
-        "normalize-path": "~3.0.0",
-        "readdirp": "~3.6.0"
-      },
       "engines": {
-        "node": ">= 8.10.0"
-      },
-      "funding": {
-        "url": "https://paulmillr.com/funding/"
-      },
-      "optionalDependencies": {
-        "fsevents": "~2.3.2"
+        "node": ">=14.0.0"
       }
     },
-    "node_modules/webpack-dev-server/node_modules/glob-parent": {
-      "version": "5.1.2",
+    "node_modules/vscode-languageserver": {
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+      "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
       "dev": true,
-      "license": "ISC",
+      "license": "MIT",
       "dependencies": {
-        "is-glob": "^4.0.1"
+        "vscode-languageserver-protocol": "3.17.5"
       },
-      "engines": {
-        "node": ">= 6"
+      "bin": {
+        "installServerIntoExtension": "bin/installServerIntoExtension"
       }
     },
-    "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": {
-      "version": "2.0.9",
+    "node_modules/vscode-languageserver-protocol": {
+      "version": "3.17.5",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+      "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@types/http-proxy": "^1.17.8",
-        "http-proxy": "^1.18.1",
-        "is-glob": "^4.0.1",
-        "is-plain-obj": "^3.0.0",
-        "micromatch": "^4.0.2"
-      },
-      "engines": {
-        "node": ">=12.0.0"
+        "vscode-jsonrpc": "8.2.0",
+        "vscode-languageserver-types": "3.17.5"
+      }
+    },
+    "node_modules/vscode-languageserver-textdocument": {
+      "version": "1.0.12",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.12.tgz",
+      "integrity": "sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/vscode-languageserver-types": {
+      "version": "3.17.5",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.5.tgz",
+      "integrity": "sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/vscode-uri": {
+      "version": "3.0.8",
+      "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz",
+      "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==",
+      "devOptional": true,
+      "license": "MIT"
+    },
+    "node_modules/vue": {
+      "version": "3.5.27",
+      "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.27.tgz",
+      "integrity": "sha512-aJ/UtoEyFySPBGarREmN4z6qNKpbEguYHMmXSiOGk69czc+zhs0NF6tEFrY8TZKAl8N/LYAkd4JHVd5E/AsSmw==",
+      "license": "MIT",
+      "peer": true,
+      "dependencies": {
+        "@vue/compiler-dom": "3.5.27",
+        "@vue/compiler-sfc": "3.5.27",
+        "@vue/runtime-dom": "3.5.27",
+        "@vue/server-renderer": "3.5.27",
+        "@vue/shared": "3.5.27"
       },
       "peerDependencies": {
-        "@types/express": "^4.17.13"
+        "typescript": "*"
       },
       "peerDependenciesMeta": {
-        "@types/express": {
+        "typescript": {
           "optional": true
         }
       }
     },
-    "node_modules/webpack-dev-server/node_modules/is-plain-obj": {
-      "version": "3.0.0",
-      "dev": true,
+    "node_modules/vue-bundle-renderer": {
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/vue-bundle-renderer/-/vue-bundle-renderer-2.2.0.tgz",
+      "integrity": "sha512-sz/0WEdYH1KfaOm0XaBmRZOWgYTEvUDt6yPYaUzl4E52qzgWLlknaPPTTZmp6benaPTlQAI/hN1x3tAzZygycg==",
       "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+      "dependencies": {
+        "ufo": "^1.6.1"
       }
     },
-    "node_modules/webpack-dev-server/node_modules/picomatch": {
-      "version": "2.3.1",
+    "node_modules/vue-devtools-stub": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/vue-devtools-stub/-/vue-devtools-stub-0.1.0.tgz",
+      "integrity": "sha512-RutnB7X8c5hjq39NceArgXg28WZtZpGc3+J16ljMiYnFhKvd8hITxSWQSQ5bvldxMDU6gG5mkxl1MTQLXckVSQ==",
+      "license": "MIT"
+    },
+    "node_modules/vue-eslint-parser": {
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-10.2.0.tgz",
+      "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "debug": "^4.4.0",
+        "eslint-scope": "^8.2.0",
+        "eslint-visitor-keys": "^4.2.0",
+        "espree": "^10.3.0",
+        "esquery": "^1.6.0",
+        "semver": "^7.6.3"
+      },
       "engines": {
-        "node": ">=8.6"
+        "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       },
       "funding": {
-        "url": "https://github.com/sponsors/jonschlinkert"
+        "url": "https://github.com/sponsors/mysticatea"
+      },
+      "peerDependencies": {
+        "eslint": "^8.57.0 || ^9.0.0"
       }
     },
-    "node_modules/webpack-dev-server/node_modules/readdirp": {
-      "version": "3.6.0",
+    "node_modules/vue-eslint-parser/node_modules/semver": {
+      "version": "7.7.3",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
+      "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==",
       "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "picomatch": "^2.2.1"
+      "license": "ISC",
+      "bin": {
+        "semver": "bin/semver.js"
       },
       "engines": {
-        "node": ">=8.10.0"
+        "node": ">=10"
       }
     },
-    "node_modules/webpack-merge": {
-      "version": "6.0.1",
-      "dev": true,
+    "node_modules/vue-router": {
+      "version": "4.6.4",
+      "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz",
+      "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==",
       "license": "MIT",
       "dependencies": {
-        "clone-deep": "^4.0.1",
-        "flat": "^5.0.2",
-        "wildcard": "^2.0.1"
+        "@vue/devtools-api": "^6.6.4"
       },
-      "engines": {
-        "node": ">=18.0.0"
+      "funding": {
+        "url": "https://github.com/sponsors/posva"
+      },
+      "peerDependencies": {
+        "vue": "^3.5.0"
       }
     },
-    "node_modules/webpack-sources": {
-      "version": "3.3.2",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10.13.0"
-      }
+    "node_modules/vue-router/node_modules/@vue/devtools-api": {
+      "version": "6.6.4",
+      "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz",
+      "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==",
+      "license": "MIT"
     },
-    "node_modules/webpack-subresource-integrity": {
-      "version": "5.1.0",
-      "dev": true,
+    "node_modules/vue-tsc": {
+      "version": "3.2.4",
+      "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-3.2.4.tgz",
+      "integrity": "sha512-xj3YCvSLNDKt1iF9OcImWHhmYcihVu9p4b9s4PGR/qp6yhW+tZJaypGxHScRyOrdnHvaOeF+YkZOdKwbgGvp5g==",
+      "devOptional": true,
       "license": "MIT",
       "dependencies": {
-        "typed-assert": "^1.0.8"
+        "@volar/typescript": "2.4.27",
+        "@vue/language-core": "3.2.4"
       },
-      "engines": {
-        "node": ">= 12"
+      "bin": {
+        "vue-tsc": "bin/vue-tsc.js"
       },
       "peerDependencies": {
-        "html-webpack-plugin": ">= 5.0.0-beta.1 < 6",
-        "webpack": "^5.12.0"
-      },
-      "peerDependenciesMeta": {
-        "html-webpack-plugin": {
-          "optional": true
-        }
+        "typescript": ">=5.0.0"
       }
     },
-    "node_modules/webpack-virtual-modules": {
-      "version": "0.6.2",
-      "license": "MIT"
-    },
-    "node_modules/webpack/node_modules/eslint-scope": {
-      "version": "5.1.1",
+    "node_modules/w3c-xmlserializer": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
+      "integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "MIT",
       "dependencies": {
-        "esrecurse": "^4.3.0",
-        "estraverse": "^4.1.1"
+        "xml-name-validator": "^5.0.0"
       },
       "engines": {
-        "node": ">=8.0.0"
+        "node": ">=18"
       }
     },
-    "node_modules/webpack/node_modules/estraverse": {
-      "version": "4.3.0",
+    "node_modules/w3c-xmlserializer/node_modules/xml-name-validator": {
+      "version": "5.0.0",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
+      "integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
       "dev": true,
-      "license": "BSD-2-Clause",
+      "license": "Apache-2.0",
       "engines": {
-        "node": ">=4.0"
+        "node": ">=18"
       }
     },
-    "node_modules/webpack/node_modules/json-parse-even-better-errors": {
-      "version": "2.3.1",
+    "node_modules/walker": {
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+      "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
       "dev": true,
-      "license": "MIT"
+      "license": "Apache-2.0",
+      "dependencies": {
+        "makeerror": "1.0.12"
+      }
     },
-    "node_modules/websocket-driver": {
-      "version": "0.7.4",
+    "node_modules/watchpack": {
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.0.tgz",
+      "integrity": "sha512-e6vZvY6xboSwLz2GD36c16+O/2Z6fKvIf4pOXptw2rY9MVwE/TXc6RGqxD3I3x0a28lwBY7DE+76uTPSsBrrCA==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
       "dependencies": {
-        "http-parser-js": ">=0.5.1",
-        "safe-buffer": ">=5.1.0",
-        "websocket-extensions": ">=0.1.1"
+        "glob-to-regexp": "^0.4.1",
+        "graceful-fs": "^4.1.2"
       },
       "engines": {
-        "node": ">=0.8.0"
+        "node": ">=10.13.0"
       }
     },
-    "node_modules/websocket-extensions": {
-      "version": "0.1.4",
+    "node_modules/weak-lru-cache": {
+      "version": "1.2.2",
+      "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz",
+      "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==",
       "dev": true,
-      "license": "Apache-2.0",
+      "license": "MIT",
+      "optional": true
+    },
+    "node_modules/webdriver-bidi-protocol": {
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/webdriver-bidi-protocol/-/webdriver-bidi-protocol-0.4.0.tgz",
+      "integrity": "sha512-U9VIlNRrq94d1xxR9JrCEAx5Gv/2W7ERSv8oWRoNe/QYbfccS0V3h/H6qeNeCRJxXGMhhnkqvwNrvPAYeuP9VA==",
+      "dev": true,
+      "license": "Apache-2.0"
+    },
+    "node_modules/webidl-conversions": {
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
+      "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
+      "dev": true,
+      "license": "BSD-2-Clause",
       "engines": {
-        "node": ">=0.8.0"
+        "node": ">=12"
       }
     },
+    "node_modules/webpack-virtual-modules": {
+      "version": "0.6.2",
+      "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz",
+      "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==",
+      "license": "MIT"
+    },
     "node_modules/whatwg-encoding": {
       "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
+      "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
+      "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -31912,6 +28774,8 @@
     },
     "node_modules/whatwg-encoding/node_modules/iconv-lite": {
       "version": "0.6.3",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
+      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -31923,6 +28787,8 @@
     },
     "node_modules/whatwg-mimetype": {
       "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
+      "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -31931,6 +28797,8 @@
     },
     "node_modules/whatwg-url": {
       "version": "14.2.0",
+      "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
+      "integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -31943,6 +28811,8 @@
     },
     "node_modules/which": {
       "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+      "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
       "license": "ISC",
       "dependencies": {
         "isexe": "^2.0.0"
@@ -31956,9 +28826,10 @@
     },
     "node_modules/which-boxed-primitive": {
       "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz",
+      "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "is-bigint": "^1.1.0",
         "is-boolean-object": "^1.2.1",
@@ -31975,9 +28846,10 @@
     },
     "node_modules/which-builtin-type": {
       "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz",
+      "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "call-bound": "^1.0.2",
         "function.prototype.name": "^1.1.6",
@@ -32002,9 +28874,10 @@
     },
     "node_modules/which-collection": {
       "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+      "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "is-map": "^2.0.3",
         "is-set": "^2.0.3",
@@ -32019,10 +28892,11 @@
       }
     },
     "node_modules/which-typed-array": {
-      "version": "1.1.19",
+      "version": "1.1.20",
+      "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz",
+      "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "available-typed-arrays": "^1.0.7",
         "call-bind": "^1.0.8",
@@ -32039,93 +28913,20 @@
         "url": "https://github.com/sponsors/ljharb"
       }
     },
-    "node_modules/wildcard": {
-      "version": "2.0.1",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/winston": {
-      "version": "3.17.0",
-      "license": "MIT",
-      "dependencies": {
-        "@colors/colors": "^1.6.0",
-        "@dabh/diagnostics": "^2.0.2",
-        "async": "^3.2.3",
-        "is-stream": "^2.0.0",
-        "logform": "^2.7.0",
-        "one-time": "^1.0.0",
-        "readable-stream": "^3.4.0",
-        "safe-stable-stringify": "^2.3.1",
-        "stack-trace": "0.0.x",
-        "triple-beam": "^1.3.0",
-        "winston-transport": "^4.9.0"
-      },
-      "engines": {
-        "node": ">= 12.0.0"
-      }
-    },
-    "node_modules/winston-transport": {
-      "version": "4.9.0",
-      "license": "MIT",
-      "dependencies": {
-        "logform": "^2.7.0",
-        "readable-stream": "^3.6.2",
-        "triple-beam": "^1.3.0"
-      },
-      "engines": {
-        "node": ">= 12.0.0"
-      }
-    },
-    "node_modules/winston-transport/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
-    "node_modules/winston/node_modules/is-stream": {
-      "version": "2.0.1",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/winston/node_modules/readable-stream": {
-      "version": "3.6.2",
-      "license": "MIT",
-      "dependencies": {
-        "inherits": "^2.0.3",
-        "string_decoder": "^1.1.1",
-        "util-deprecate": "^1.0.1"
-      },
-      "engines": {
-        "node": ">= 6"
-      }
-    },
     "node_modules/word-wrap": {
       "version": "1.2.5",
+      "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+      "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
       "devOptional": true,
       "license": "MIT",
       "engines": {
         "node": ">=0.10.0"
       }
     },
-    "node_modules/workerpool": {
-      "version": "6.5.1",
-      "dev": true,
-      "license": "Apache-2.0"
-    },
     "node_modules/wrap-ansi": {
-      "version": "6.2.0",
-      "dev": true,
+      "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.0.0",
@@ -32133,12 +28934,17 @@
         "strip-ansi": "^6.0.0"
       },
       "engines": {
-        "node": ">=8"
+        "node": ">=10"
+      },
+      "funding": {
+        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
     "node_modules/wrap-ansi-cjs": {
       "name": "wrap-ansi",
       "version": "7.0.0",
+      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
       "license": "MIT",
       "dependencies": {
         "ansi-styles": "^4.0.0",
@@ -32152,61 +28958,17 @@
         "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
       }
     },
-    "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "license": "MIT"
-    },
-    "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/wrap-ansi-cjs/node_modules/string-width": {
-      "version": "4.2.3",
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/wrap-ansi/node_modules/string-width": {
-      "version": "4.2.3",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
     "node_modules/wrappy": {
       "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+      "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+      "dev": true,
       "license": "ISC"
     },
     "node_modules/write-file-atomic": {
       "version": "4.0.2",
+      "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+      "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
       "dev": true,
       "license": "ISC",
       "dependencies": {
@@ -32217,13 +28979,10 @@
         "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
       }
     },
-    "node_modules/write-file-atomic/node_modules/signal-exit": {
-      "version": "3.0.7",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/ws": {
-      "version": "8.18.2",
+      "version": "8.19.0",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz",
+      "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==",
       "license": "MIT",
       "engines": {
         "node": ">=10.0.0"
@@ -32241,8 +29000,25 @@
         }
       }
     },
+    "node_modules/wsl-utils": {
+      "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/wsl-utils/-/wsl-utils-0.1.0.tgz",
+      "integrity": "sha512-h3Fbisa2nKGPxCpm89Hk33lBLsnaGBvctQopaBSOW/uIs6FTe1ATyAnKFJrzVs9vpGdsTe73WF3V4lIsk4Gacw==",
+      "license": "MIT",
+      "dependencies": {
+        "is-wsl": "^3.1.0"
+      },
+      "engines": {
+        "node": ">=18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
+    },
     "node_modules/xml-name-validator": {
       "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz",
+      "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
       "dev": true,
       "license": "Apache-2.0",
       "engines": {
@@ -32251,11 +29027,15 @@
     },
     "node_modules/xmlchars": {
       "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+      "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
       "dev": true,
       "license": "MIT"
     },
     "node_modules/y18n": {
       "version": "5.0.8",
+      "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+      "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
       "license": "ISC",
       "engines": {
         "node": ">=10"
@@ -32263,20 +29043,30 @@
     },
     "node_modules/yallist": {
       "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+      "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
       "license": "ISC"
     },
     "node_modules/yaml": {
-      "version": "2.8.0",
+      "version": "2.8.2",
+      "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz",
+      "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==",
       "license": "ISC",
+      "peer": true,
       "bin": {
         "yaml": "bin.mjs"
       },
       "engines": {
         "node": ">= 14.6"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/eemeli"
       }
     },
     "node_modules/yargs": {
       "version": "17.7.2",
+      "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+      "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
       "license": "MIT",
       "dependencies": {
         "cliui": "^8.0.1",
@@ -32292,82 +29082,9 @@
       }
     },
     "node_modules/yargs-parser": {
-      "version": "20.2.9",
-      "dev": true,
-      "license": "ISC",
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser": {
-      "version": "2.0.0",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "camelcase": "^6.0.0",
-        "decamelize": "^4.0.0",
-        "flat": "^5.0.2",
-        "is-plain-obj": "^2.1.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/camelcase": {
-      "version": "6.3.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/decamelize": {
-      "version": "4.0.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
-      }
-    },
-    "node_modules/yargs-unparser/node_modules/is-plain-obj": {
-      "version": "2.1.0",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/emoji-regex": {
-      "version": "8.0.0",
-      "license": "MIT"
-    },
-    "node_modules/yargs/node_modules/is-fullwidth-code-point": {
-      "version": "3.0.0",
-      "license": "MIT",
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/string-width": {
-      "version": "4.2.3",
-      "license": "MIT",
-      "dependencies": {
-        "emoji-regex": "^8.0.0",
-        "is-fullwidth-code-point": "^3.0.0",
-        "strip-ansi": "^6.0.1"
-      },
-      "engines": {
-        "node": ">=8"
-      }
-    },
-    "node_modules/yargs/node_modules/yargs-parser": {
       "version": "21.1.1",
+      "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+      "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
       "license": "ISC",
       "engines": {
         "node": ">=12"
@@ -32375,6 +29092,9 @@
     },
     "node_modules/yauzl": {
       "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+      "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+      "dev": true,
       "license": "MIT",
       "dependencies": {
         "buffer-crc32": "~0.2.3",
@@ -32383,6 +29103,9 @@
     },
     "node_modules/yauzl/node_modules/buffer-crc32": {
       "version": "0.2.13",
+      "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+      "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+      "dev": true,
       "license": "MIT",
       "engines": {
         "node": "*"
@@ -32390,6 +29113,8 @@
     },
     "node_modules/yocto-queue": {
       "version": "0.1.0",
+      "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+      "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
       "devOptional": true,
       "license": "MIT",
       "engines": {
@@ -32401,6 +29126,8 @@
     },
     "node_modules/yoctocolors": {
       "version": "2.1.2",
+      "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.2.tgz",
+      "integrity": "sha512-CzhO+pFNo8ajLM2d2IW/R93ipy99LWjtwblvC1RsoSUMZgyLbYFr221TnSNT7GjGdYui6P459mw9JH/g/zW2ug==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -32411,7 +29138,9 @@
       }
     },
     "node_modules/yoctocolors-cjs": {
-      "version": "2.1.2",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz",
+      "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -32422,32 +29151,32 @@
       }
     },
     "node_modules/youch": {
-      "version": "4.1.0-beta.8",
+      "version": "4.1.0-beta.13",
+      "resolved": "https://registry.npmjs.org/youch/-/youch-4.1.0-beta.13.tgz",
+      "integrity": "sha512-3+AG1Xvt+R7M7PSDudhbfbwiyveW6B8PLBIwTyEC598biEYIjHhC89i6DBEvR0EZUjGY3uGSnC429HpIa2Z09g==",
       "license": "MIT",
       "dependencies": {
-        "@poppinss/colors": "^4.1.4",
-        "@poppinss/dumper": "^0.6.3",
-        "@speed-highlight/core": "^1.2.7",
-        "cookie": "^1.0.2",
-        "youch-core": "^0.3.1"
-      },
-      "engines": {
-        "node": ">=18"
+        "@poppinss/colors": "^4.1.5",
+        "@poppinss/dumper": "^0.6.5",
+        "@speed-highlight/core": "^1.2.9",
+        "cookie-es": "^2.0.0",
+        "youch-core": "^0.3.3"
       }
     },
     "node_modules/youch-core": {
-      "version": "0.3.2",
+      "version": "0.3.3",
+      "resolved": "https://registry.npmjs.org/youch-core/-/youch-core-0.3.3.tgz",
+      "integrity": "sha512-ho7XuGjLaJ2hWHoK8yFnsUGy2Y5uDpqSTq1FkHLK4/oqKtyUU1AFbOOxY4IpC9f0fTLjwYbslUz0Po5BpD1wrA==",
       "license": "MIT",
       "dependencies": {
-        "@poppinss/exception": "^1.2.0",
+        "@poppinss/exception": "^1.2.2",
         "error-stack-parser-es": "^1.0.5"
-      },
-      "engines": {
-        "node": ">=18"
       }
     },
     "node_modules/zip-stream": {
       "version": "6.0.1",
+      "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-6.0.1.tgz",
+      "integrity": "sha512-zK7YHHz4ZXpW89AHXUPbQVGKI7uvkd3hzusTdotCg1UxyaVtg0zFJSTfW/Dq5f7OBBVnq6cZIaC8Ti4hb6dtCA==",
       "license": "MIT",
       "dependencies": {
         "archiver-utils": "^5.0.0",
@@ -32459,25 +29188,43 @@
       }
     },
     "node_modules/zod": {
-      "version": "3.25.64",
+      "version": "3.25.76",
+      "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz",
+      "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==",
+      "dev": true,
       "license": "MIT",
+      "peer": true,
       "funding": {
         "url": "https://github.com/sponsors/colinhacks"
       }
     },
     "node_modules/zod-package-json": {
-      "version": "1.1.0",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/zod-package-json/-/zod-package-json-1.2.0.tgz",
+      "integrity": "sha512-tamtgPM3MkP+obfO2dLr/G+nYoYkpJKmuHdYEy6IXRKfLybruoJ5NUj0lM0LxwOpC9PpoGLbll1ecoeyj43Wsg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "zod": "^3.24.1"
+        "zod": "^3.25.64"
       },
       "engines": {
         "node": ">=20"
       }
     },
+    "node_modules/zod-to-json-schema": {
+      "version": "3.25.1",
+      "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz",
+      "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==",
+      "dev": true,
+      "license": "ISC",
+      "peerDependencies": {
+        "zod": "^3.25 || ^4"
+      }
+    },
     "node_modules/zwitch": {
       "version": "2.0.4",
+      "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz",
+      "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==",
       "dev": true,
       "license": "MIT",
       "funding": {
diff --git a/package.json b/package.json
index 22e90baad..877c6092a 100644
--- a/package.json
+++ b/package.json
@@ -42,16 +42,16 @@
     "docs"
   ],
   "devDependencies": {
-    "@types/jest": "^29.5.11",
-    "eslint": "^8.57.1",
-    "eslint-config-prettier": "^10.1.5",
-    "eslint-plugin-prettier": "^4.2.1",
+    "@types/jest": "^29.5.14",
+    "eslint": "^9.39.2",
+    "eslint-config-prettier": "^10.1.8",
+    "eslint-plugin-prettier": "^5.5.5",
     "jest": "^29.7.0",
     "jest-cli": "^29.7.0",
     "npm-run-all2": "^8.0.4",
-    "pkg-pr-new": "^0.0.51",
-    "prettier": "^3.5.3",
-    "typescript": "^5.8.3"
+    "pkg-pr-new": "^0.0.62",
+    "prettier": "^3.8.0",
+    "typescript": "^5.9.3"
   },
   "overrides": {
     "vitepress": {

From b61b926df6609688975f80547bd4c98d7e2011f7 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Fri, 30 Jan 2026 16:40:05 +0100
Subject: [PATCH 27/76] v5.3.0-rc.1 (#469)

Co-authored-by: GitHub action <>
---
 libraries/ui-library-angular/package.json |  2 +-
 libraries/ui-library-react/package.json   |  2 +-
 libraries/ui-library-vue/package.json     |  2 +-
 libraries/ui-library/package.json         |  2 +-
 package-lock.json                         | 20 ++++++--------------
 package.json                              |  2 +-
 6 files changed, 11 insertions(+), 19 deletions(-)

diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index b229fa230..be7a55301 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-angular",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "description": "Angular wrapper components for @six-group/ui-library",
   "private": false,
   "scripts": {
diff --git a/libraries/ui-library-react/package.json b/libraries/ui-library-react/package.json
index 87a8d5f05..59b9ee44c 100644
--- a/libraries/ui-library-react/package.json
+++ b/libraries/ui-library-react/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@six-group/ui-library-react",
   "description": "React wrapper components for @six-group/ui-library",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "private": false,
   "main": "dist/index.js",
   "module": "dist/index.js",
diff --git a/libraries/ui-library-vue/package.json b/libraries/ui-library-vue/package.json
index e63e8aa19..7859b9d06 100644
--- a/libraries/ui-library-vue/package.json
+++ b/libraries/ui-library-vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-vue",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "description": "Vue wrapper components for @six-group/ui-library",
   "main": "dist/index.js",
   "type": "module",
diff --git a/libraries/ui-library/package.json b/libraries/ui-library/package.json
index 1d17c2a60..962158502 100644
--- a/libraries/ui-library/package.json
+++ b/libraries/ui-library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "description": "Web components in alignment with the SIX corporate styleguide",
   "license": "Apache-2.0",
   "main": "dist/index.cjs.js",
diff --git a/package-lock.json b/package-lock.json
index 8fd16d88a..580d190f3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@six-group/workspace",
-      "version": "5.2.0",
+      "version": "5.3.0-rc.1",
       "license": "Apache-2.0",
       "workspaces": [
         "libraries/ui-library",
@@ -161,7 +161,7 @@
     },
     "libraries/ui-library": {
       "name": "@six-group/ui-library",
-      "version": "5.2.0",
+      "version": "5.3.0-rc.1",
       "license": "Apache-2.0",
       "dependencies": {
         "@stencil/core": "4.41.1",
@@ -199,7 +199,7 @@
     },
     "libraries/ui-library-angular": {
       "name": "@six-group/ui-library-angular",
-      "version": "5.2.0",
+      "version": "5.3.0-rc.1",
       "dependencies": {
         "tslib": "^2.8.1"
       },
@@ -223,7 +223,7 @@
     },
     "libraries/ui-library-react": {
       "name": "@six-group/ui-library-react",
-      "version": "5.2.0",
+      "version": "5.3.0-rc.1",
       "dependencies": {
         "@stencil/react-output-target": "^1.3.0"
       },
@@ -242,7 +242,7 @@
     },
     "libraries/ui-library-vue": {
       "name": "@six-group/ui-library-vue",
-      "version": "5.2.0",
+      "version": "5.3.0-rc.1",
       "dependencies": {
         "@six-group/ui-library": "*"
       },
@@ -9882,14 +9882,6 @@
       "integrity": "sha512-LriObC2+KYZD3FzCrgWGv/qufdUy4eXrxcLgQMfYXgPbLIecKIsVBaQgUPmxSSLcjmYbDTQbMgr6qr6l/eb7Bg==",
       "license": "MIT"
     },
-    "node_modules/@types/prop-types": {
-      "version": "15.7.15",
-      "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz",
-      "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==",
-      "dev": true,
-      "license": "MIT",
-      "optional": true
-    },
     "node_modules/@types/react": {
       "version": "19.2.9",
       "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz",
diff --git a/package.json b/package.json
index 877c6092a..44ef1fab5 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.2.0",
+  "version": "5.3.0-rc.1",
   "scripts": {
     "start": "npm run start -w libraries/ui-library",
     "watch:lib": "npm run watch -w libraries/ui-library",

From 6bc986dc2f918a33cf71de5146083c463ad60c4c Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Mon, 2 Feb 2026 13:55:48 +0100
Subject: [PATCH 28/76] chore: update angular dependencies to latest bugfix
 version (#470)

---
 examples/angular/package.json             |  18 +-
 libraries/ui-library-angular/package.json |   6 +-
 package-lock.json                         | 808 +++++++++++-----------
 3 files changed, 420 insertions(+), 412 deletions(-)

diff --git a/examples/angular/package.json b/examples/angular/package.json
index d3dad8474..ade2c1d89 100644
--- a/examples/angular/package.json
+++ b/examples/angular/package.json
@@ -9,20 +9,20 @@
   "private": true,
   "packageManager": "npm@11.7.0",
   "dependencies": {
-    "@angular/common": "^21.1.0",
-    "@angular/compiler": "^21.1.0",
-    "@angular/core": "^21.1.0",
-    "@angular/forms": "^21.1.0",
-    "@angular/platform-browser": "^21.1.0",
-    "@angular/router": "^21.1.0",
+    "@angular/common": "^21.1.2",
+    "@angular/compiler": "^21.1.2",
+    "@angular/core": "^21.1.2",
+    "@angular/forms": "^21.1.2",
+    "@angular/platform-browser": "^21.1.2",
+    "@angular/router": "^21.1.2",
     "@six-group/ui-library": "*",
     "@six-group/ui-library-angular": "*",
     "tslib": "^2.3.0"
   },
   "devDependencies": {
-    "@angular/build": "^21.1.0",
-    "@angular/cli": "^21.1.0",
-    "@angular/compiler-cli": "^21.1.0",
+    "@angular/build": "^21.1.2",
+    "@angular/cli": "^21.1.2",
+    "@angular/compiler-cli": "^21.1.2",
     "typescript": "~5.9.2"
   }
 }
diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index be7a55301..ad9543916 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -29,9 +29,9 @@
     "url": "https://github.com/six-group/six-webcomponents.git"
   },
   "devDependencies": {
-    "@angular/build": "^21.1.0",
-    "@angular/cli": "^21.1.0",
-    "@angular/compiler-cli": "^21.1.0",
+    "@angular/build": "^21.1.2",
+    "@angular/cli": "^21.1.2",
+    "@angular/compiler-cli": "^21.1.2",
     "ng-packagr": "^21.1.0",
     "typescript": "~5.9.3"
   },
diff --git a/package-lock.json b/package-lock.json
index 580d190f3..bd42159f2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -54,20 +54,20 @@
       "name": "@six-group/demo-app-angular",
       "version": "0.0.0",
       "dependencies": {
-        "@angular/common": "^21.1.0",
-        "@angular/compiler": "^21.1.0",
-        "@angular/core": "^21.1.0",
-        "@angular/forms": "^21.1.0",
-        "@angular/platform-browser": "^21.1.0",
-        "@angular/router": "^21.1.0",
+        "@angular/common": "^21.1.2",
+        "@angular/compiler": "^21.1.2",
+        "@angular/core": "^21.1.2",
+        "@angular/forms": "^21.1.2",
+        "@angular/platform-browser": "^21.1.2",
+        "@angular/router": "^21.1.2",
         "@six-group/ui-library": "*",
         "@six-group/ui-library-angular": "*",
         "tslib": "^2.3.0"
       },
       "devDependencies": {
-        "@angular/build": "^21.1.0",
-        "@angular/cli": "^21.1.0",
-        "@angular/compiler-cli": "^21.1.0",
+        "@angular/build": "^21.1.2",
+        "@angular/cli": "^21.1.2",
+        "@angular/compiler-cli": "^21.1.2",
         "typescript": "~5.9.2"
       }
     },
@@ -204,9 +204,9 @@
         "tslib": "^2.8.1"
       },
       "devDependencies": {
-        "@angular/build": "^21.1.0",
-        "@angular/cli": "^21.1.0",
-        "@angular/compiler-cli": "^21.1.0",
+        "@angular/build": "^21.1.2",
+        "@angular/cli": "^21.1.2",
+        "@angular/compiler-cli": "^21.1.2",
         "ng-packagr": "^21.1.0",
         "typescript": "~5.9.3"
       },
@@ -311,6 +311,55 @@
         "node": ">= 14.0.0"
       }
     },
+    "node_modules/@algolia/autocomplete-core": {
+      "version": "1.17.9",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz",
+      "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-plugin-algolia-insights": "1.17.9",
+        "@algolia/autocomplete-shared": "1.17.9"
+      }
+    },
+    "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+      "version": "1.17.9",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz",
+      "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-shared": "1.17.9"
+      },
+      "peerDependencies": {
+        "search-insights": ">= 1 < 3"
+      }
+    },
+    "node_modules/@algolia/autocomplete-preset-algolia": {
+      "version": "1.17.9",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz",
+      "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-shared": "1.17.9"
+      },
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
+      }
+    },
+    "node_modules/@algolia/autocomplete-shared": {
+      "version": "1.17.9",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz",
+      "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==",
+      "dev": true,
+      "license": "MIT",
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
+      }
+    },
     "node_modules/@algolia/client-abtesting": {
       "version": "5.46.2",
       "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz",
@@ -520,13 +569,13 @@
       }
     },
     "node_modules/@angular-devkit/architect": {
-      "version": "0.2101.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.1.tgz",
-      "integrity": "sha512-8x7hKcFs3hnpDaIj9fyzinh4X74oQaMxMsZzBf4dBL7EwokjPIf2fadQsZd8a5M+Ja4tIgTnXH9ySyaRFWGNXA==",
+      "version": "0.2101.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.2.tgz",
+      "integrity": "sha512-pV2onJgp16xO0vAqEfRWVynRPPLVHydYLANNa3UX3l5T39JcYdMIoOHSIIl8tWrxVeOwiWd1ajub0VsFTUok4Q==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "21.1.1",
+        "@angular-devkit/core": "21.1.2",
         "rxjs": "7.8.2"
       },
       "bin": {
@@ -539,9 +588,9 @@
       }
     },
     "node_modules/@angular-devkit/core": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.1.tgz",
-      "integrity": "sha512-rCwfBUemyRoAfrO4c85b49lkPiD5WljWE+IK7vjUNIFFf4TXOS4tg4zxqopUDVE4zEjXORa5oHCEc5HCerjn1g==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.2.tgz",
+      "integrity": "sha512-0wl5nJlFWsbwfUB2CQeTSmnVQ8AtqqwM3bYPYtXSc+vA8+hzsOAjjDuRnBxZS9zTnqtXKXB1e7M3Iy7KUwh7LA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -614,13 +663,13 @@
       }
     },
     "node_modules/@angular-devkit/schematics": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.1.tgz",
-      "integrity": "sha512-3ptEOuALghEYEPVbhRa7g8a+YmvmHqHVNqF9XqCbG22nPGWkE58qfNNbXi3tF9iQxzKSGw5Iy5gYUvSvpsdcfw==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.2.tgz",
+      "integrity": "sha512-PA3gkiFhHUuXd2XuP7yzKg/9N++bjw+uOl473KwIsMuZwMPhncKa4+mUYBaffDoPqaujZvjfo6mjtCBuiBv05w==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "21.1.1",
+        "@angular-devkit/core": "21.1.2",
         "jsonc-parser": "3.3.1",
         "magic-string": "0.30.21",
         "ora": "9.0.0",
@@ -633,14 +682,14 @@
       }
     },
     "node_modules/@angular/build": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.1.tgz",
-      "integrity": "sha512-OqlfH7tkahw/lFT6ACU6mqt3AGgTxxT27JTqpzZOeGo1ferR9dq1O6/CT4GiNyr/Z1AMfs7rBWlQH68y1QZb2g==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.2.tgz",
+      "integrity": "sha512-5hl7OTZeQcdkr/3LXSijLuUCwlcqGyYJYOb8GbFqSifSR03JFI3tLQtyQ0LX2CXv3MOx1qFUQbYVfcjW5M36QQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@ampproject/remapping": "2.3.0",
-        "@angular-devkit/architect": "0.2101.1",
+        "@angular-devkit/architect": "0.2101.2",
         "@babel/core": "7.28.5",
         "@babel/helper-annotate-as-pure": "7.27.3",
         "@babel/helper-split-export-declaration": "7.24.7",
@@ -683,7 +732,7 @@
         "@angular/platform-browser": "^21.0.0",
         "@angular/platform-server": "^21.0.0",
         "@angular/service-worker": "^21.0.0",
-        "@angular/ssr": "^21.1.1",
+        "@angular/ssr": "^21.1.2",
         "karma": "^6.4.0",
         "less": "^4.2.0",
         "ng-packagr": "^21.0.0",
@@ -967,19 +1016,19 @@
       }
     },
     "node_modules/@angular/cli": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.1.tgz",
-      "integrity": "sha512-eXhHuYvruWHBn7lX3GuAyLq29+ELwPADOW8ShzZkWRPNlIDiFDsS5pXrxkM9ez+8f86kfDHh88Twevn4UBUqQg==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.2.tgz",
+      "integrity": "sha512-AHjXCBl2PEilMJct6DX3ih5Fl5PiKpNDIj0ViTyVh1YcfpYjt6NzhVlV2o++8VNPNH/vMcmf2551LZIDProXXA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.2101.1",
-        "@angular-devkit/core": "21.1.1",
-        "@angular-devkit/schematics": "21.1.1",
+        "@angular-devkit/architect": "0.2101.2",
+        "@angular-devkit/core": "21.1.2",
+        "@angular-devkit/schematics": "21.1.2",
         "@inquirer/prompts": "7.10.1",
         "@listr2/prompt-adapter-inquirer": "3.0.5",
         "@modelcontextprotocol/sdk": "1.25.2",
-        "@schematics/angular": "21.1.1",
+        "@schematics/angular": "21.1.2",
         "@yarnpkg/lockfile": "1.1.0",
         "algoliasearch": "5.46.2",
         "ini": "6.0.0",
@@ -1154,9 +1203,9 @@
       }
     },
     "node_modules/@angular/common": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.1.tgz",
-      "integrity": "sha512-Di2I6TooHdKun3SqRr45o4LbWJq/ZdwUt3fg0X3obPYaP/f6TrFQ4TMjcl03EfPufPtoQx6O+d32rcWVLhDxyw==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/common/-/common-21.1.2.tgz",
+      "integrity": "sha512-NK26OG1+/3EXLDWstSPmdGbkpt8bP9AsT9J7EBornMswUjmQDbjyb85N/esKjRjDMkw4p/aKpBo24eCV5uUmBA==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1166,14 +1215,14 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/core": "21.1.1",
+        "@angular/core": "21.1.2",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/compiler": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.1.tgz",
-      "integrity": "sha512-Urd3bh0zv0MQ//S7RRTanIkOMAZH/A7vSMXUDJ3aflplNs7JNbVqBwDNj8NoX1V+os+fd8JRJOReCc1EpH4ZKQ==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-21.1.2.tgz",
+      "integrity": "sha512-5OFdZPNix7iK4HSdRxPgg74VvcmQZAMzv9ACYZ8iGfNxiJUjFSurfz0AtVEh0oE2oZDH1v48bHI1s+0ljCHZhA==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1184,9 +1233,9 @@
       }
     },
     "node_modules/@angular/compiler-cli": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.1.tgz",
-      "integrity": "sha512-CCB8SZS0BzqLOdOaMpPpOW256msuatYCFDRTaT+awYIY1vQp/eLXzkMTD2uqyHraQy8cReeH/P6optRP9A077Q==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-21.1.2.tgz",
+      "integrity": "sha512-h+sX7QvSz58KvmRwNMa33EZHti8Cnw1DL01kInJ/foDchC/O2VMOumeGHS+lAe48t2Nbhiq/obgf275TkDZYsA==",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -1208,7 +1257,7 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "21.1.1",
+        "@angular/compiler": "21.1.2",
         "typescript": ">=5.9 <6.0"
       },
       "peerDependenciesMeta": {
@@ -1414,9 +1463,9 @@
       }
     },
     "node_modules/@angular/core": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.1.tgz",
-      "integrity": "sha512-KFRCEhsi02pY1EqJ5rnze4mzSaacqh14D8goDhtmARiUH0tefaHR+uKyu4bKSrWga2T/ExG0DJX52LhHRs2qSw==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/core/-/core-21.1.2.tgz",
+      "integrity": "sha512-W2xxRb7noOD1DdMwKaZ3chFhii6nutaNIXt7dfWsMWoujg3Kqpdn1ukeyW5aHKQZvCJTIGr4f3whZ8Sj/17aCA==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1426,7 +1475,7 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/compiler": "21.1.1",
+        "@angular/compiler": "21.1.2",
         "rxjs": "^6.5.3 || ^7.4.0",
         "zone.js": "~0.15.0 || ~0.16.0"
       },
@@ -1440,9 +1489,9 @@
       }
     },
     "node_modules/@angular/forms": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.1.tgz",
-      "integrity": "sha512-NBbJOynLOeMsPo03+3dfdxE0P7SB7SXRqoFJ7WP2sOgOIxODna/huo2blmRlnZAVPTn1iQEB9Q+UeyP5c4/1+w==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-21.1.2.tgz",
+      "integrity": "sha512-dY56FuoBEvfLMtatKGg1vMFSwgySzWJm3URaBj3GpFTjhnuByHoxH4Lb5u50lrrVc9VQt/BZmq3mDZXjlx6Qgw==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1453,16 +1502,16 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/common": "21.1.1",
-        "@angular/core": "21.1.1",
-        "@angular/platform-browser": "21.1.1",
+        "@angular/common": "21.1.2",
+        "@angular/core": "21.1.2",
+        "@angular/platform-browser": "21.1.2",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
     "node_modules/@angular/platform-browser": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.1.tgz",
-      "integrity": "sha512-d6liZjPz29GUZ6dhxytFL/W2nMsYwPpc/E/vZpr5yV+u+gI2VjbnLbl8SG+jjj0/Hyq7s4aGhEKsRrCJJMXgNw==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-21.1.2.tgz",
+      "integrity": "sha512-8vnCbQhxugQ3meGQ0YlSp0uNBYUjpFXYjFnGQ0Xq5jvzc9WX7KSix6+AydEjZtQfc1bWRetBTOlhQpqnwYp53g==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1472,9 +1521,9 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/animations": "21.1.1",
-        "@angular/common": "21.1.1",
-        "@angular/core": "21.1.1"
+        "@angular/animations": "21.1.2",
+        "@angular/common": "21.1.2",
+        "@angular/core": "21.1.2"
       },
       "peerDependenciesMeta": {
         "@angular/animations": {
@@ -1483,9 +1532,9 @@
       }
     },
     "node_modules/@angular/router": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.1.tgz",
-      "integrity": "sha512-3ypbtH3KfzuVgebdEET9+bRwn1VzP//KI0tIqleCGi4rblP3WQ/HwIGa5Qhdcxmw/kbmABKLRXX2kRUvidKs/Q==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@angular/router/-/router-21.1.2.tgz",
+      "integrity": "sha512-APl4tkTJIrpejlULLrGtIdLuJkNctPy0pnVijrJLR52nEV0xX165ulXk3XrL9QnMk0iy950aTYtoTal4aMw16Q==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -1495,9 +1544,9 @@
         "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
       },
       "peerDependencies": {
-        "@angular/common": "21.1.1",
-        "@angular/core": "21.1.1",
-        "@angular/platform-browser": "21.1.1",
+        "@angular/common": "21.1.2",
+        "@angular/core": "21.1.2",
+        "@angular/platform-browser": "21.1.2",
         "rxjs": "^6.5.3 || ^7.4.0"
       }
     },
@@ -2180,9 +2229,9 @@
       "license": "MIT"
     },
     "node_modules/@braintree/sanitize-url": {
-      "version": "7.1.1",
-      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.1.tgz",
-      "integrity": "sha512-i1L7noDNxtFyL5DmZafWy1wRVhGehQmzZaz1HiN5e7iylJMSZR7ekOV7NsIqa5qBldlLrsKv4HbgFUVlQrz8Mw==",
+      "version": "7.1.2",
+      "resolved": "https://registry.npmjs.org/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz",
+      "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==",
       "dev": true,
       "license": "MIT"
     },
@@ -2398,6 +2447,57 @@
         "node": ">=18"
       }
     },
+    "node_modules/@docsearch/css": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz",
+      "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@docsearch/js": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.9.0.tgz",
+      "integrity": "sha512-4bKHcye6EkLgRE8ze0vcdshmEqxeiJM77M0JXjef7lrYZfSlMunrDOCqyLjiZyo1+c0BhUqA2QpFartIjuHIjw==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@docsearch/react": "3.9.0",
+        "preact": "^10.0.0"
+      }
+    },
+    "node_modules/@docsearch/react": {
+      "version": "3.9.0",
+      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz",
+      "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-core": "1.17.9",
+        "@algolia/autocomplete-preset-algolia": "1.17.9",
+        "@docsearch/css": "3.9.0",
+        "algoliasearch": "^5.14.2"
+      },
+      "peerDependencies": {
+        "@types/react": ">= 16.8.0 < 20.0.0",
+        "react": ">= 16.8.0 < 20.0.0",
+        "react-dom": ">= 16.8.0 < 20.0.0",
+        "search-insights": ">= 1 < 3"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "react": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "search-insights": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/@dxup/nuxt": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/@dxup/nuxt/-/nuxt-0.3.2.tgz",
@@ -5312,6 +5412,17 @@
         }
       }
     },
+    "node_modules/@nuxt/cli/node_modules/commander": {
+      "version": "13.1.0",
+      "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
+      "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
+      "license": "MIT",
+      "optional": true,
+      "peer": true,
+      "engines": {
+        "node": ">=18"
+      }
+    },
     "node_modules/@nuxt/cli/node_modules/confbox": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
@@ -7970,9 +8081,9 @@
       "license": "MIT"
     },
     "node_modules/@puppeteer/browsers": {
-      "version": "2.11.1",
-      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.11.1.tgz",
-      "integrity": "sha512-YmhAxs7XPuxN0j7LJloHpfD1ylhDuFmmwMvfy/+6nBSrETT2ycL53LrhgPtR+f+GcPSybQVuQ5inWWu5MrWCpA==",
+      "version": "2.11.2",
+      "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.11.2.tgz",
+      "integrity": "sha512-GBY0+2lI9fDrjgb5dFL9+enKXqyOPok9PXg/69NVkjW3bikbK9RQrNrI3qccQXmDNN7ln4j/yL89Qgvj/tfqrw==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
@@ -8435,9 +8546,9 @@
       }
     },
     "node_modules/@rollup/rollup-android-arm-eabi": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.56.0.tgz",
-      "integrity": "sha512-LNKIPA5k8PF1+jAFomGe3qN3bbIgJe/IlpDBwuVjrDKrJhVWywgnJvflMt/zkbVNLFtF1+94SljYQS6e99klnw==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.57.1.tgz",
+      "integrity": "sha512-A6ehUVSiSaaliTxai040ZpZ2zTevHYbvu/lDoeAteHI8QnaosIzm4qwtezfRg1jOYaUmnzLX1AOD6Z+UJjtifg==",
       "cpu": [
         "arm"
       ],
@@ -8448,9 +8559,9 @@
       ]
     },
     "node_modules/@rollup/rollup-android-arm64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.56.0.tgz",
-      "integrity": "sha512-lfbVUbelYqXlYiU/HApNMJzT1E87UPGvzveGg2h0ktUNlOCxKlWuJ9jtfvs1sKHdwU4fzY7Pl8sAl49/XaEk6Q==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.57.1.tgz",
+      "integrity": "sha512-dQaAddCY9YgkFHZcFNS/606Exo8vcLHwArFZ7vxXq4rigo2bb494/xKMMwRRQW6ug7Js6yXmBZhSBRuBvCCQ3w==",
       "cpu": [
         "arm64"
       ],
@@ -8487,9 +8598,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-arm64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.56.0.tgz",
-      "integrity": "sha512-bof7fbIlvqsyv/DtaXSck4VYQ9lPtoWNFCB/JY4snlFuJREXfZnm+Ej6yaCHfQvofJDXLDMTVxWscVSuQvVWUQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.57.1.tgz",
+      "integrity": "sha512-R+/WwhsjmwodAcz65guCGFRkMb4gKWTcIeLy60JJQbXrJ97BOXHxnkPFrP+YwFlaS0m+uWJTstrUA9o+UchFug==",
       "cpu": [
         "arm64"
       ],
@@ -8500,9 +8611,9 @@
       ]
     },
     "node_modules/@rollup/rollup-freebsd-x64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.56.0.tgz",
-      "integrity": "sha512-KNa6lYHloW+7lTEkYGa37fpvPq+NKG/EHKM8+G/g9WDU7ls4sMqbVRV78J6LdNuVaeeK5WB9/9VAFbKxcbXKYg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.57.1.tgz",
+      "integrity": "sha512-IEQTCHeiTOnAUC3IDQdzRAGj3jOAYNr9kBguI7MQAAZK3caezRrg0GxAb6Hchg4lxdZEI5Oq3iov/w/hnFWY9Q==",
       "cpu": [
         "x64"
       ],
@@ -8513,9 +8624,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.56.0.tgz",
-      "integrity": "sha512-E8jKK87uOvLrrLN28jnAAAChNq5LeCd2mGgZF+fGF5D507WlG/Noct3lP/QzQ6MrqJ5BCKNwI9ipADB6jyiq2A==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.57.1.tgz",
+      "integrity": "sha512-F8sWbhZ7tyuEfsmOxwc2giKDQzN3+kuBLPwwZGyVkLlKGdV1nvnNwYD0fKQ8+XS6hp9nY7B+ZeK01EBUE7aHaw==",
       "cpu": [
         "arm"
       ],
@@ -8526,9 +8637,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-arm-musleabihf": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.56.0.tgz",
-      "integrity": "sha512-jQosa5FMYF5Z6prEpTCCmzCXz6eKr/tCBssSmQGEeozA9tkRUty/5Vx06ibaOP9RCrW1Pvb8yp3gvZhHwTDsJw==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.57.1.tgz",
+      "integrity": "sha512-rGfNUfn0GIeXtBP1wL5MnzSj98+PZe/AXaGBCRmT0ts80lU5CATYGxXukeTX39XBKsxzFpEeK+Mrp9faXOlmrw==",
       "cpu": [
         "arm"
       ],
@@ -8565,9 +8676,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-loong64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.56.0.tgz",
-      "integrity": "sha512-FWfHOCub564kSE3xJQLLIC/hbKqHSVxy8vY75/YHHzWvbJL7aYJkdgwD/xGfUlL5UV2SB7otapLrcCj2xnF1dg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.57.1.tgz",
+      "integrity": "sha512-QWO6RQTZ/cqYtJMtxhkRkidoNGXc7ERPbZN7dVW5SdURuLeVU7lwKMpo18XdcmpWYd0qsP1bwKPf7DNSUinhvA==",
       "cpu": [
         "loong64"
       ],
@@ -8578,9 +8689,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-loong64-musl": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.56.0.tgz",
-      "integrity": "sha512-z1EkujxIh7nbrKL1lmIpqFTc/sr0u8Uk0zK/qIEFldbt6EDKWFk/pxFq3gYj4Bjn3aa9eEhYRlL3H8ZbPT1xvA==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.57.1.tgz",
+      "integrity": "sha512-xpObYIf+8gprgWaPP32xiN5RVTi/s5FCR+XMXSKmhfoJjrpRAjCuuqQXyxUa/eJTdAE6eJ+KDKaoEqjZQxh3Gw==",
       "cpu": [
         "loong64"
       ],
@@ -8591,9 +8702,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-ppc64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.56.0.tgz",
-      "integrity": "sha512-iNFTluqgdoQC7AIE8Q34R3AuPrJGJirj5wMUErxj22deOcY7XwZRaqYmB6ZKFHoVGqRcRd0mqO+845jAibKCkw==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.57.1.tgz",
+      "integrity": "sha512-4BrCgrpZo4hvzMDKRqEaW1zeecScDCR+2nZ86ATLhAoJ5FQ+lbHVD3ttKe74/c7tNT9c6F2viwB3ufwp01Oh2w==",
       "cpu": [
         "ppc64"
       ],
@@ -8604,9 +8715,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-ppc64-musl": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.56.0.tgz",
-      "integrity": "sha512-MtMeFVlD2LIKjp2sE2xM2slq3Zxf9zwVuw0jemsxvh1QOpHSsSzfNOTH9uYW9i1MXFxUSMmLpeVeUzoNOKBaWg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.57.1.tgz",
+      "integrity": "sha512-NOlUuzesGauESAyEYFSe3QTUguL+lvrN1HtwEEsU2rOwdUDeTMJdO5dUYl/2hKf9jWydJrO9OL/XSSf65R5+Xw==",
       "cpu": [
         "ppc64"
       ],
@@ -8617,9 +8728,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-riscv64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.56.0.tgz",
-      "integrity": "sha512-in+v6wiHdzzVhYKXIk5U74dEZHdKN9KH0Q4ANHOTvyXPG41bajYRsy7a8TPKbYPl34hU7PP7hMVHRvv/5aCSew==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.57.1.tgz",
+      "integrity": "sha512-ptA88htVp0AwUUqhVghwDIKlvJMD/fmL/wrQj99PRHFRAG6Z5nbWoWG4o81Nt9FT+IuqUQi+L31ZKAFeJ5Is+A==",
       "cpu": [
         "riscv64"
       ],
@@ -8630,9 +8741,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-riscv64-musl": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.56.0.tgz",
-      "integrity": "sha512-yni2raKHB8m9NQpI9fPVwN754mn6dHQSbDTwxdr9SE0ks38DTjLMMBjrwvB5+mXrX+C0npX0CVeCUcvvvD8CNQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.57.1.tgz",
+      "integrity": "sha512-S51t7aMMTNdmAMPpBg7OOsTdn4tySRQvklmL3RpDRyknk87+Sp3xaumlatU+ppQ+5raY7sSTcC2beGgvhENfuw==",
       "cpu": [
         "riscv64"
       ],
@@ -8643,9 +8754,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-s390x-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.56.0.tgz",
-      "integrity": "sha512-zhLLJx9nQPu7wezbxt2ut+CI4YlXi68ndEve16tPc/iwoylWS9B3FxpLS2PkmfYgDQtosah07Mj9E0khc3Y+vQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.57.1.tgz",
+      "integrity": "sha512-Bl00OFnVFkL82FHbEqy3k5CUCKH6OEJL54KCyx2oqsmZnFTR8IoNqBF+mjQVcRCT5sB6yOvK8A37LNm/kPJiZg==",
       "cpu": [
         "s390x"
       ],
@@ -8656,9 +8767,9 @@
       ]
     },
     "node_modules/@rollup/rollup-linux-x64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.56.0.tgz",
-      "integrity": "sha512-MVC6UDp16ZSH7x4rtuJPAEoE1RwS8N4oK9DLHy3FTEdFoUTCFVzMfJl/BVJ330C+hx8FfprA5Wqx4FhZXkj2Kw==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.57.1.tgz",
+      "integrity": "sha512-ABca4ceT4N+Tv/GtotnWAeXZUZuM/9AQyCyKYyKnpk4yoA7QIAuBt6Hkgpw8kActYlew2mvckXkvx0FfoInnLg==",
       "cpu": [
         "x64"
       ],
@@ -8682,9 +8793,9 @@
       ]
     },
     "node_modules/@rollup/rollup-openbsd-x64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.56.0.tgz",
-      "integrity": "sha512-O16XcmyDeFI9879pEcmtWvD/2nyxR9mF7Gs44lf1vGGx8Vg2DRNx11aVXBEqOQhWb92WN4z7fW/q4+2NYzCbBA==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.57.1.tgz",
+      "integrity": "sha512-H+hXEv9gdVQuDTgnqD+SQffoWoc0Of59AStSzTEj/feWTBAnSfSD3+Dql1ZruJQxmykT/JVY0dE8Ka7z0DH1hw==",
       "cpu": [
         "x64"
       ],
@@ -8695,9 +8806,9 @@
       ]
     },
     "node_modules/@rollup/rollup-openharmony-arm64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.56.0.tgz",
-      "integrity": "sha512-LhN/Reh+7F3RCgQIRbgw8ZMwUwyqJM+8pXNT6IIJAqm2IdKkzpCh/V9EdgOMBKuebIrzswqy4ATlrDgiOwbRcQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.57.1.tgz",
+      "integrity": "sha512-4wYoDpNg6o/oPximyc/NG+mYUejZrCU2q+2w6YZqrAs2UcNUChIZXjtafAiiZSUc7On8v5NyNj34Kzj/Ltk6dQ==",
       "cpu": [
         "arm64"
       ],
@@ -8721,9 +8832,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-ia32-msvc": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.56.0.tgz",
-      "integrity": "sha512-vSSgny54D6P4vf2izbtFm/TcWYedw7f8eBrOiGGecyHyQB9q4Kqentjaj8hToe+995nob/Wv48pDqL5a62EWtg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.57.1.tgz",
+      "integrity": "sha512-P3dLS+IerxCT/7D2q2FYcRdWRl22dNbrbBEtxdWhXrfIMPP9lQhb5h4Du04mdl5Woq05jVCDPCMF7Ub0NAjIew==",
       "cpu": [
         "ia32"
       ],
@@ -8734,9 +8845,9 @@
       ]
     },
     "node_modules/@rollup/rollup-win32-x64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.56.0.tgz",
-      "integrity": "sha512-FeCnkPCTHQJFbiGG49KjV5YGW/8b9rrXAM2Mz2kiIoktq2qsJxRD5giEMEOD2lPdgs72upzefaUvS+nc8E3UzQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.57.1.tgz",
+      "integrity": "sha512-VMBH2eOOaKGtIJYleXsi2B8CPVADrh+TyNxJ4mWPnKfLB/DBUmzW+5m1xUrcwWoMfSLagIRpjUFeW5CO5hyciQ==",
       "cpu": [
         "x64"
       ],
@@ -8760,9 +8871,9 @@
       ]
     },
     "node_modules/@rollup/wasm-node": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.56.0.tgz",
-      "integrity": "sha512-ecaoyItGmpj4hnabpa2D+oI6ME7t7hrqosQ2SA+qBGihoL0DuuoaXIfY8Oa1o7lWGtPpRZmt9EYe7oyivypsJg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.57.1.tgz",
+      "integrity": "sha512-b0rcJH8ykEanfgTeDtlPubhphIUOx0oaAek+3hizTaFkoC1FBSTsY0GixwB4D5HZ5r3Gt2yI9c8M13OcW/kW5A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8787,14 +8898,14 @@
       "license": "MIT"
     },
     "node_modules/@schematics/angular": {
-      "version": "21.1.1",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.1.tgz",
-      "integrity": "sha512-WijqITteakpFOplx7IGHIdBOdTU04Ul4qweilY1CRK3KdzQRuAf31KiKUFrJiGW076cyokmAQmBoZcngh9rCNw==",
+      "version": "21.1.2",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.2.tgz",
+      "integrity": "sha512-kxwxhCIUrj7DfzEtDSs/pi/w+aII/WQLpPfLgoQCWE8/95v60WnTfd1afmsXsFoxikKPxkwoPWtU2YbhSoX9MQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "21.1.1",
-        "@angular-devkit/schematics": "21.1.1",
+        "@angular-devkit/core": "21.1.2",
+        "@angular-devkit/schematics": "21.1.2",
         "jsonc-parser": "3.3.1"
       },
       "engines": {
@@ -9866,9 +9977,9 @@
       "license": "MIT"
     },
     "node_modules/@types/node": {
-      "version": "25.0.10",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-25.0.10.tgz",
-      "integrity": "sha512-zWW5KPngR/yvakJgGOmZ5vTBemDoSqF3AcV/LrO5u5wTWyEAVVh+IT39G4gtyAkh3CtTZs8aX/yRM82OfzHJRg==",
+      "version": "25.1.0",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-25.1.0.tgz",
+      "integrity": "sha512-t7frlewr6+cbx+9Ohpl0NOTKXZNV9xHRmNOvql47BFJKcEG1CxtxlPEEe+gR9uhVWM4DwhnvTF110mIL4yP9RA==",
       "devOptional": true,
       "license": "MIT",
       "peer": true,
@@ -9883,9 +9994,9 @@
       "license": "MIT"
     },
     "node_modules/@types/react": {
-      "version": "19.2.9",
-      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.9.tgz",
-      "integrity": "sha512-Lpo8kgb/igvMIPeNV2rsYKTgaORYdO1XGVZ4Qz3akwOj0ySGYMPlQWa8BaLn0G63D1aSaAQ5ldR06wCpChQCjA==",
+      "version": "19.2.10",
+      "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.10.tgz",
+      "integrity": "sha512-WPigyYuGhgZ/cTPRXB2EwUw+XvsRA3GqHlsP4qteqrnnjDrApbS7MxcGr/hke5iUoeB7E/gQtrs9I37zAJ0Vjw==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -9972,18 +10083,18 @@
       }
     },
     "node_modules/@typescript-eslint/eslint-plugin": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.53.1.tgz",
-      "integrity": "sha512-cFYYFZ+oQFi6hUnBTbLRXfTJiaQtYE3t4O692agbBl+2Zy+eqSKWtPjhPXJu1G7j4RLjKgeJPDdq3EqOwmX5Ag==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz",
+      "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
         "@eslint-community/regexpp": "^4.12.2",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/type-utils": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/type-utils": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "ignore": "^7.0.5",
         "natural-compare": "^1.4.0",
         "ts-api-utils": "^2.4.0"
@@ -9996,7 +10107,7 @@
         "url": "https://opencollective.com/typescript-eslint"
       },
       "peerDependencies": {
-        "@typescript-eslint/parser": "^8.53.1",
+        "@typescript-eslint/parser": "^8.54.0",
         "eslint": "^8.57.0 || ^9.0.0",
         "typescript": ">=4.8.4 <6.0.0"
       }
@@ -10012,17 +10123,17 @@
       }
     },
     "node_modules/@typescript-eslint/parser": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.53.1.tgz",
-      "integrity": "sha512-nm3cvFN9SqZGXjmw5bZ6cGmvJSyJPn0wU9gHAZZHDnZl2wF9PhHv78Xf06E0MaNk4zLVHL8hb2/c32XvyJOLQg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz",
+      "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -10038,14 +10149,14 @@
       }
     },
     "node_modules/@typescript-eslint/project-service": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.53.1.tgz",
-      "integrity": "sha512-WYC4FB5Ra0xidsmlPb+1SsnaSKPmS3gsjIARwbEkHkoWloQmuzcfypljaJcR78uyLA1h8sHdWWPHSLDI+MtNog==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz",
+      "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/tsconfig-utils": "^8.53.1",
-        "@typescript-eslint/types": "^8.53.1",
+        "@typescript-eslint/tsconfig-utils": "^8.54.0",
+        "@typescript-eslint/types": "^8.54.0",
         "debug": "^4.4.3"
       },
       "engines": {
@@ -10060,14 +10171,14 @@
       }
     },
     "node_modules/@typescript-eslint/scope-manager": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.53.1.tgz",
-      "integrity": "sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz",
+      "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1"
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -10078,9 +10189,9 @@
       }
     },
     "node_modules/@typescript-eslint/tsconfig-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.53.1.tgz",
-      "integrity": "sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz",
+      "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -10095,15 +10206,15 @@
       }
     },
     "node_modules/@typescript-eslint/type-utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.53.1.tgz",
-      "integrity": "sha512-MOrdtNvyhy0rHyv0ENzub1d4wQYKb2NmIqG7qEqPWFW7Mpy2jzFC3pQ2yKDvirZB7jypm5uGjF2Qqs6OIqu47w==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz",
+      "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0",
         "debug": "^4.4.3",
         "ts-api-utils": "^2.4.0"
       },
@@ -10120,9 +10231,9 @@
       }
     },
     "node_modules/@typescript-eslint/types": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.53.1.tgz",
-      "integrity": "sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz",
+      "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -10134,16 +10245,16 @@
       }
     },
     "node_modules/@typescript-eslint/typescript-estree": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.53.1.tgz",
-      "integrity": "sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz",
+      "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/project-service": "8.53.1",
-        "@typescript-eslint/tsconfig-utils": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/visitor-keys": "8.53.1",
+        "@typescript-eslint/project-service": "8.54.0",
+        "@typescript-eslint/tsconfig-utils": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/visitor-keys": "8.54.0",
         "debug": "^4.4.3",
         "minimatch": "^9.0.5",
         "semver": "^7.7.3",
@@ -10201,16 +10312,16 @@
       }
     },
     "node_modules/@typescript-eslint/utils": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.53.1.tgz",
-      "integrity": "sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz",
+      "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "@eslint-community/eslint-utils": "^4.9.1",
-        "@typescript-eslint/scope-manager": "8.53.1",
-        "@typescript-eslint/types": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1"
+        "@typescript-eslint/scope-manager": "8.54.0",
+        "@typescript-eslint/types": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -10225,13 +10336,13 @@
       }
     },
     "node_modules/@typescript-eslint/visitor-keys": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.53.1.tgz",
-      "integrity": "sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz",
+      "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/types": "8.53.1",
+        "@typescript-eslint/types": "8.54.0",
         "eslint-visitor-keys": "^4.2.1"
       },
       "engines": {
@@ -10421,9 +10532,9 @@
       }
     },
     "node_modules/@vitejs/plugin-vue-jsx/node_modules/@rolldown/pluginutils": {
-      "version": "1.0.0-rc.1",
-      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.1.tgz",
-      "integrity": "sha512-UTBjtTxVOhodhzFVp/ayITaTETRHPUPYZPXQe0WU0wOgxghMojXxYjOiPOauKIYNWJAWS2fd7gJgGQK8GU8vDA==",
+      "version": "1.0.0-rc.2",
+      "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-rc.2.tgz",
+      "integrity": "sha512-izyXV/v+cHiRfozX62W9htOAvwMo4/bXKDrQ+vom1L1qRuexPock/7VZDAhnpHCLNejd3NJ6hiab+tO0D44Rgw==",
       "license": "MIT"
     },
     "node_modules/@volar/language-core": {
@@ -11831,9 +11942,9 @@
       "license": "MIT"
     },
     "node_modules/baseline-browser-mapping": {
-      "version": "2.9.18",
-      "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz",
-      "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==",
+      "version": "2.9.19",
+      "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.19.tgz",
+      "integrity": "sha512-ipDqC8FrAl/76p2SSWKSI+H9tFwm7vYqXQrItCuiVPt26Km0jS+NzSsBWAaBusvSbQcfJG+JitdMm+wZAgTYqg==",
       "license": "Apache-2.0",
       "bin": {
         "baseline-browser-mapping": "dist/cli.js"
@@ -12532,9 +12643,9 @@
       }
     },
     "node_modules/cli-truncate/node_modules/string-width": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
-      "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz",
+      "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -12838,9 +12949,8 @@
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
-      "devOptional": true,
+      "dev": true,
       "license": "MIT",
-      "peer": true,
       "engines": {
         "node": ">= 10"
       }
@@ -14431,9 +14541,9 @@
       }
     },
     "node_modules/dot-prop/node_modules/type-fest": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.1.tgz",
-      "integrity": "sha512-xygQcmneDyzsEuKZrFbRMne5HDqMs++aFzefrJTgEIKjQ3rekM+RPfFCVq2Gp1VIDqddoYeppCj4Pcb+RZW0GQ==",
+      "version": "5.4.2",
+      "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-5.4.2.tgz",
+      "integrity": "sha512-FLEenlVYf7Zcd34ISMLo3ZzRE1gRjY1nMDTp+bQRBiPsaKyIW8K3Zr99ioHDUgA9OGuGGJPyYpNcffGmBhJfGg==",
       "license": "(MIT OR CC0-1.0)",
       "dependencies": {
         "tagged-tag": "^1.0.0"
@@ -14491,9 +14601,9 @@
       "license": "MIT"
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.5.278",
-      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.278.tgz",
-      "integrity": "sha512-dQ0tM1svDRQOwxnXxm+twlGTjr9Upvt8UFWAgmLsxEzFQxhbti4VwxmMjsDxVC51Zo84swW7FVCXEV+VAkhuPw==",
+      "version": "1.5.283",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.283.tgz",
+      "integrity": "sha512-3vifjt1HgrGW/h76UEeny+adYApveS9dH2h3p57JYzBSXJIKUJAvtmIytDKjcSCt9xHfrNCFJ7gts6vkhuq++w==",
       "license": "ISC"
     },
     "node_modules/emittery": {
@@ -16581,9 +16691,9 @@
       "license": "MIT"
     },
     "node_modules/html-react-parser": {
-      "version": "5.2.12",
-      "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.2.12.tgz",
-      "integrity": "sha512-tvamxqkg5va1t9Wnq8OdikpIZrcgdatNd2rxQt0oEzb+IpbsWR1I7ddPd6CkwqZjiv8zKDzm8oiqqxy+KknQEQ==",
+      "version": "5.2.14",
+      "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.2.14.tgz",
+      "integrity": "sha512-yiSZHuJq6LwQc450IhpLApug8bKTpHv5oVsClpVS1jEDepifXYcJu0Sw0r7pqEl89q/ZpO0nth6LEDWtz5n6qg==",
       "license": "MIT",
       "dependencies": {
         "domhandler": "5.0.3",
@@ -18815,7 +18925,6 @@
       "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "cli-truncate": "^5.0.0",
         "colorette": "^2.0.20",
@@ -20331,9 +20440,9 @@
       }
     },
     "node_modules/node-gyp": {
-      "version": "12.1.0",
-      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.1.0.tgz",
-      "integrity": "sha512-W+RYA8jBnhSr2vrTtlPYPc1K+CSjGpVDRZxcqJcERZ8ND3A1ThWPHRwctTx3qC3oW99jt726jhdz3Y6ky87J4g==",
+      "version": "12.2.0",
+      "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-12.2.0.tgz",
+      "integrity": "sha512-q23WdzrQv48KozXlr0U1v9dwO/k59NHeSzn6loGcasyf0UnSrtzs8kRxM+mfwJSf0DkX0s43hcqgnSO4/VNthQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -20344,7 +20453,7 @@
         "nopt": "^9.0.0",
         "proc-log": "^6.0.0",
         "semver": "^7.3.5",
-        "tar": "^7.5.2",
+        "tar": "^7.5.4",
         "tinyglobby": "^0.2.12",
         "which": "^6.0.0"
       },
@@ -20819,7 +20928,6 @@
       "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.0.tgz",
       "integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==",
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "@dxup/nuxt": "^0.3.2",
         "@nuxt/cli": "^3.32.0",
@@ -21294,9 +21402,9 @@
       }
     },
     "node_modules/ora/node_modules/string-width": {
-      "version": "8.1.0",
-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.0.tgz",
-      "integrity": "sha512-Kxl3KJGb/gxkaUMOjRsQ8IrXiGW75O4E3RPjFIINOVH8AMl2SQ/yWdTzWwF3FevIX9LcMAjJW+GRwAlAbTSXdg==",
+      "version": "8.1.1",
+      "resolved": "https://registry.npmjs.org/string-width/-/string-width-8.1.1.tgz",
+      "integrity": "sha512-KpqHIdDL9KwYk22wEOg/VIqYbrnLeSApsKT/bSj6Ez7pn3CftUiLAv2Lccpq1ALcpLV9UX1Ppn92npZWu2w/aw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -22915,18 +23023,18 @@
       }
     },
     "node_modules/puppeteer": {
-      "version": "24.36.0",
-      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.36.0.tgz",
-      "integrity": "sha512-BD/VCyV/Uezvd6o7Fd1DmEJSxTzofAKplzDy6T9d4WbLTQ5A+06zY7VwO91ZlNU22vYE8sidVEsTpTrKc+EEnQ==",
+      "version": "24.36.1",
+      "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-24.36.1.tgz",
+      "integrity": "sha512-uPiDUyf7gd7Il1KnqfNUtHqntL0w1LapEw5Zsuh8oCK8GsqdxySX1PzdIHKB2Dw273gWY4MW0zC5gy3Re9XlqQ==",
       "dev": true,
       "hasInstallScript": true,
       "license": "Apache-2.0",
       "dependencies": {
-        "@puppeteer/browsers": "2.11.1",
+        "@puppeteer/browsers": "2.11.2",
         "chromium-bidi": "13.0.1",
         "cosmiconfig": "^9.0.0",
         "devtools-protocol": "0.0.1551306",
-        "puppeteer-core": "24.36.0",
+        "puppeteer-core": "24.36.1",
         "typed-query-selector": "^2.12.0"
       },
       "bin": {
@@ -22937,13 +23045,13 @@
       }
     },
     "node_modules/puppeteer-core": {
-      "version": "24.36.0",
-      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.36.0.tgz",
-      "integrity": "sha512-P3Ou0MAFDCQ0dK1d9F9+8jTrg6JvXjUacgG0YkJQP4kbEnUOGokSDEMmMId5ZhXD5HwsHM202E9VwEpEjWfwxg==",
+      "version": "24.36.1",
+      "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-24.36.1.tgz",
+      "integrity": "sha512-L7ykMWc3lQf3HS7ME3PSjp7wMIjJeW6+bKfH/RSTz5l6VUDGubnrC2BKj3UvM28Y5PMDFW0xniJOZHBZPpW1dQ==",
       "dev": true,
       "license": "Apache-2.0",
       "dependencies": {
-        "@puppeteer/browsers": "2.11.1",
+        "@puppeteer/browsers": "2.11.2",
         "chromium-bidi": "13.0.1",
         "debug": "^4.4.3",
         "devtools-protocol": "0.0.1551306",
@@ -23124,9 +23232,9 @@
       }
     },
     "node_modules/react": {
-      "version": "19.2.3",
-      "resolved": "https://registry.npmjs.org/react/-/react-19.2.3.tgz",
-      "integrity": "sha512-Ku/hhYbVjOQnXDZFv2+RibmLFGwFdeeKHFcOTlrt7xplBnya5OGn/hIRDsqDiSUcfORsDC7MPxwork8jBwsIWA==",
+      "version": "19.2.4",
+      "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz",
+      "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==",
       "license": "MIT",
       "peer": true,
       "engines": {
@@ -23134,16 +23242,16 @@
       }
     },
     "node_modules/react-dom": {
-      "version": "19.2.3",
-      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.3.tgz",
-      "integrity": "sha512-yELu4WmLPw5Mr/lmeEpox5rw3RETacE++JgHqQzd2dg+YbJuat3jH4ingc+WPZhxaoFzdv9y33G+F7Nl5O0GBg==",
+      "version": "19.2.4",
+      "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz",
+      "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
         "scheduler": "^0.27.0"
       },
       "peerDependencies": {
-        "react": "^19.2.3"
+        "react": "^19.2.4"
       }
     },
     "node_modules/react-is": {
@@ -23887,9 +23995,9 @@
       "license": "MIT"
     },
     "node_modules/rollup": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.56.0.tgz",
-      "integrity": "sha512-9FwVqlgUHzbXtDg9RCMgodF3Ua4Na6Gau+Sdt9vyCN4RhHfVKX2DCHy3BjMLTDd47ITDhYAnTwGulWTblJSDLg==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.57.1.tgz",
+      "integrity": "sha512-oQL6lgK3e2QZeQ7gcgIkS2YZPg5slw37hYufJ3edKlfQSGGm8ICoxswK15ntSzF/a8+h7ekRy7k7oWc3BQ7y8A==",
       "license": "MIT",
       "peer": true,
       "dependencies": {
@@ -23903,31 +24011,31 @@
         "npm": ">=8.0.0"
       },
       "optionalDependencies": {
-        "@rollup/rollup-android-arm-eabi": "4.56.0",
-        "@rollup/rollup-android-arm64": "4.56.0",
-        "@rollup/rollup-darwin-arm64": "4.56.0",
-        "@rollup/rollup-darwin-x64": "4.56.0",
-        "@rollup/rollup-freebsd-arm64": "4.56.0",
-        "@rollup/rollup-freebsd-x64": "4.56.0",
-        "@rollup/rollup-linux-arm-gnueabihf": "4.56.0",
-        "@rollup/rollup-linux-arm-musleabihf": "4.56.0",
-        "@rollup/rollup-linux-arm64-gnu": "4.56.0",
-        "@rollup/rollup-linux-arm64-musl": "4.56.0",
-        "@rollup/rollup-linux-loong64-gnu": "4.56.0",
-        "@rollup/rollup-linux-loong64-musl": "4.56.0",
-        "@rollup/rollup-linux-ppc64-gnu": "4.56.0",
-        "@rollup/rollup-linux-ppc64-musl": "4.56.0",
-        "@rollup/rollup-linux-riscv64-gnu": "4.56.0",
-        "@rollup/rollup-linux-riscv64-musl": "4.56.0",
-        "@rollup/rollup-linux-s390x-gnu": "4.56.0",
-        "@rollup/rollup-linux-x64-gnu": "4.56.0",
-        "@rollup/rollup-linux-x64-musl": "4.56.0",
-        "@rollup/rollup-openbsd-x64": "4.56.0",
-        "@rollup/rollup-openharmony-arm64": "4.56.0",
-        "@rollup/rollup-win32-arm64-msvc": "4.56.0",
-        "@rollup/rollup-win32-ia32-msvc": "4.56.0",
-        "@rollup/rollup-win32-x64-gnu": "4.56.0",
-        "@rollup/rollup-win32-x64-msvc": "4.56.0",
+        "@rollup/rollup-android-arm-eabi": "4.57.1",
+        "@rollup/rollup-android-arm64": "4.57.1",
+        "@rollup/rollup-darwin-arm64": "4.57.1",
+        "@rollup/rollup-darwin-x64": "4.57.1",
+        "@rollup/rollup-freebsd-arm64": "4.57.1",
+        "@rollup/rollup-freebsd-x64": "4.57.1",
+        "@rollup/rollup-linux-arm-gnueabihf": "4.57.1",
+        "@rollup/rollup-linux-arm-musleabihf": "4.57.1",
+        "@rollup/rollup-linux-arm64-gnu": "4.57.1",
+        "@rollup/rollup-linux-arm64-musl": "4.57.1",
+        "@rollup/rollup-linux-loong64-gnu": "4.57.1",
+        "@rollup/rollup-linux-loong64-musl": "4.57.1",
+        "@rollup/rollup-linux-ppc64-gnu": "4.57.1",
+        "@rollup/rollup-linux-ppc64-musl": "4.57.1",
+        "@rollup/rollup-linux-riscv64-gnu": "4.57.1",
+        "@rollup/rollup-linux-riscv64-musl": "4.57.1",
+        "@rollup/rollup-linux-s390x-gnu": "4.57.1",
+        "@rollup/rollup-linux-x64-gnu": "4.57.1",
+        "@rollup/rollup-linux-x64-musl": "4.57.1",
+        "@rollup/rollup-openbsd-x64": "4.57.1",
+        "@rollup/rollup-openharmony-arm64": "4.57.1",
+        "@rollup/rollup-win32-arm64-msvc": "4.57.1",
+        "@rollup/rollup-win32-ia32-msvc": "4.57.1",
+        "@rollup/rollup-win32-x64-gnu": "4.57.1",
+        "@rollup/rollup-win32-x64-msvc": "4.57.1",
         "fsevents": "~2.3.2"
       }
     },
@@ -24006,9 +24114,9 @@
       }
     },
     "node_modules/rollup/node_modules/@rollup/rollup-darwin-arm64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.56.0.tgz",
-      "integrity": "sha512-EgxD1ocWfhoD6xSOeEEwyE7tDvwTgZc8Bss7wCWe+uc7wO8G34HHCUH+Q6cHqJubxIAnQzAsyUsClt0yFLu06w==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.57.1.tgz",
+      "integrity": "sha512-crNPrwJOrRxagUYeMn/DZwqN88SDmwaJ8Cvi/TN1HnWBU7GwknckyosC2gd0IqYRsHDEnXf328o9/HC6OkPgOg==",
       "cpu": [
         "arm64"
       ],
@@ -24019,9 +24127,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-darwin-x64": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.56.0.tgz",
-      "integrity": "sha512-1vXe1vcMOssb/hOF8iv52A7feWW2xnu+c8BV4t1F//m9QVLTfNVpEdja5ia762j/UEJe2Z1jAmEqZAK42tVW3g==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.57.1.tgz",
+      "integrity": "sha512-Ji8g8ChVbKrhFtig5QBV7iMaJrGtpHelkB3lsaKzadFBe58gmjfGXAOfI5FV0lYMH8wiqsxKQ1C9B0YTRXVy4w==",
       "cpu": [
         "x64"
       ],
@@ -24032,9 +24140,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-gnu": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.56.0.tgz",
-      "integrity": "sha512-uQVoKkrC1KGEV6udrdVahASIsaF8h7iLG0U0W+Xn14ucFwi6uS539PsAr24IEF9/FoDtzMeeJXJIBo5RkbNWvQ==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.57.1.tgz",
+      "integrity": "sha512-MMtej3YHWeg/0klK2Qodf3yrNzz6CGjo2UntLvk2RSPlhzgLvYEB3frRvbEF2wRKh1Z2fDIg9KRPe1fawv7C+g==",
       "cpu": [
         "arm64"
       ],
@@ -24045,9 +24153,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-linux-arm64-musl": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.56.0.tgz",
-      "integrity": "sha512-vLZ1yJKLxhQLFKTs42RwTwa6zkGln+bnXc8ueFGMYmBTLfNu58sl5/eXyxRa2RarTkJbXl8TKPgfS6V5ijNqEA==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.57.1.tgz",
+      "integrity": "sha512-1a/qhaaOXhqXGpMFMET9VqwZakkljWHLmZOX48R0I/YLbhdxr1m4gtG1Hq7++VhVUmf+L3sTAf9op4JlhQ5u1Q==",
       "cpu": [
         "arm64"
       ],
@@ -24058,9 +24166,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-linux-x64-musl": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.56.0.tgz",
-      "integrity": "sha512-ZhGH1eA4Qv0lxaV00azCIS1ChedK0V32952Md3FtnxSqZTBTd6tgil4nZT5cU8B+SIw3PFYkvyR4FKo2oyZIHA==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.57.1.tgz",
+      "integrity": "sha512-HFps0JeGtuOR2convgRRkHCekD7j+gdAuXM+/i6kGzQtFhlCtQkpwtNzkNj6QhCDp7DRJ7+qC/1Vg2jt5iSOFw==",
       "cpu": [
         "x64"
       ],
@@ -24071,9 +24179,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-win32-arm64-msvc": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.56.0.tgz",
-      "integrity": "sha512-kbFsOObXp3LBULg1d3JIUQMa9Kv4UitDmpS+k0tinPBz3watcUiV2/LUDMMucA6pZO3WGE27P7DsfaN54l9ing==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.57.1.tgz",
+      "integrity": "sha512-O54mtsV/6LW3P8qdTcamQmuC990HDfR71lo44oZMZlXU4tzLrbvTii87Ni9opq60ds0YzuAlEr/GNwuNluZyMQ==",
       "cpu": [
         "arm64"
       ],
@@ -24084,9 +24192,9 @@
       ]
     },
     "node_modules/rollup/node_modules/@rollup/rollup-win32-x64-msvc": {
-      "version": "4.56.0",
-      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.56.0.tgz",
-      "integrity": "sha512-H8AE9Ur/t0+1VXujj90w0HrSOuv0Nq9r1vSZF2t5km20NTfosQsGGUXDaKdQZzwuLts7IyL1fYT4hM95TI9c4g==",
+      "version": "4.57.1",
+      "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.57.1.tgz",
+      "integrity": "sha512-mxRFDdHIWRxg3UfIIAwCm6NzvxG0jDX/wBN6KsQFTvKFqqg9vTrWUE68qEjHt19A5wwx5X5aUi2zuZT7YR0jrA==",
       "cpu": [
         "x64"
       ],
@@ -25992,9 +26100,9 @@
       }
     },
     "node_modules/sync-message-port": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.1.3.tgz",
-      "integrity": "sha512-GTt8rSKje5FilG+wEdfCkOcLL7LWqpMlr2c3LRuKt/YXxcJ52aGSbGBAdI4L3aaqfrBt6y711El53ItyH1NWzg==",
+      "version": "1.2.0",
+      "resolved": "https://registry.npmjs.org/sync-message-port/-/sync-message-port-1.2.0.tgz",
+      "integrity": "sha512-gAQ9qrUN/UCypHtGFbbe7Rc/f9bzO88IwrG8TDo/aMKAApKyD6E3W4Cm0EfhfBb6Z6SKt59tTCTfD+n1xmAvMg==",
       "devOptional": true,
       "license": "MIT",
       "engines": {
@@ -26611,16 +26719,16 @@
       }
     },
     "node_modules/typescript-eslint": {
-      "version": "8.53.1",
-      "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.53.1.tgz",
-      "integrity": "sha512-gB+EVQfP5RDElh9ittfXlhZJdjSU4jUSTyE2+ia8CYyNvet4ElfaLlAIqDvQV9JPknKx0jQH1racTYe/4LaLSg==",
+      "version": "8.54.0",
+      "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.54.0.tgz",
+      "integrity": "sha512-CKsJ+g53QpsNPqbzUsfKVgd3Lny4yKZ1pP4qN3jdMOg/sisIDLGyDMezycquXLE5JsEU0wp3dGNdzig0/fmSVQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@typescript-eslint/eslint-plugin": "8.53.1",
-        "@typescript-eslint/parser": "8.53.1",
-        "@typescript-eslint/typescript-estree": "8.53.1",
-        "@typescript-eslint/utils": "8.53.1"
+        "@typescript-eslint/eslint-plugin": "8.54.0",
+        "@typescript-eslint/parser": "8.54.0",
+        "@typescript-eslint/typescript-estree": "8.54.0",
+        "@typescript-eslint/utils": "8.54.0"
       },
       "engines": {
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -27900,106 +28008,6 @@
         "vitepress": "^1.0.0 || ^1.0.0-alpha"
       }
     },
-    "node_modules/vitepress/node_modules/@algolia/autocomplete-core": {
-      "version": "1.17.7",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz",
-      "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-plugin-algolia-insights": "1.17.7",
-        "@algolia/autocomplete-shared": "1.17.7"
-      }
-    },
-    "node_modules/vitepress/node_modules/@algolia/autocomplete-plugin-algolia-insights": {
-      "version": "1.17.7",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz",
-      "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.7"
-      },
-      "peerDependencies": {
-        "search-insights": ">= 1 < 3"
-      }
-    },
-    "node_modules/vitepress/node_modules/@algolia/autocomplete-preset-algolia": {
-      "version": "1.17.7",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz",
-      "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.7"
-      },
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
-      }
-    },
-    "node_modules/vitepress/node_modules/@algolia/autocomplete-shared": {
-      "version": "1.17.7",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz",
-      "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
-      }
-    },
-    "node_modules/vitepress/node_modules/@docsearch/css": {
-      "version": "3.8.2",
-      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz",
-      "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/vitepress/node_modules/@docsearch/js": {
-      "version": "3.8.2",
-      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz",
-      "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@docsearch/react": "3.8.2",
-        "preact": "^10.0.0"
-      }
-    },
-    "node_modules/vitepress/node_modules/@docsearch/react": {
-      "version": "3.8.2",
-      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz",
-      "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-core": "1.17.7",
-        "@algolia/autocomplete-preset-algolia": "1.17.7",
-        "@docsearch/css": "3.8.2",
-        "algoliasearch": "^5.14.2"
-      },
-      "peerDependencies": {
-        "@types/react": ">= 16.8.0 < 19.0.0",
-        "react": ">= 16.8.0 < 19.0.0",
-        "react-dom": ">= 16.8.0 < 19.0.0",
-        "search-insights": ">= 1 < 3"
-      },
-      "peerDependenciesMeta": {
-        "@types/react": {
-          "optional": true
-        },
-        "react": {
-          "optional": true
-        },
-        "react-dom": {
-          "optional": true
-        },
-        "search-insights": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/vitepress/node_modules/@esbuild/aix-ppc64": {
       "version": "0.21.5",
       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",

From 2304534902bc1786c8e8bf40c6a2dc30bb1fc2b8 Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Fri, 6 Feb 2026 10:13:32 +0100
Subject: [PATCH 29/76] chore: npm audit fixes (#472)

---
 package-lock.json | 295 +++++++++++++++++++++-------------------------
 package.json      |   2 +-
 2 files changed, 133 insertions(+), 164 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index bd42159f2..89b9709fe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -28,7 +28,7 @@
         "jest": "^29.7.0",
         "jest-cli": "^29.7.0",
         "npm-run-all2": "^8.0.4",
-        "pkg-pr-new": "^0.0.62",
+        "pkg-pr-new": "^0.0.63",
         "prettier": "^3.8.0",
         "typescript": "^5.9.3"
       }
@@ -257,41 +257,41 @@
       }
     },
     "node_modules/@actions/core": {
-      "version": "1.11.1",
-      "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.11.1.tgz",
-      "integrity": "sha512-hXJCSrkwfA46Vd9Z3q4cpEpHB1rL5NG04+/rbqW9d3+CSvtB1tYe8UTpAlixa1vj0m/ULglfEK2UKxMGxCxv5A==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@actions/core/-/core-3.0.0.tgz",
+      "integrity": "sha512-zYt6cz+ivnTmiT/ksRVriMBOiuoUpDCJJlZ5KPl2/FRdvwU3f7MPh9qftvbkXJThragzUZieit2nyHUyw53Seg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@actions/exec": "^1.1.1",
-        "@actions/http-client": "^2.0.1"
+        "@actions/exec": "^3.0.0",
+        "@actions/http-client": "^4.0.0"
       }
     },
     "node_modules/@actions/exec": {
-      "version": "1.1.1",
-      "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
-      "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
+      "version": "3.0.0",
+      "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-3.0.0.tgz",
+      "integrity": "sha512-6xH/puSoNBXb72VPlZVm7vQ+svQpFyA96qdDBvhB8eNZOE8LtPf9L4oAsfzK/crCL8YZ+19fKYVnM63Sl+Xzlw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@actions/io": "^1.0.1"
+        "@actions/io": "^3.0.2"
       }
     },
     "node_modules/@actions/http-client": {
-      "version": "2.2.3",
-      "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.2.3.tgz",
-      "integrity": "sha512-mx8hyJi/hjFvbPokCg4uRd4ZX78t+YyRPtnKWwIl+RzNaVuFpQHfmlGVfsKEJN8LwTCvL+DfVgAM04XaHkm6bA==",
+      "version": "4.0.0",
+      "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-4.0.0.tgz",
+      "integrity": "sha512-QuwPsgVMsD6qaPD57GLZi9sqzAZCtiJT8kVBCDpLtxhL5MydQ4gS+DrejtZZPdIYyB1e95uCK9Luyds7ybHI3g==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
         "tunnel": "^0.0.6",
-        "undici": "^5.25.4"
+        "undici": "^6.23.0"
       }
     },
     "node_modules/@actions/io": {
-      "version": "1.1.3",
-      "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.3.tgz",
-      "integrity": "sha512-wi9JjgKLYS7U/z8PPbco+PvTb/nRWjeoFlJ1Qer83k/3C5PHQi28hiVdeE2kHXmIL99mQFawx8qt/JPjZilJ8Q==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/@actions/io/-/io-3.0.2.tgz",
+      "integrity": "sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==",
       "dev": true,
       "license": "MIT"
     },
@@ -311,55 +311,6 @@
         "node": ">= 14.0.0"
       }
     },
-    "node_modules/@algolia/autocomplete-core": {
-      "version": "1.17.9",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.9.tgz",
-      "integrity": "sha512-O7BxrpLDPJWWHv/DLA9DRFWs+iY1uOJZkqUwjS5HSZAGcl0hIVCQ97LTLewiZmZ402JYUrun+8NqFP+hCknlbQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-plugin-algolia-insights": "1.17.9",
-        "@algolia/autocomplete-shared": "1.17.9"
-      }
-    },
-    "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
-      "version": "1.17.9",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.9.tgz",
-      "integrity": "sha512-u1fEHkCbWF92DBeB/KHeMacsjsoI0wFhjZtlCq2ddZbAehshbZST6Hs0Avkc0s+4UyBGbMDnSuXHLuvRWK5iDQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.9"
-      },
-      "peerDependencies": {
-        "search-insights": ">= 1 < 3"
-      }
-    },
-    "node_modules/@algolia/autocomplete-preset-algolia": {
-      "version": "1.17.9",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.9.tgz",
-      "integrity": "sha512-Na1OuceSJeg8j7ZWn5ssMu/Ax3amtOwk76u4h5J4eK2Nx2KB5qt0Z4cOapCsxot9VcEN11ADV5aUSlQF4RhGjQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-shared": "1.17.9"
-      },
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
-      }
-    },
-    "node_modules/@algolia/autocomplete-shared": {
-      "version": "1.17.9",
-      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.9.tgz",
-      "integrity": "sha512-iDf05JDQ7I0b7JEA/9IektxN/80a2MZ1ToohfmNS3rfeuQnIKI3IJlIafD0xu4StbtQTghx9T3Maa97ytkXenQ==",
-      "dev": true,
-      "license": "MIT",
-      "peerDependencies": {
-        "@algolia/client-search": ">= 4.9.1 < 6",
-        "algoliasearch": ">= 4.9.1 < 6"
-      }
-    },
     "node_modules/@algolia/client-abtesting": {
       "version": "5.46.2",
       "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.46.2.tgz",
@@ -2447,57 +2398,6 @@
         "node": ">=18"
       }
     },
-    "node_modules/@docsearch/css": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.9.0.tgz",
-      "integrity": "sha512-cQbnVbq0rrBwNAKegIac/t6a8nWoUAn8frnkLFW6YARaRmAQr5/Eoe6Ln2fqkUCZ40KpdrKbpSAmgrkviOxuWA==",
-      "dev": true,
-      "license": "MIT"
-    },
-    "node_modules/@docsearch/js": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.9.0.tgz",
-      "integrity": "sha512-4bKHcye6EkLgRE8ze0vcdshmEqxeiJM77M0JXjef7lrYZfSlMunrDOCqyLjiZyo1+c0BhUqA2QpFartIjuHIjw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@docsearch/react": "3.9.0",
-        "preact": "^10.0.0"
-      }
-    },
-    "node_modules/@docsearch/react": {
-      "version": "3.9.0",
-      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.9.0.tgz",
-      "integrity": "sha512-mb5FOZYZIkRQ6s/NWnM98k879vu5pscWqTLubLFBO87igYYT4VzVazh4h5o/zCvTIZgEt3PvsCOMOswOUo9yHQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@algolia/autocomplete-core": "1.17.9",
-        "@algolia/autocomplete-preset-algolia": "1.17.9",
-        "@docsearch/css": "3.9.0",
-        "algoliasearch": "^5.14.2"
-      },
-      "peerDependencies": {
-        "@types/react": ">= 16.8.0 < 20.0.0",
-        "react": ">= 16.8.0 < 20.0.0",
-        "react-dom": ">= 16.8.0 < 20.0.0",
-        "search-insights": ">= 1 < 3"
-      },
-      "peerDependenciesMeta": {
-        "@types/react": {
-          "optional": true
-        },
-        "react": {
-          "optional": true
-        },
-        "react-dom": {
-          "optional": true
-        },
-        "search-insights": {
-          "optional": true
-        }
-      }
-    },
     "node_modules/@dxup/nuxt": {
       "version": "0.3.2",
       "resolved": "https://registry.npmjs.org/@dxup/nuxt/-/nuxt-0.3.2.tgz",
@@ -3121,16 +3021,6 @@
         "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
       }
     },
-    "node_modules/@fastify/busboy": {
-      "version": "2.1.1",
-      "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz",
-      "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=14"
-      }
-    },
     "node_modules/@fontsource-variable/material-symbols-outlined": {
       "version": "5.2.33",
       "resolved": "https://registry.npmjs.org/@fontsource-variable/material-symbols-outlined/-/material-symbols-outlined-5.2.33.tgz",
@@ -3680,9 +3570,9 @@
       }
     },
     "node_modules/@isaacs/brace-expansion": {
-      "version": "5.0.0",
-      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
-      "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+      "version": "5.0.1",
+      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.1.tgz",
+      "integrity": "sha512-WMz71T1JS624nWj2n2fnYAuPovhv7EUhk69R6i9dsVyzxt5eM3bjwvgk9L+APE1TRscGysAVMANkB0jh0LQZrQ==",
       "license": "MIT",
       "dependencies": {
         "@isaacs/balanced-match": "^4.0.1"
@@ -5412,17 +5302,6 @@
         }
       }
     },
-    "node_modules/@nuxt/cli/node_modules/commander": {
-      "version": "13.1.0",
-      "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz",
-      "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==",
-      "license": "MIT",
-      "optional": true,
-      "peer": true,
-      "engines": {
-        "node": ">=18"
-      }
-    },
     "node_modules/@nuxt/cli/node_modules/confbox": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/confbox/-/confbox-0.2.2.tgz",
@@ -6391,16 +6270,6 @@
         "node": ">= 18"
       }
     },
-    "node_modules/@octokit/action/node_modules/undici": {
-      "version": "6.23.0",
-      "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
-      "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=18.17"
-      }
-    },
     "node_modules/@octokit/auth-action": {
       "version": "4.1.0",
       "resolved": "https://registry.npmjs.org/@octokit/auth-action/-/auth-action-4.1.0.tgz",
@@ -12949,8 +12818,9 @@
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
       "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
-      "dev": true,
+      "devOptional": true,
       "license": "MIT",
+      "peer": true,
       "engines": {
         "node": ">= 10"
       }
@@ -18925,6 +18795,7 @@
       "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
       "dev": true,
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "cli-truncate": "^5.0.0",
         "colorette": "^2.0.20",
@@ -20928,6 +20799,7 @@
       "resolved": "https://registry.npmjs.org/nuxt/-/nuxt-4.3.0.tgz",
       "integrity": "sha512-99Iw3E3L5/2QtJyV4errZ0axkX/S9IAFK0AHm0pmRHkCu37OFn8mz2P4/CYTt6B/TG3mcKbXAVaeuF2FsAc1cA==",
       "license": "MIT",
+      "peer": true,
       "dependencies": {
         "@dxup/nuxt": "^0.3.2",
         "@nuxt/cli": "^3.32.0",
@@ -22163,13 +22035,13 @@
       }
     },
     "node_modules/pkg-pr-new": {
-      "version": "0.0.62",
-      "resolved": "https://registry.npmjs.org/pkg-pr-new/-/pkg-pr-new-0.0.62.tgz",
-      "integrity": "sha512-K2jtf1PLCJJFDimQIpasPXDdnRTZSYPy36Ldz+QhMpLz2YN1Wi0ZQkomVt5Wi3NdBZcYuYGXekyFWfJ6fAHYjg==",
+      "version": "0.0.63",
+      "resolved": "https://registry.npmjs.org/pkg-pr-new/-/pkg-pr-new-0.0.63.tgz",
+      "integrity": "sha512-N4qfhiahmWVmUTKo//Bvb1FAKV7DwFcOjh8GT/aTh0YFSWRZwZp02afpNSohSs1z1jj0YOjU6Ff62iJ0AuHCfg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@actions/core": "^1.11.1",
+        "@actions/core": "^3.0.0",
         "@jsdevtools/ez-spawn": "^3.0.4",
         "@octokit/action": "^6.1.0",
         "ignore": "^5.3.1",
@@ -26801,16 +26673,13 @@
       }
     },
     "node_modules/undici": {
-      "version": "5.29.0",
-      "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz",
-      "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==",
+      "version": "6.23.0",
+      "resolved": "https://registry.npmjs.org/undici/-/undici-6.23.0.tgz",
+      "integrity": "sha512-VfQPToRA5FZs/qJxLIinmU59u0r7LXqoJkCzinq3ckNJp3vKEh7jTWN589YQ5+aoAC/TGRLyJLCPKcLQbM8r9g==",
       "dev": true,
       "license": "MIT",
-      "dependencies": {
-        "@fastify/busboy": "^2.0.0"
-      },
       "engines": {
-        "node": ">=14.0"
+        "node": ">=18.17"
       }
     },
     "node_modules/undici-types": {
@@ -28008,6 +27877,106 @@
         "vitepress": "^1.0.0 || ^1.0.0-alpha"
       }
     },
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-core": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz",
+      "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-plugin-algolia-insights": "1.17.7",
+        "@algolia/autocomplete-shared": "1.17.7"
+      }
+    },
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz",
+      "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-shared": "1.17.7"
+      },
+      "peerDependencies": {
+        "search-insights": ">= 1 < 3"
+      }
+    },
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-preset-algolia": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz",
+      "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-shared": "1.17.7"
+      },
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
+      }
+    },
+    "node_modules/vitepress/node_modules/@algolia/autocomplete-shared": {
+      "version": "1.17.7",
+      "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz",
+      "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==",
+      "dev": true,
+      "license": "MIT",
+      "peerDependencies": {
+        "@algolia/client-search": ">= 4.9.1 < 6",
+        "algoliasearch": ">= 4.9.1 < 6"
+      }
+    },
+    "node_modules/vitepress/node_modules/@docsearch/css": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz",
+      "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/vitepress/node_modules/@docsearch/js": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/js/-/js-3.8.2.tgz",
+      "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@docsearch/react": "3.8.2",
+        "preact": "^10.0.0"
+      }
+    },
+    "node_modules/vitepress/node_modules/@docsearch/react": {
+      "version": "3.8.2",
+      "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.8.2.tgz",
+      "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@algolia/autocomplete-core": "1.17.7",
+        "@algolia/autocomplete-preset-algolia": "1.17.7",
+        "@docsearch/css": "3.8.2",
+        "algoliasearch": "^5.14.2"
+      },
+      "peerDependencies": {
+        "@types/react": ">= 16.8.0 < 19.0.0",
+        "react": ">= 16.8.0 < 19.0.0",
+        "react-dom": ">= 16.8.0 < 19.0.0",
+        "search-insights": ">= 1 < 3"
+      },
+      "peerDependenciesMeta": {
+        "@types/react": {
+          "optional": true
+        },
+        "react": {
+          "optional": true
+        },
+        "react-dom": {
+          "optional": true
+        },
+        "search-insights": {
+          "optional": true
+        }
+      }
+    },
     "node_modules/vitepress/node_modules/@esbuild/aix-ppc64": {
       "version": "0.21.5",
       "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz",
diff --git a/package.json b/package.json
index 44ef1fab5..a51a4cd5c 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,7 @@
     "jest": "^29.7.0",
     "jest-cli": "^29.7.0",
     "npm-run-all2": "^8.0.4",
-    "pkg-pr-new": "^0.0.62",
+    "pkg-pr-new": "^0.0.63",
     "prettier": "^3.8.0",
     "typescript": "^5.9.3"
   },

From 8236d3f99c1ca81a1b96a5d49fb36e4f2be1f6e6 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Mon, 9 Feb 2026 12:07:45 +0100
Subject: [PATCH 30/76] v5.3.0-rc.2 (#475)

Co-authored-by: GitHub action <>
---
 libraries/ui-library-angular/package.json |  2 +-
 libraries/ui-library-react/package.json   |  2 +-
 libraries/ui-library-vue/package.json     |  2 +-
 libraries/ui-library/package.json         |  2 +-
 package-lock.json                         | 12 ++++++------
 package.json                              |  2 +-
 6 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index ad9543916..a05f8d234 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-angular",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "description": "Angular wrapper components for @six-group/ui-library",
   "private": false,
   "scripts": {
diff --git a/libraries/ui-library-react/package.json b/libraries/ui-library-react/package.json
index 59b9ee44c..4771e1894 100644
--- a/libraries/ui-library-react/package.json
+++ b/libraries/ui-library-react/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@six-group/ui-library-react",
   "description": "React wrapper components for @six-group/ui-library",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "private": false,
   "main": "dist/index.js",
   "module": "dist/index.js",
diff --git a/libraries/ui-library-vue/package.json b/libraries/ui-library-vue/package.json
index 7859b9d06..544562d46 100644
--- a/libraries/ui-library-vue/package.json
+++ b/libraries/ui-library-vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-vue",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "description": "Vue wrapper components for @six-group/ui-library",
   "main": "dist/index.js",
   "type": "module",
diff --git a/libraries/ui-library/package.json b/libraries/ui-library/package.json
index 962158502..037780449 100644
--- a/libraries/ui-library/package.json
+++ b/libraries/ui-library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "description": "Web components in alignment with the SIX corporate styleguide",
   "license": "Apache-2.0",
   "main": "dist/index.cjs.js",
diff --git a/package-lock.json b/package-lock.json
index 89b9709fe..be5070b91 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@six-group/workspace",
-      "version": "5.3.0-rc.1",
+      "version": "5.3.0-rc.2",
       "license": "Apache-2.0",
       "workspaces": [
         "libraries/ui-library",
@@ -161,7 +161,7 @@
     },
     "libraries/ui-library": {
       "name": "@six-group/ui-library",
-      "version": "5.3.0-rc.1",
+      "version": "5.3.0-rc.2",
       "license": "Apache-2.0",
       "dependencies": {
         "@stencil/core": "4.41.1",
@@ -199,7 +199,7 @@
     },
     "libraries/ui-library-angular": {
       "name": "@six-group/ui-library-angular",
-      "version": "5.3.0-rc.1",
+      "version": "5.3.0-rc.2",
       "dependencies": {
         "tslib": "^2.8.1"
       },
@@ -223,7 +223,7 @@
     },
     "libraries/ui-library-react": {
       "name": "@six-group/ui-library-react",
-      "version": "5.3.0-rc.1",
+      "version": "5.3.0-rc.2",
       "dependencies": {
         "@stencil/react-output-target": "^1.3.0"
       },
@@ -242,7 +242,7 @@
     },
     "libraries/ui-library-vue": {
       "name": "@six-group/ui-library-vue",
-      "version": "5.3.0-rc.1",
+      "version": "5.3.0-rc.2",
       "dependencies": {
         "@six-group/ui-library": "*"
       },
diff --git a/package.json b/package.json
index a51a4cd5c..55c4148a6 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.3.0-rc.1",
+  "version": "5.3.0-rc.2",
   "scripts": {
     "start": "npm run start -w libraries/ui-library",
     "watch:lib": "npm run watch -w libraries/ui-library",

From 990fd161ef5d1a3380e9a9143f980a521d618724 Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Wed, 11 Feb 2026 16:11:24 +0100
Subject: [PATCH 31/76] chore: address npm warns about config (#476)

---
 libraries/ui-library-angular/package.json | 2 +-
 libraries/ui-library-react/package.json   | 2 +-
 libraries/ui-library/package.json         | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index a05f8d234..9e13b2917 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -26,7 +26,7 @@
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/six-group/six-webcomponents.git"
+    "url": "git+https://github.com/six-group/six-webcomponents.git"
   },
   "devDependencies": {
     "@angular/build": "^21.1.2",
diff --git a/libraries/ui-library-react/package.json b/libraries/ui-library-react/package.json
index 4771e1894..50e8e745c 100644
--- a/libraries/ui-library-react/package.json
+++ b/libraries/ui-library-react/package.json
@@ -11,7 +11,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/six-group/six-webcomponents.git"
+    "url": "git+https://github.com/six-group/six-webcomponents.git"
   },
   "sideEffects": false,
   "engines": {
diff --git a/libraries/ui-library/package.json b/libraries/ui-library/package.json
index 037780449..5a790702f 100644
--- a/libraries/ui-library/package.json
+++ b/libraries/ui-library/package.json
@@ -34,7 +34,7 @@
   ],
   "repository": {
     "type": "git",
-    "url": "https://github.com/six-group/six-webcomponents.git"
+    "url": "git+https://github.com/six-group/six-webcomponents.git"
   },
   "scripts": {
     "build": "npm run clean && stencil build --docs",

From c4737cab5ac87eadca498d8ecd6b4f81d824698a Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Wed, 11 Feb 2026 16:40:49 +0100
Subject: [PATCH 32/76] docs: prepare changelog for release 5.3.0 (#478)

---
 docs/changelog.md | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/docs/changelog.md b/docs/changelog.md
index 7f95d110c..04836d40e 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -6,11 +6,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
 
 ## Upcoming
 
+....
+
+## 5.3.0 - 2026-02-11
+
 ### Fixed
 
 - `six-select`: Fixed type-to-select interfering with autocomplete input by adding
   `disableTypeToSelect` prop to `six-dropdown`
 - `six-select`: fixed menu-item alignment with the checkboxes in multiselect mode
+- Updated and fixed vulnerable dependencies within the libraries
 
 ### Changed
 

From 883af71ab0a5d6148575568b0d97e7b3056ed202 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]"
 <41898282+github-actions[bot]@users.noreply.github.com>
Date: Wed, 11 Feb 2026 16:52:14 +0100
Subject: [PATCH 33/76] v5.3.0 (#479)

Co-authored-by: GitHub action <>
---
 libraries/ui-library-angular/package.json |  2 +-
 libraries/ui-library-react/package.json   |  2 +-
 libraries/ui-library-vue/package.json     |  2 +-
 libraries/ui-library/package.json         |  2 +-
 package-lock.json                         | 12 ++++++------
 package.json                              |  2 +-
 6 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/libraries/ui-library-angular/package.json b/libraries/ui-library-angular/package.json
index 9e13b2917..511daea2b 100644
--- a/libraries/ui-library-angular/package.json
+++ b/libraries/ui-library-angular/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-angular",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "description": "Angular wrapper components for @six-group/ui-library",
   "private": false,
   "scripts": {
diff --git a/libraries/ui-library-react/package.json b/libraries/ui-library-react/package.json
index 50e8e745c..a796cf793 100644
--- a/libraries/ui-library-react/package.json
+++ b/libraries/ui-library-react/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@six-group/ui-library-react",
   "description": "React wrapper components for @six-group/ui-library",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "private": false,
   "main": "dist/index.js",
   "module": "dist/index.js",
diff --git a/libraries/ui-library-vue/package.json b/libraries/ui-library-vue/package.json
index 544562d46..378cb1a1c 100644
--- a/libraries/ui-library-vue/package.json
+++ b/libraries/ui-library-vue/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library-vue",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "description": "Vue wrapper components for @six-group/ui-library",
   "main": "dist/index.js",
   "type": "module",
diff --git a/libraries/ui-library/package.json b/libraries/ui-library/package.json
index 5a790702f..185600e7e 100644
--- a/libraries/ui-library/package.json
+++ b/libraries/ui-library/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/ui-library",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "description": "Web components in alignment with the SIX corporate styleguide",
   "license": "Apache-2.0",
   "main": "dist/index.cjs.js",
diff --git a/package-lock.json b/package-lock.json
index be5070b91..a2b07ebb1 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "@six-group/workspace",
-      "version": "5.3.0-rc.2",
+      "version": "5.3.0",
       "license": "Apache-2.0",
       "workspaces": [
         "libraries/ui-library",
@@ -161,7 +161,7 @@
     },
     "libraries/ui-library": {
       "name": "@six-group/ui-library",
-      "version": "5.3.0-rc.2",
+      "version": "5.3.0",
       "license": "Apache-2.0",
       "dependencies": {
         "@stencil/core": "4.41.1",
@@ -199,7 +199,7 @@
     },
     "libraries/ui-library-angular": {
       "name": "@six-group/ui-library-angular",
-      "version": "5.3.0-rc.2",
+      "version": "5.3.0",
       "dependencies": {
         "tslib": "^2.8.1"
       },
@@ -223,7 +223,7 @@
     },
     "libraries/ui-library-react": {
       "name": "@six-group/ui-library-react",
-      "version": "5.3.0-rc.2",
+      "version": "5.3.0",
       "dependencies": {
         "@stencil/react-output-target": "^1.3.0"
       },
@@ -242,7 +242,7 @@
     },
     "libraries/ui-library-vue": {
       "name": "@six-group/ui-library-vue",
-      "version": "5.3.0-rc.2",
+      "version": "5.3.0",
       "dependencies": {
         "@six-group/ui-library": "*"
       },
diff --git a/package.json b/package.json
index 55c4148a6..6f8d50923 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@six-group/workspace",
-  "version": "5.3.0-rc.2",
+  "version": "5.3.0",
   "scripts": {
     "start": "npm run start -w libraries/ui-library",
     "watch:lib": "npm run watch -w libraries/ui-library",

From d365be6c0574c02627f0107e4a22f474e69a48b6 Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Mon, 16 Feb 2026 17:04:19 +0100
Subject: [PATCH 34/76] chore: update dependencies (#481)

---
 package-lock.json | 339 ++++++++++++++++++++++++++++++++++++++++------
 1 file changed, 298 insertions(+), 41 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index a2b07ebb1..bf17d95f7 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -614,13 +614,13 @@
       }
     },
     "node_modules/@angular-devkit/schematics": {
-      "version": "21.1.2",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.2.tgz",
-      "integrity": "sha512-PA3gkiFhHUuXd2XuP7yzKg/9N++bjw+uOl473KwIsMuZwMPhncKa4+mUYBaffDoPqaujZvjfo6mjtCBuiBv05w==",
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-21.1.4.tgz",
+      "integrity": "sha512-Nqq0ioCUxrbEX+L4KOarETcZZJNnJ1mAJ0ubO4VM91qnn8RBBM9SnQ91590TfC34Szk/wh+3+Uj6KUvTJNuegQ==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "21.1.2",
+        "@angular-devkit/core": "21.1.4",
         "jsonc-parser": "3.3.1",
         "magic-string": "0.30.21",
         "ora": "9.0.0",
@@ -632,6 +632,81 @@
         "yarn": ">= 1.13.0"
       }
     },
+    "node_modules/@angular-devkit/schematics/node_modules/@angular-devkit/core": {
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.4.tgz",
+      "integrity": "sha512-ObPTI5gYCB1jGxTRhcqZ6oQVUBFVJ8GH4LksVuAiz0nFX7xxpzARWvlhq943EtnlovVlUd9I8fM3RQqjfGVVAQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ajv": "8.17.1",
+        "ajv-formats": "3.0.1",
+        "jsonc-parser": "3.3.1",
+        "picomatch": "4.0.3",
+        "rxjs": "7.8.2",
+        "source-map": "0.7.6"
+      },
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular-devkit/schematics/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/@angular-devkit/schematics/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular-devkit/schematics/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/@angular-devkit/schematics/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
     "node_modules/@angular/build": {
       "version": "21.1.2",
       "resolved": "https://registry.npmjs.org/@angular/build/-/build-21.1.2.tgz",
@@ -967,19 +1042,19 @@
       }
     },
     "node_modules/@angular/cli": {
-      "version": "21.1.2",
-      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.2.tgz",
-      "integrity": "sha512-AHjXCBl2PEilMJct6DX3ih5Fl5PiKpNDIj0ViTyVh1YcfpYjt6NzhVlV2o++8VNPNH/vMcmf2551LZIDProXXA==",
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-21.1.4.tgz",
+      "integrity": "sha512-XsMHgxTvHGiXXrhYZz3zMZYhYU0gHdpoHKGiEKXwcx+S1KoYbIssyg6oF2Kq49ZaE0OYCTKjnvgDce6ZqdkJ/A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/architect": "0.2101.2",
-        "@angular-devkit/core": "21.1.2",
-        "@angular-devkit/schematics": "21.1.2",
+        "@angular-devkit/architect": "0.2101.4",
+        "@angular-devkit/core": "21.1.4",
+        "@angular-devkit/schematics": "21.1.4",
         "@inquirer/prompts": "7.10.1",
         "@listr2/prompt-adapter-inquirer": "3.0.5",
-        "@modelcontextprotocol/sdk": "1.25.2",
-        "@schematics/angular": "21.1.2",
+        "@modelcontextprotocol/sdk": "1.26.0",
+        "@schematics/angular": "21.1.4",
         "@yarnpkg/lockfile": "1.1.0",
         "algoliasearch": "5.46.2",
         "ini": "6.0.0",
@@ -1002,6 +1077,70 @@
         "yarn": ">= 1.13.0"
       }
     },
+    "node_modules/@angular/cli/node_modules/@angular-devkit/architect": {
+      "version": "0.2101.4",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2101.4.tgz",
+      "integrity": "sha512-3yyebORk+ovtO+LfDjIGbGCZhCMDAsyn9vkCljARj3sSshS4blOQBar0g+V3kYAweLT5Gf+rTKbN5jneOkBAFQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@angular-devkit/core": "21.1.4",
+        "rxjs": "7.8.2"
+      },
+      "bin": {
+        "architect": "bin/cli.js"
+      },
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      }
+    },
+    "node_modules/@angular/cli/node_modules/@angular-devkit/core": {
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.4.tgz",
+      "integrity": "sha512-ObPTI5gYCB1jGxTRhcqZ6oQVUBFVJ8GH4LksVuAiz0nFX7xxpzARWvlhq943EtnlovVlUd9I8fM3RQqjfGVVAQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ajv": "8.17.1",
+        "ajv-formats": "3.0.1",
+        "jsonc-parser": "3.3.1",
+        "picomatch": "4.0.3",
+        "rxjs": "7.8.2",
+        "source-map": "0.7.6"
+      },
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@angular/cli/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
     "node_modules/@angular/cli/node_modules/ansi-regex": {
       "version": "6.2.2",
       "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
@@ -1050,6 +1189,26 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/@angular/cli/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@angular/cli/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
     "node_modules/@angular/cli/node_modules/semver": {
       "version": "7.7.3",
       "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz",
@@ -1063,6 +1222,16 @@
         "node": ">=10"
       }
     },
+    "node_modules/@angular/cli/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
     "node_modules/@angular/cli/node_modules/string-width": {
       "version": "7.2.0",
       "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz",
@@ -4384,13 +4553,13 @@
       "license": "BSD-2-Clause"
     },
     "node_modules/@modelcontextprotocol/sdk": {
-      "version": "1.25.2",
-      "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.25.2.tgz",
-      "integrity": "sha512-LZFeo4F9M5qOhC/Uc1aQSrBHxMrvxett+9KLHt7OhcExtoiRN9DKgbZffMP/nxjutWDQpfMDfP3nkHI4X9ijww==",
+      "version": "1.26.0",
+      "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz",
+      "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@hono/node-server": "^1.19.7",
+        "@hono/node-server": "^1.19.9",
         "ajv": "^8.17.1",
         "ajv-formats": "^3.0.1",
         "content-type": "^1.0.5",
@@ -4398,14 +4567,15 @@
         "cross-spawn": "^7.0.5",
         "eventsource": "^3.0.2",
         "eventsource-parser": "^3.0.0",
-        "express": "^5.0.1",
-        "express-rate-limit": "^7.5.0",
-        "jose": "^6.1.1",
+        "express": "^5.2.1",
+        "express-rate-limit": "^8.2.1",
+        "hono": "^4.11.4",
+        "jose": "^6.1.3",
         "json-schema-typed": "^8.0.2",
         "pkce-challenge": "^5.0.0",
         "raw-body": "^3.0.0",
         "zod": "^3.25 || ^4.0",
-        "zod-to-json-schema": "^3.25.0"
+        "zod-to-json-schema": "^3.25.1"
       },
       "engines": {
         "node": ">=18"
@@ -4424,9 +4594,9 @@
       }
     },
     "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": {
-      "version": "8.17.1",
-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
-      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+      "version": "8.18.0",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz",
+      "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8767,14 +8937,14 @@
       "license": "MIT"
     },
     "node_modules/@schematics/angular": {
-      "version": "21.1.2",
-      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.2.tgz",
-      "integrity": "sha512-kxwxhCIUrj7DfzEtDSs/pi/w+aII/WQLpPfLgoQCWE8/95v60WnTfd1afmsXsFoxikKPxkwoPWtU2YbhSoX9MQ==",
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-21.1.4.tgz",
+      "integrity": "sha512-I1zdSNzdbrVCWpeE2NsZQmIoa9m0nlw4INgdGIkqUH6FgwvoGKC0RoOxKAmm6HHVJ48FE/sPI13dwAeK89ow5A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
-        "@angular-devkit/core": "21.1.2",
-        "@angular-devkit/schematics": "21.1.2",
+        "@angular-devkit/core": "21.1.4",
+        "@angular-devkit/schematics": "21.1.4",
         "jsonc-parser": "3.3.1"
       },
       "engines": {
@@ -8783,6 +8953,81 @@
         "yarn": ">= 1.13.0"
       }
     },
+    "node_modules/@schematics/angular/node_modules/@angular-devkit/core": {
+      "version": "21.1.4",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-21.1.4.tgz",
+      "integrity": "sha512-ObPTI5gYCB1jGxTRhcqZ6oQVUBFVJ8GH4LksVuAiz0nFX7xxpzARWvlhq943EtnlovVlUd9I8fM3RQqjfGVVAQ==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "ajv": "8.17.1",
+        "ajv-formats": "3.0.1",
+        "jsonc-parser": "3.3.1",
+        "picomatch": "4.0.3",
+        "rxjs": "7.8.2",
+        "source-map": "0.7.6"
+      },
+      "engines": {
+        "node": "^20.19.0 || ^22.12.0 || >=24.0.0",
+        "npm": "^6.11.0 || ^7.5.6 || >=8.0.0",
+        "yarn": ">= 1.13.0"
+      },
+      "peerDependencies": {
+        "chokidar": "^5.0.0"
+      },
+      "peerDependenciesMeta": {
+        "chokidar": {
+          "optional": true
+        }
+      }
+    },
+    "node_modules/@schematics/angular/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/@schematics/angular/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true,
+      "license": "MIT"
+    },
+    "node_modules/@schematics/angular/node_modules/picomatch": {
+      "version": "4.0.3",
+      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+      "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">=12"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/jonschlinkert"
+      }
+    },
+    "node_modules/@schematics/angular/node_modules/source-map": {
+      "version": "0.7.6",
+      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+      "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
+      "dev": true,
+      "license": "BSD-3-Clause",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
     "node_modules/@shikijs/core": {
       "version": "2.5.0",
       "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-2.5.0.tgz",
@@ -15415,11 +15660,14 @@
       }
     },
     "node_modules/express-rate-limit": {
-      "version": "7.5.1",
-      "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz",
-      "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==",
+      "version": "8.2.1",
+      "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz",
+      "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==",
       "dev": true,
       "license": "MIT",
+      "dependencies": {
+        "ip-address": "10.0.1"
+      },
       "engines": {
         "node": ">= 16"
       },
@@ -15430,6 +15678,16 @@
         "express": ">= 4.11"
       }
     },
+    "node_modules/express-rate-limit/node_modules/ip-address": {
+      "version": "10.0.1",
+      "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
+      "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
+      "dev": true,
+      "license": "MIT",
+      "engines": {
+        "node": ">= 12"
+      }
+    },
     "node_modules/exsolve": {
       "version": "1.0.8",
       "resolved": "https://registry.npmjs.org/exsolve/-/exsolve-1.0.8.tgz",
@@ -16491,9 +16749,9 @@
       }
     },
     "node_modules/hono": {
-      "version": "4.11.7",
-      "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.7.tgz",
-      "integrity": "sha512-l7qMiNee7t82bH3SeyUCt9UF15EVmaBvsppY2zQtrbIhl/yzBTny+YUxsVjSjQ6gaqaeVtZmGocom8TzBlA4Yw==",
+      "version": "4.11.9",
+      "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.9.tgz",
+      "integrity": "sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ==",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -18795,7 +19053,6 @@
       "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==",
       "dev": true,
       "license": "MIT",
-      "peer": true,
       "dependencies": {
         "cli-truncate": "^5.0.0",
         "colorette": "^2.0.20",
@@ -19904,9 +20161,9 @@
       }
     },
     "node_modules/nanotar": {
-      "version": "0.2.0",
-      "resolved": "https://registry.npmjs.org/nanotar/-/nanotar-0.2.0.tgz",
-      "integrity": "sha512-9ca1h0Xjvo9bEkE4UOxgAzLV0jHKe6LMaxo37ND2DAhhAtd0j8pR1Wxz+/goMrZO8AEZTWCmyaOsFI/W5AdpCQ==",
+      "version": "0.2.1",
+      "resolved": "https://registry.npmjs.org/nanotar/-/nanotar-0.2.1.tgz",
+      "integrity": "sha512-MUrzzDUcIOPbv7ubhDV/L4CIfVTATd9XhDE2ixFeCrM5yp9AlzUpn91JrnN0HD6hksdxvz9IW9aKANz0Bta0GA==",
       "license": "MIT"
     },
     "node_modules/natural-compare": {
@@ -22953,9 +23210,9 @@
       "license": "MIT"
     },
     "node_modules/qs": {
-      "version": "6.14.1",
-      "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
-      "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
+      "version": "6.15.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.0.tgz",
+      "integrity": "sha512-mAZTtNCeetKMH+pSjrb76NAM8V9a05I9aBZOHztWy/UqcJdQYNsf59vrRKWnojAT9Y+GbIvoTBC++CPHqpDBhQ==",
       "dev": true,
       "license": "BSD-3-Clause",
       "dependencies": {

From adc6292ad24e6a0c9e6aab4c00eb6887aa2d8a29 Mon Sep 17 00:00:00 2001
From: "Colin S." <19342760+colinscz@users.noreply.github.com>
Date: Mon, 16 Feb 2026 17:15:56 +0100
Subject: [PATCH 35/76] feat: add local stage to six-stage-indicator and
 six-root (#480)

* feat: add stage local to six-stage-indicator

* feat: add stage local to six-stage-indicator and six-root
---
 docs/changelog.md                                      |  8 +++++++-
 docs/components/six-root.md                            | 10 +++++-----
 docs/components/six-stage-indicator.md                 |  7 ++++---
 docs/examples/docs-demo-six-stage-indicator-1.vue      |  1 +
 libraries/ui-library/src/components/six-root/readme.md | 10 +++++-----
 .../src/components/six-stage-indicator/index.html      |  1 +
 .../src/components/six-stage-indicator/readme.md       |  6 +++---
 .../six-stage-indicator/six-stage-indicator.scss       |  6 ++++++
 .../six-stage-indicator/six-stage-indicator.tsx        |  2 +-
 9 files changed, 33 insertions(+), 18 deletions(-)

diff --git a/docs/changelog.md b/docs/changelog.md
index 04836d40e..dc7cd6b4f 100644
--- a/docs/changelog.md
+++ b/docs/changelog.md
@@ -6,7 +6,13 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
 
 ## Upcoming
 
-....
+### Added
+
+- Added stage `LOCAL` to `six-stage-indicator` and `six-root`
+
+### Fixed
+
+### Changed
 
 ## 5.3.0 - 2026-02-11
 
diff --git a/docs/components/six-root.md b/docs/components/six-root.md
index 759d504fe..c557b7e2c 100644
--- a/docs/components/six-root.md
+++ b/docs/components/six-root.md
@@ -280,11 +280,11 @@ You can provide a stage indicator by adding `stage="DEV"` to `six-root` as well
 
 ## Properties
 
-| Property  | Attribute | Description                                          | Type                                                        | Default |
-| --------- | --------- | ---------------------------------------------------- | ----------------------------------------------------------- | ------- |
-| `padded`  | `padded`  | Defines whether the content section should be padded | `boolean`                                                   | `true`  |
-| `stage`   | `stage`   | Defines the stage of the application                 | `"ACCEPTANCE" \| "DEV" \| "ETU" \| "ITU" \| "PROD" \| null` | `null`  |
-| `version` | `version` | Defines the version of the application               | `string`                                                    | `''`    |
+| Property  | Attribute | Description                                          | Type                                                                   | Default |
+| --------- | --------- | ---------------------------------------------------- | ---------------------------------------------------------------------- | ------- |
+| `padded`  | `padded`  | Defines whether the content section should be padded | `boolean`                                                              | `true`  |
+| `stage`   | `stage`   | Defines the stage of the application                 | `"ACCEPTANCE" \| "DEV" \| "ETU" \| "ITU" \| "LOCAL" \| "PROD" \| null` | `null`  |
+| `version` | `version` | Defines the version of the application               | `string`                                                               | `''`    |
 
 
 ## Slots
diff --git a/docs/components/six-stage-indicator.md b/docs/components/six-stage-indicator.md
index c52e679ea..d44e19f22 100644
--- a/docs/components/six-stage-indicator.md
+++ b/docs/components/six-stage-indicator.md
@@ -19,6 +19,7 @@ Use the `stage` attribute to display a certain stage
 
 
 ```html
+ LOCAL-webcomponents-123.3.2 
  DEV-webcomponents-123.3.2 
  ITU-webcomponents-123.3.2 
  ETU-webcomponents-123.3.2 
@@ -33,9 +34,9 @@ Use the `stage` attribute to display a certain stage
 
 ## Properties
 
-| Property | Attribute | Description                    | Type                                                        | Default |
-| -------- | --------- | ------------------------------ | ----------------------------------------------------------- | ------- |
-| `stage`  | `stage`   | The indicators value attribute | `"ACCEPTANCE" \| "DEV" \| "ETU" \| "ITU" \| "PROD" \| null` | `null`  |
+| Property | Attribute | Description                    | Type                                                                   | Default |
+| -------- | --------- | ------------------------------ | ---------------------------------------------------------------------- | ------- |
+| `stage`  | `stage`   | The indicators value attribute | `"ACCEPTANCE" \| "DEV" \| "ETU" \| "ITU" \| "LOCAL" \| "PROD" \| null` | `null`  |
 
 
 ## Dependencies
diff --git a/docs/examples/docs-demo-six-stage-indicator-1.vue b/docs/examples/docs-demo-six-stage-indicator-1.vue
index 562b08d56..5ce52fd34 100644
--- a/docs/examples/docs-demo-six-stage-indicator-1.vue
+++ b/docs/examples/docs-demo-six-stage-indicator-1.vue
@@ -1,6 +1,7 @@