diff --git a/.devcontainer/Dockerfile.dev b/.devcontainer/Dockerfile.dev index 559af398..a2c7a7ca 100644 --- a/.devcontainer/Dockerfile.dev +++ b/.devcontainer/Dockerfile.dev @@ -3,7 +3,7 @@ FROM mcr.microsoft.com/devcontainers/java:8-bullseye ARG GITLAB_TOKEN="" ARG EXIST_VERSION=6.2.0 ARG TEMPLATING_VERSION=1.1.0 -ARG PUBLISHER_LIB_VERSION=4.0.0 +ARG PUBLISHER_LIB_VERSION=6.0.1 ARG ROUTER_VERSION=1.8.0 ARG EDITOR_VERSION=1.1.0 diff --git a/.existdb.json b/.existdb.json index e063ef65..e0dda763 100644 --- a/.existdb.json +++ b/.existdb.json @@ -17,7 +17,9 @@ "node_modules/**", "bower_components/**", "build/**", - "webtest/**" + "webtest/**", + ".idea/**", + ".DS_Store" ] }, "package": { diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml new file mode 100644 index 00000000..2cb1d2ad --- /dev/null +++ b/.github/workflows/e2e.yml @@ -0,0 +1,124 @@ +# This workflow builds a xar archive, deploys it into exist and execute a simple smoke test. + +name: Build and Test + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + continue-on-error: ${{ matrix.experimental }} + env: + GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + strategy: + fail-fast: false + matrix: + # 7.0.0-SNAPSHOT and 6.4.0 created + exist-version: [6.4.0, release] + java-version: [11] + experimental: [false] + include: + - exist-version: latest + java-version: 21 + experimental: true + + steps: + # Checkout code + - uses: actions/checkout@v5 + + # Speed up apt-get installs + - name: Disable man-db to make package install and removal faster + run: | + echo 'set man-db/auto-update false' | sudo debconf-communicate >/dev/null + sudo dpkg-reconfigure man-db + + - name: Install Test Dependencies + run: | + sudo apt-get update + sudo apt-get install -y libxml2-utils bats + npm install --global @existdb/xst + + # sanity check + - name: Ensure all XML files are well-formed + run: | + xmllint --noout \ + $(find . -type f -name '*.xml') + + # Build + - name: Install Java + uses: actions/setup-java@v5 + with: + distribution: 'temurin' + java-version: ${{ matrix.java-version }} + - run: ant + + - name: Check Contents + working-directory: build/ + run: ls + + # Install + - name: Start exist-ci containers + run: | + docker run -dit -p 8080:8080 \ + --name exist --rm --health-interval=1s --health-start-period=2s \ + duncdrum/existdb:${{ matrix.exist-version }}-slim + + - name: Wait for server to start + timeout-minutes: 1 + run: | + echo "Waiting for server to start..." + until docker logs exist 2>&1 | grep -q "Server has started"; do + echo "Still waiting..." + sleep 4 + done + + - name: install edep and edep-data + env: + EXISTDB_USER: 'admin' + EXISTDB_PASS: '' + EXISTDB_SERVER: 'http://localhost:8080/' + run: | + xst package install ./dist/*.xar + xst package install github-release edep-data --owner eeditiones + + # Test + - name: Run smoke test + run: bats --tap test/*.bats + + - name: debug logs + if: failure() + run: docker logs exist | grep 'ERROR' + + - name: Copy logs on failure + if: failure() + run: | + echo "Copying logs..." + docker cp exist:/exist/logs/exist.log ./exist.log + + - name: Upload logs artifact + if: failure() + uses: actions/upload-artifact@v4 + with: + name: edep-exist-${{ matrix.exist-version }}-log + path: exist.log + + - name: Run Cypress e2e test + if: matrix.experimental != true + uses: cypress-io/github-action@v6 + with: + browser: firefox + + - name: Run Cypress e2e test (expect fail) + if: matrix.experimental == true + continue-on-error: true + uses: cypress-io/github-action@v6 + with: + browser: firefox + + - name: Upload cypress sceenshots + if: failure() + uses: actions/upload-artifact@v4 + with: + name: CiM-exist-${{ matrix.exist-version }}-screenshots + path: cypress/screenshots/ diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml new file mode 100644 index 00000000..3c3ac4db --- /dev/null +++ b/.github/workflows/linting.yml @@ -0,0 +1,11 @@ +name: Linting +on: push +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Install modules + run: npm i + - name: Run ESLint and Prettier + run: npm run lint diff --git a/.gitignore b/.gitignore index fc15a6be..d905a610 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -.idea +.idea/** build/ dist/ -node_modules/ \ No newline at end of file +node_modules/ +.DS_Store \ No newline at end of file diff --git a/.prettierrc.mjs b/.prettierrc.mjs new file mode 100644 index 00000000..dea754c3 --- /dev/null +++ b/.prettierrc.mjs @@ -0,0 +1,12 @@ +/** + * @type {import('prettier').Config} + */ +const config = { + singleQuote: true, + arrowParens: 'avoid', + tabWidth: 4, + printWidth: 120, + bracketSameLine: true, +}; + +export default config; diff --git a/Dockerfile b/Dockerfile index ae2652b1..cceacbeb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -35,7 +35,7 @@ ENV PATH ${PATH}:${ANT_HOME}/bin FROM builder as tei ARG TEMPLATING_VERSION=1.1.0 -ARG PUBLISHER_LIB_VERSION=4.0.0 +ARG PUBLISHER_LIB_VERSION=6.0.1 ARG ROUTER_VERSION=1.8.1 # add key diff --git a/README.md b/README.md index 3e8c4bec..e88fab66 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,11 @@ EDEp implements an editor and toolbox for epigraphic data adhering to the EpiDoc * web components for transcribing inscriptions using Leiden markup * components allowing controlled XML editing for specific micro-environments within the larger form * ODDS based on the TEI Processing Model for output transformations: rather than using hand-written transformations we describe them in a declarative way in TEI itself -* a component for looking up bibliographic references in Zotero +* API for synchronizing Zotero library to the local instance +* a component for looking up bibliographic references in locally cached Zotero -The current state of the application itself should be considered an **early beta**, i.e. fully usable, but still under development. +The current state of the application itself should be considered an **early beta**, i.e. usable, but still under development. +Please report any hiccups via the issue tracker. ## Installation @@ -19,7 +21,7 @@ You may either 1. install the application into an existing eXist instance or 2. use the docker image -Using option 1, the application requires at least Java version 8 and eXist version 6.2.0. Details of the installation process are described in the [TEI Publisher documentation](https://tei-publisher.com/exist/apps/tei-publisher/documentation/exist-installation). You may skip the last step: *Installing TEI Publisher*, which is not needed for EDEp, but open the dashboard as described. Next, download the EDEp application and data package from the [GitHub release page](https://github.com/eeditiones/edep/releases). Install those one after the other: either click on the *Upload* button and select the downloaded `edep-*.xar` or drag and drop it onto the button. +Using option 1, the application requires at least Java version 8 and eXist version 6.2.0. Details of the installation process are described in the [TEI Publisher documentation](https://tei-publisher.com/exist/apps/tei-publisher/documentation/exist-installation). You may skip the last step: *Installing TEI Publisher*, which is not needed for EDEp, but open the dashboard as described. Next, download the EDEp application and data package from the [GitHub release page](https://github.com/eeditiones/edep/releases). Install those one after the other: first the data package, then the application itself. Either click on the *Upload* button and select the downloaded `edep-*.xar` or drag and drop it onto the button. Option 2 is **recommended** for new users and easier if you would like a working environment without having to install Java and eXist. You need docker installed though. Windows and Mac users may download the [docker desktop](https://www.docker.com/products/docker-desktop) application. After install, open a shell and run the following pull command: @@ -49,6 +51,14 @@ Log in by clicking the *login* button in the top right corner of the page. The d ![demo collection](doc/edep-demo.png) +## Zotero synchronization + +Use the `api.html` to manually trigger Zotero synchronization. It usually takes 2-3 minutes the first time, couple of seconds afterwards. + +![zotero-sync](doc/zotero.png) + +Read more on this subject in [Zotero cache documentation](doc/zotero-cache.md) + ## Customization **Important note**: just like TEI, EpiDoc is **not** a standard in the sense that there's only one way to encode things. It does not strictly standardize every little detail, but rather tries to provide a common base. Many aspects depend on the concrete research object and will necessarily differ. Therefore you cannot expect that the editor will consume every possible variation of EpiDoc out of the box. It should handle the common denominator, i.e. common parts like titles, transcriptions, translations or commentaries, but may fail to correctly interpret other details of your encoding, which require further customization. @@ -60,37 +70,41 @@ Therefore the editor works entirely within the web browser: it only loads the Ep For example, the form field for the state of preservation is defined in the HTML as follows: ```html - + - + ``` HTML elements starting with `fx-` belong to *Fore*, the forms framework. *Fore* was designed to preserve the good parts of the – now outdated – XForms standard and takes them to the next level. As with all powerful tools, it requires a bit of time to fully grasp the concepts and understand how they work together. We suggest to read the [article series](https://medium.com/@joern.turner/fore-elements-explained-part-1-89fc41ec6923), which explains the available elements. -The `@ref` attribute binds the form control to the element selected by the given XPath expression, in this case: `physDesc/objectDesc/supportDesc/condition` within the outer `msPart`. All labels are multi-lingual (German and English) by default, which is why we use the `` tag and `data-i18n` attributes to reference translation keys. Translations for all labels can be found in [src/resources/i18n/app](src/resources/i18n/app). +The `@ref` attribute binds the form control to the element selected by the given XPath expression, in this case: `objectDesc/supportDesc/condition`. All labels are multi-lingual (German and English) by default, which is why we use the `` tag and to reference translation keys. Translations for all labels can be found in [src/resources/i18n/app](src/resources/i18n/app). + +Select options labels are also localized, but since these are read from TEI taxonomies, the lookups search for `catDesc` elements with an `xml:lang` attribute matching the current language (`$lang` in the example above). -The design decision to use `msPart` was made to support inscriptions consisting of multiple fragments on the same object. EDEp therefore distinguishes between properties which apply to the object as a whole and those specific to the inscription. Consequently every EpiDoc document in EDEp has at least one `msPart` for the main inscription. Note however, that support for multiple fragments is still a bit lacking and needs more work. +When creating a new document, the editor starts by loading an empty [EpiDoc template](src/templates/fore/epidoc-template.xml). This contains placeholders for all the elements covered by the form. Some elements, e.g. bibliographic entries, are repeatable, which means you can add more of the same type. Sub-templates for repeat elements and other fragments inserted on demand are located in [templates.xml](src/templates/fore/templates.xml). -When creating a new document, the editor starts by loading an empty [EpiDoc template](src/templates/fore/epidoc-template.xml). This contains placeholders for all the elements covered by the form. Some elements, e.g. bibliographic entries, are repeatable, which means you can add more of the same type. Sub-templates for those elements are mostly located in [templates.xml](src/templates/fore/templates.xml). +The entire pre-processing pipeline is started via `custom-api.xql/api:file-upload` which in turn call on other functions to convert the input. -The form also needs some auxiliary data lists, e.g. for object types, materials and much more, which are mostly loaded from the data package. +The form also needs some auxiliary data lists, e.g. for object types, materials and much more, which are loaded from `data/taxonomy` collection in the data package. To extend the form to include an additional element or attribute, one would proceed as follows: -1. edit [epidoc-template.xml](src/templates/fore/epidoc-template.xml) and add the missing element or attribute. If it should be part of an `msPart` (i.e. target the inscription), make sure to also modify [mspart-tmpl.xml](src/templates/fore/mspart-tmpl.xml) in the same way. If the element or attribute belongs to a repeatable section, check [templates.xml](src/templates/fore/templates.xml). -2. add a form control to [edit.html](src/templates/edit.html) and bind it to the element/attribute. +1. edit [epidoc-template.xml](src/templates/fore/epidoc-template.xml) and add the missing element or attribute. If the element or attribute belongs to a repeatable section, adjust also [templates.xml](src/templates/fore/templates.xml). +2. add a form control to [edit.html](src/templates/edit.html) or its dynamically imported form fragments and bind it to the element/attribute. -Many fields in the form may contain inline TEI/XML. We have thus developed an XML editor component (based on the excellent codemirror library), which can be plugged into the form to replace any plain-text input field: +Many fields in the form may contain inline TEI/XML. We have therefore developed an XML editor component (based on the codemirror library), which can be plugged into the form to replace any plain-text input field: ```html - +
@@ -122,7 +136,7 @@ The editor features context-sensitive suggestions for elements and attributes wh ### Treatment of empty elements/attributes -As explained above, the form works directly on the EpiDoc TEI XML. However, note that missing elements or attributes will be regarded as irrelevant by the form and the corresponding controls will be hidden. This is by design and conceptually an important feature! It is thus required that you **provide an empty placeholder** in the XML templates for every element or attribute to be edited in the form. For example, the template for the `` element specifies empty attributes for `when` and `when-custom` even though those are mutually exclusive: +As explained above, the form works directly on the EpiDoc TEI XML. However, real TEI documents will not necessarily contain all potentially possible elements and attributes. In such cases, note that "missing" elements or attributes will be regarded as irrelevant by the form and the corresponding controls will not be shown. This is an element of the Fore design and conceptually an important feature! It is therefore required that **a placeholder** is provided in the XML templates for every element or attribute to be edited in the form or to indicate in the form control that a given attribute should be created on demand. For example, the template for the `` element specifies empty attributes for `when` and `when-custom` even though those are mutually exclusive: ```xml diff --git a/cypress.config.js b/cypress.config.js new file mode 100644 index 00000000..3cc9ea5c --- /dev/null +++ b/cypress.config.js @@ -0,0 +1,10 @@ +const { defineConfig } = require('cypress'); + +module.exports = defineConfig({ + e2e: { + baseUrl: 'http://localhost:8080/exist/apps/edep', + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/cypress/e2e/smoketest.cy.js b/cypress/e2e/smoketest.cy.js new file mode 100644 index 00000000..c0d07246 --- /dev/null +++ b/cypress/e2e/smoketest.cy.js @@ -0,0 +1,17 @@ +describe('Smoketest', () => { + it('Can open the edit page', { defaultCommandTimeout: 10000 }, () => { + cy.visit('edit/demo/E0000028.xml'); + + cy.get('.edepid').should('have.value', 'E0000028'); + + // There are fragments here + cy.get('#r-fragments a').should('have.length', '2'); + + // We've seen this option list to break in some cases + cy.get('#findspot-ctrl option') + .should('have.length.of.at.least', 10) + .should('not.contain', '{.}') + .should('not.have.attr', 'value', '{@xml:id}') + .should('contain', 'A'); + }); +}); diff --git a/cypress/fixtures/example.json b/cypress/fixtures/example.json new file mode 100644 index 00000000..02e42543 --- /dev/null +++ b/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/cypress/support/commands.js b/cypress/support/commands.js new file mode 100644 index 00000000..119ab03f --- /dev/null +++ b/cypress/support/commands.js @@ -0,0 +1,25 @@ +// *********************************************** +// This example commands.js shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) diff --git a/cypress/support/e2e.js b/cypress/support/e2e.js new file mode 100644 index 00000000..1a2c2cf0 --- /dev/null +++ b/cypress/support/e2e.js @@ -0,0 +1,24 @@ +// *********************************************************** +// This example support/e2e.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands'; + +Cypress.on('uncaught:exception', (err, runnable) => { + if (err.stack.includes('jinn-codemirror-bundle.js')) { + return false; + } + return true; +}); diff --git a/doc/zotero-cache.md b/doc/zotero-cache.md new file mode 100644 index 00000000..06da9586 --- /dev/null +++ b/doc/zotero-cache.md @@ -0,0 +1,216 @@ +# Zotero Group Cache — Architecture & API (eXist-db 6.4) + +This document describes the local Zotero cache used by the app, the expected collection layout in eXist‑db, the config variables, the sync endpoint, and the installation steps. + +> Target stack: **eXist‑db 6.4.x**, **Roaster** (OpenAPI router), **Fore** frontend. +> Zotero library: **Group** (public or private). API key is **optional** for public groups. + +--- + +## Preconditions + +* you must install edep-data.xar BEFORE edep.xar so the latter can create the necessary structure (see below) + +## What is does + +* Syncs the items of a specific configured group to a eXist-db collection including its `bib` properties. +* maintains a meta.json to track version + + +## Collection layout + +The following structure will be created during post-install. + +Note: Currently only one group is supported for syncing. However the structure allows to store +multiple groups with their items. + +``` +/edep-data +└── zotero/ (collection) [pre-created] + └── groups/ (collection) [pre-created] + └── / (collection) [created by post-install] + ├── items/ (collection) [created by post-install] + │ ├── ABC12345.json (application/json) ← Zotero item “data” for key ABC12345 + │ ├── 9KLMNO67.json (application/json) + │ └── ... (application/json) + └── meta.json (application/json) ← created/seeded by post-install +``` + +### `meta.json` (seeded by post-install) +```json +{ + "libraryVersion": 0, + "syncedAt": "YYYY-MM-DDThh:mm:ssZ" +} +``` +- **libraryVersion**: last known Zotero `Last-Modified-Version` for the group (int). +- **syncedAt**: timestamp of last local sync. + +### `items/.json` +One file per Zotero item **key**. Stored content is the **pristine Zotero `data` object** (no wrapping). Example: +```json +{ + "itemType": "journalArticle", + "title": "Example Title", + "creators": [{ "creatorType": "author", "firstName": "Jane", "lastName": "Doe" }], + "date": "2020", + "DOI": "10.1234/example.doi", + "url": "https://example.org", + "tags": [{ "tag": "project:demo" }, { "tag": "public" }] +} +``` + +--- + +## Config module (`config.xqm`) + +The application reads **config variables** directly (hyphenated names), and also provides **function wrappers** for legacy callers. Keep both to avoid router/package regressions. + +```xquery +xquery version "3.1"; +module namespace config = "http://example.org/config"; + +(: ── variables (used directly) ── :) +declare variable $config:zotero-api-base as xs:string := "https://api.zotero.org"; +declare variable $config:zotero-api-key as xs:string := ""; (: optional for public :) +declare variable $config:zotero-group-id as xs:integer := 2529759; + +declare variable $config:zotero-base-dir as xs:string := "/db/zotero-cache/groups"; +declare variable $config:zotero-group-dir as xs:string := concat($config:zotero-base-dir, "/", $config:zotero-group-id); +declare variable $config:zotero-items-dir as xs:string := concat($config:zotero-group-dir, "/items"); +declare variable $config:zotero-meta-path as xs:string := concat($config:zotero-group-dir, "/meta.json"); +declare variable $config:zotero-style := "digital-humanities-im-deutschsprachigen-raum"; +``` + +**Notes** +- For **public** Zotero groups, `$config:zotero-api-key` may be the empty string; the sync omits the `Authorization` header in that case. +- If you change the **group id**, post‑install must be run again to create the new group layout. + +--- + +## Installation bootstrap (`post-install.xql`) + +The post‑install script should: +1. Create collections: `$config:zotero-base-dir`, `$config:zotero-group-dir`, `$config:zotero-items-dir` (stepwise under `/db`). +2. Seed `$config:zotero-meta-path` with the template JSON (media type `application/json`) if missing. + +A minimal post‑install does: +- `local:mkcol()` to ensure collections (stepwise, eXist‑6.4 safe) +- seeds `meta.json` via 4‑arg `xmldb:store(..., \"application/json\")` +- returns a JSON summary + +> After installation, the **sync** endpoint will not create collections or seed meta; it assumes post‑install of edep app! prepared the layout. + +--- + +## Sync endpoint + +**Route**: `POST /api/z/sync` → `zotero:sync` +**Behavior**: Incremental, paginated sync from Zotero group into local cache. + +### Request → Zotero +- `GET {zotero-api-base}/groups/{zotero-group-id}/items?since={libraryVersion}&limit=100` +- Headers: + - `Zotero-API-Version: 3` + - `Authorization: Bearer {apiKey}` (only if `$config:zotero-api-key` is non-empty) + - `If-Modified-Since-Version: {libraryVersion}` (only when `libraryVersion > 0`) + +#### force full update + +To force a full update set the value of `libraryVersion` to 0 in meta.json. + +This will result in a complete update. + +### Response (local API) +```json +{ "status": "ok", "updated": , "libraryVersion": } +``` +- `status`: `"ok"` or `"error"` +- `updated`: number of items locally stored across all pages +- `libraryVersion`: Zotero’s `Last-Modified-Version` captured and saved to `meta.json` + +If libraryVersion has been > 0 it's being sent as last-modified-since +header and the endpoint might return something like this: +``` +{ + "totalResults": 0, + "updated": 0, + "libraryVersion": 9548, + "status": "ok" +} +``` +This is an early-out in case the libraryVersion has not changed +since last update. Finer-grained caching (single item) is currently not supported. + +### Pagination +- Follows the `Link` response header (`rel="next"`) until exhausted. + +### Error handling +When Zotero replies with a non‑200 status: +```json +{ "status":"error", "httpStatus": , "backoff":"...", "retryAfter":"..." } +``` +If Zotero returns `304 Not Modified`, the local API responds with: +```json +{ "status":"ok", "updated": 0, "libraryVersion": } +``` + +--- + +## Router wiring (Roaster) + +Example OpenAPI snippet (YAML): +```yaml +paths: + /api/z/sync: + post: + summary: Sync local cache with Zotero group + x-roaster-xquery: + module: /db/apps/edep/modules/lib/zotero.xql + function: zotero:sync # supports sync#2 and sync#1 (wrapper) + responses: + '200': + description: Sync result +``` + +Handler arities to be export-safe: +```xquery +(: wrapper for routers expecting sync#1 :) +declare function zotero:sync($config as map(*)) as xs:string { + zotero:sync($config, ) +}; + +(: main handler :) +declare function zotero:sync($config as map(*), $root as element()) as xs:string { + (: run sync and return JSON string :) +}; +``` + +--- + +## Troubleshooting + +- **make sure edep-data.xar has been installed before edep.xar** + post-install of edep.xar creates the needed collections in edep-data + +- **First run fails reading meta** + Ensure post‑install created `meta.json`. If absent, running post‑install again will seed it. + +- **No items written** + Confirm that `$config:zotero-items-dir` exists and is writable. The sync does not create it. + +- **Public group sync** + Leave `$config:zotero-api-key` empty. The Authorization header will be omitted. + +--- + +## Trigger sync (curl) +```bash +curl -X POST 'http://localhost:8080/api/z/sync' +``` + +You should see JSON like: +```json +{ "status":"ok", "updated": 123, "libraryVersion": 4567 } +``` + diff --git a/doc/zotero.png b/doc/zotero.png new file mode 100644 index 00000000..be38819f Binary files /dev/null and b/doc/zotero.png differ diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..cb33cdb5 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,40 @@ +import { defineConfig } from 'eslint/config'; +import globals from 'globals'; +import js from '@eslint/js'; +import html from '@html-eslint/eslint-plugin'; +import eslintConfigPrettier from 'eslint-config-prettier'; +import pluginCypress from 'eslint-plugin-cypress/flat'; + +export default defineConfig([ + { ignores: ['node_modules', 'build'] }, + { files: ['**/*.{js,mjs,cjs}'] }, + { files: ['**/*.{js,mjs,cjs}'], languageOptions: { globals: globals.browser } }, + { files: ['**/*.{js,mjs,cjs}'], plugins: { js } }, + { files: ['cypress/**/*.js'], plugins: { cypress: pluginCypress } }, + { + files: ['**/*.html'], + ...html.configs['flat/recommended'], + + rules: { + ...html.configs['flat/recommended'].rules, // Must be defined. If not, all recommended rules will be lost + '@html-eslint/require-closing-tags': ['error', { selfClosing: 'always' }], + '@html-eslint/require-lang': 'off', + '@html-eslint/require-img-alt': 'off', + + // Titles are commonly filled from data-template + '@html-eslint/require-title': 'off', + + // doctype is lowercased by prettier. Which is incompatible with exist reading html as xml + '@html-eslint/require-doctype': 'off', + + // Disable stylistic rules. We have prettier for that + '@html-eslint/indent': 'off', + '@html-eslint/element-newline': 'off', + '@html-eslint/no-trailing-spaces': 'off', + '@html-eslint/attrs-newline': 'off', + '@html-eslint/use-baseline': 'off', + '@html-eslint/no-extra-spacing-attrs': 'off', + }, + }, + eslintConfigPrettier, +]); diff --git a/gulpfile.js b/gulpfile.js index f5c39438..31b76700 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -1,215 +1,187 @@ /** * an example gulpfile to make ant-less existdb package builds a reality */ -const { src, dest, watch, series, parallel, lastRun } = require('gulp') -const { createClient } = require('@existdb/gulp-exist') -const zip = require("gulp-zip") -const replace = require('@existdb/gulp-replace-tmpl') -const rename = require('gulp-rename') -const del = require('delete') +const { src, dest, watch, series, parallel, lastRun } = require('gulp'); +const { createClient } = require('@existdb/gulp-exist'); +const zip = require('gulp-zip'); +const replace = require('@existdb/gulp-replace-tmpl'); +const rename = require('gulp-rename'); +const del = require('delete'); -const pkg = require('./package.json') -const { version, license } = pkg +const pkg = require('./package.json'); +const { version, license } = pkg; // read metadata from .existdb.json -const {package, servers} = require('./.existdb.json') -const replacements = [package, { version, license }] +const { package: existPackage, servers } = require('./.existdb.json'); +const replacements = [existPackage, { version, license }]; -const packageUri = package.namespace -const serverInfo = servers.localhost -const target = serverInfo.root +const packageUri = existPackage.namespace; +const serverInfo = servers.localhost; +const target = serverInfo.root; const connectionOptions = { basic_auth: { user: serverInfo.user, - pass: serverInfo.password - } -} + pass: serverInfo.password, + }, +}; const existClient = createClient(connectionOptions); /** * Use the `delete` module directly, instead of using gulp-rimraf */ -function clean (cb) { - del(['build','dist'], cb); +function clean(cb) { + del(['build', 'dist'], cb); } -exports.clean = clean +exports.clean = clean; /** * replace placeholders * in src/repo.xml.tmpl and * output to build/repo.xml */ -function templates () { +function templates() { return src('src/*.tmpl') - .pipe(replace(replacements, {unprefixed: true})) - .pipe(rename(path => { path.extname = "" })) - .pipe(dest('build/')) + .pipe(replace(replacements, { unprefixed: true })) + .pipe( + rename(path => { + path.extname = ''; + }), + ) + .pipe(dest('build/')); } -exports.templates = templates +exports.templates = templates; -function watchTemplates () { - watch('src/*.tmpl', series(templates)) +function watchTemplates() { + watch('src/*.tmpl', series(templates)); } -exports["watch:tmpl"] = watchTemplates +exports['watch:tmpl'] = watchTemplates; // epidoc editor -function epidocEditor () { - return src("node_modules/@jinntec/jinn-codemirror/dist/*") - .pipe(dest("build/resources/scripts")) +function epidocEditor() { + return src('node_modules/@jinntec/jinn-codemirror/dist/*').pipe(dest('build/resources/scripts')); } function editorStyles() { - return src("node_modules/@jinntec/jinn-codemirror/css/*") - .pipe(dest("build/resources/css")) -} - -// datalist-ajax -function datalistAjax () { - return src("node_modules/datalist-ajax/dist/datalist-ajax.min.js") - .pipe(dest("build/resources/scripts/datalist-ajax/datalist-ajax.min.js")) + return src('node_modules/@jinntec/jinn-codemirror/css/*').pipe(dest('build/resources/css')); } // components styles -function pbStyles () { - return src("node_modules/@teipublisher/pb-components/css") - .pipe(dest("build/resources/css")) +function pbStyles() { + return src('node_modules/@teipublisher/pb-components/css').pipe(dest('build/resources/css')); } // components lib -function pbLib () { - return src("node_modules/@teipublisher/pb-components/lib") - .pipe(dest("build/resources/lib")) +function pbLib() { + return src('node_modules/@teipublisher/pb-components/lib').pipe(dest('build/resources/lib')); } // components images -function pbImages () { - return src("node_modules/@teipublisher/pb-components/images") - .pipe(dest("build/resources/images")) +function pbImages() { + return src('node_modules/@teipublisher/pb-components/images').pipe(dest('build/resources/images')); } // pb-components -function pbComponents () { - return src("node_modules/@teipublisher/pb-components/i18n/common") - .pipe(dest("build/resources/i18n/common")) +function pbComponents() { + return src('node_modules/@teipublisher/pb-components/i18n/common').pipe(dest('build/resources/i18n/common')); } function fore() { - return src("node_modules/@jinntec/fore/dist/*") - .pipe(dest("build/resources/scripts/")) + return src('node_modules/@jinntec/fore/dist/*').pipe(dest('build/resources/scripts/')); } -const copyModules = parallel( - epidocEditor, editorStyles, datalistAjax, - pbStyles, pbImages, pbComponents, - pbLib, fore -) -exports["copy:modules"] = copyModules +const copyModules = parallel(epidocEditor, editorStyles, pbStyles, pbImages, pbComponents, pbLib, fore); +exports['copy:modules'] = copyModules; /** * copy styles */ -function styles () { - return src('src/resources/css/*.css') - .pipe(dest('build/resources/css')); +function styles() { + return src('src/resources/css/*.css').pipe(dest('build/resources/css')); } -exports.styles = styles +exports.styles = styles; -function watchStyles () { - watch('src/resources/css/*.css', series(styles)) +function watchStyles() { + watch('src/resources/css/*.css', series(styles)); } -exports["watch:styles"] = watchStyles +exports['watch:styles'] = watchStyles; /** * minify EcmaSript files and put them into 'build/app/js' */ -function minifyEs () { - return src('src/resources/scripts/**/*.js') - // .pipe(uglify()) - .pipe(dest('build/resources/scripts')) +function minifyEs() { + return ( + src('src/resources/scripts/**/*.js') + // .pipe(uglify()) + .pipe(dest('build/resources/scripts')) + ); } -exports.minify = minifyEs +exports.minify = minifyEs; -function watchEs () { - watch('src/resources/scripts/**/*.js', series(minifyEs)) +function watchEs() { + watch('src/resources/scripts/**/*.js', series(minifyEs)); } -exports["watch:es"] = watchEs +exports['watch:es'] = watchEs; -const static = 'src/**/*.{xml,html,xq,xquery,xql,xqm,xsl,xconf,json,css,svg,js,map,png,jpg,ico,woff,woff2,eot,ttf,odd}' +const staticGlob = + 'src/**/*.{xml,html,xq,xquery,xql,xqm,xsl,xconf,json,css,svg,js,map,png,jpg,ico,woff,woff2,eot,ttf,odd}'; /** * copy html templates, XSL stylesheet, XMLs and XQueries to 'build' */ -function copyStatic () { - return src(static).pipe(dest('build')) +function copyStatic() { + return src(staticGlob).pipe(dest('build')); } -exports.copy = copyStatic +exports.copy = copyStatic; -function watchStatic () { - watch(static, series(copyStatic)); +function watchStatic() { + watch(staticGlob, series(copyStatic)); } -exports["watch:static"] = watchStatic +exports['watch:static'] = watchStatic; /** * Upload all files in the build folder to existdb. * This function will only upload what was changed * since the last run (see gulp documentation for lastRun). */ -function deploy () { +function deploy() { return src('build/**/*', { base: 'build', - since: lastRun(deploy) - }) - .pipe(existClient.dest({ target })) + since: lastRun(deploy), + }).pipe(existClient.dest({ target })); } -function watchBuild () { - watch('build/**/*', series(deploy)) +function watchBuild() { + watch('build/**/*', series(deploy)); } // construct the current xar name from available data -const packageName = () => `${package.target}-${pkg.version}.xar` +const packageName = () => `${existPackage.target}-${pkg.version}.xar`; /** * create XAR package in repo root */ -function createXar () { - return src('build/**/*', {base: 'build'}) - .pipe(zip(packageName())) - .pipe(dest('./dist')) +function createXar() { + return src('build/**/*', { base: 'build' }).pipe(zip(packageName())).pipe(dest('./dist')); } /** * upload and install the latest built XAR */ -function installXar () { - return src('dist/' + packageName()) - .pipe(existClient.install({ packageUri })) +function installXar() { + return src('dist/' + packageName()).pipe(existClient.install({ packageUri })); } // composed tasks -const build = series( - clean, - styles, - minifyEs, - templates, - copyStatic, - copyModules -) -const watchAll = parallel( - watchStyles, - watchEs, - watchStatic, - watchTemplates, - watchBuild -) - -exports.build = build -exports.watch = watchAll - -exports.deploy = series(build, deploy) -exports.xar = series(build, createXar) -exports.install = series(build, createXar, installXar) +const build = series(clean, styles, minifyEs, templates, copyStatic, copyModules); +const watchAll = parallel(watchStyles, watchEs, watchStatic, watchTemplates, watchBuild); + +exports.build = build; +exports.watch = watchAll; + +exports.deploy = series(build, deploy); +exports.xar = series(build, createXar); +exports.install = series(build, createXar, installXar); // main task for day to day development -exports.default = series(build, deploy, watchAll) +exports.default = series(build, deploy, watchAll); diff --git a/package-lock.json b/package-lock.json index 998d17b4..a1bb38ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,8985 +1,3455 @@ { "name": "edep", - "version": "1.9.1", + "version": "2.0.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "edep", - "version": "1.9.1", + "version": "2.0.0", + "hasInstallScript": true, "dependencies": { - "@jinntec/fore": "^2.4.1", - "@jinntec/jinn-codemirror": "1.17.6", - "@teipublisher/pb-components": "2.12.10", - "datalist-ajax": "1.0.2" + "@jinntec/fore": "^2.7.1", + "@jinntec/jinn-codemirror": "1.18.2", + "@teipublisher/pb-components": "2.12.10" }, "devDependencies": { + "@eslint/js": "^9.36.0", "@existdb/gulp-exist": "^4.3.1", "@existdb/gulp-replace-tmpl": "^1.0.4", - "@open-wc/eslint-config": "^4.3.0", - "@open-wc/testing": "next", + "@html-eslint/eslint-plugin": "^0.47.0", "@semantic-release/exec": "^5.0.0", "@semantic-release/git": "^9.0.0", "@semantic-release/github": "^7.2.0", - "@web/dev-server": "^0.1.29", - "@web/test-runner": "^0.13.16", - "axios": "^0.21.1", - "chai": "^4.2.0", - "chai-openapi-response-validator": "^0.9.4", + "cypress": "^15.3.0", "delete": "^1.1.0", - "es-dev-server": "^2.1.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "form-data": "^3.0.0", + "eslint": "^9.36.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-cypress": "^5.1.1", + "eslint-plugin-prettier": "^5.5.4", + "globals": "^16.4.0", "gulp": "^4.0.2", "gulp-rename": "^2.0.0", "gulp-zip": "^5.1.0", "husky": "^4.3.8", - "jsdom": "^16.4.0", "lint-staged": "^10.5.4", - "mocha": "^8.1.3", - "prettier": "^2.3.2", - "semantic-release": "^17.3.2", - "tmp": "^0.2.1" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" + "prettier": "^3.6.2", + "semantic-release": "^17.3.2" } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/compat-data": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", - "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", + "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/core": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.10.tgz", - "integrity": "sha512-liKoppandF3ZcBnIYFjfSDHZLKdLHGJRkoWtG8zQyGJBQfIYobpnVGI5+pLBNtS6psFLDzyq8+h5HiVljW9PNA==", - "dev": true, + "node_modules/@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", + "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.", + "license": "MIT", "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helpers": "^7.17.9", - "@babel/parser": "^7.17.10", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.10", - "@babel/types": "^7.17.10", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", "engines": { "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" } }, - "node_modules/@babel/core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "node_modules/@codemirror/autocomplete": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.20.0.tgz", + "integrity": "sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0" } }, - "node_modules/@babel/core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@codemirror/commands": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.10.0.tgz", + "integrity": "sha512-2xUIc5mHXQzT16JnyOFkh8PvfeXuIut3pslWGfsGOhxP/lpgRm9HOl/mpzLErgt5mXDovqA0d11P21gofRLb9w==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.4.0", + "@codemirror/view": "^6.27.0", + "@lezer/common": "^1.1.0" } }, - "node_modules/@babel/eslint-parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz", - "integrity": "sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA==", - "dev": true, - "peer": true, + "node_modules/@codemirror/lang-css": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.3.1.tgz", + "integrity": "sha512-kr5fwBGiGtmz6l0LSJIbno9QrifNMUusivHbnA1H6Dmqy4HZFte3UAICix1VuKo0lMPKQr2rqB+0BkKi/S3Ejg==", + "license": "MIT", "dependencies": { - "eslint-scope": "^5.1.1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.11.0", - "eslint": "^7.5.0 || ^8.0.0" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@lezer/common": "^1.0.2", + "@lezer/css": "^1.1.7" } }, - "node_modules/@babel/eslint-parser/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "peer": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@codemirror/lang-html": { + "version": "6.4.11", + "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.11.tgz", + "integrity": "sha512-9NsXp7Nwp891pQchI7gPdTwBuSuT3K65NGTHWHNJ55HjYcHLllr0rbIZNdOzas9ztc1EUVBlHou85FFZS4BNnw==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/lang-css": "^6.0.0", + "@codemirror/lang-javascript": "^6.0.0", + "@codemirror/language": "^6.4.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0", + "@lezer/css": "^1.1.0", + "@lezer/html": "^1.3.12" } }, - "node_modules/@babel/eslint-plugin": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/eslint-plugin/-/eslint-plugin-7.17.7.tgz", - "integrity": "sha512-JATUoJJXSgwI0T8juxWYtK1JSgoLpIGUsCHIv+NMXcUDA2vIe6nvAHR9vnuJgs/P1hOFw7vPwibixzfqBBLIVw==", - "dev": true, - "peer": true, + "node_modules/@codemirror/lang-javascript": { + "version": "6.2.4", + "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.4.tgz", + "integrity": "sha512-0WVmhp1QOqZ4Rt6GlVGwKJN3KW7Xh4H2q8ZZNGZaP6lRdxXJzmjm4FqvmOojVj6khWJHIb9sp7U/72W7xQgqAA==", + "license": "MIT", "dependencies": { - "eslint-rule-composer": "^0.3.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || >=14.0.0" - }, - "peerDependencies": { - "@babel/eslint-parser": ">=7.11.0", - "eslint": ">=7.5.0" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.17.0", + "@lezer/common": "^1.0.0", + "@lezer/javascript": "^1.0.0" } }, - "node_modules/@babel/generator": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.10.tgz", - "integrity": "sha512-46MJZZo9y3o4kmhBVc7zW7i8dtR1oIK/sdO5NcfcZRhTGYi+KKJRtHNgsU6c4VUcJmUNV/LQdebD/9Dlv4K+Tg==", - "dev": true, + "node_modules/@codemirror/lang-json": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-6.0.2.tgz", + "integrity": "sha512-x2OtO+AvwEHrEwR0FyyPtfDUiloG3rnVTSZV1W8UteaLL8/MajQd8DpvUb2YVzC+/T18aSDv0H9mu+xw0EStoQ==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.17.10", - "@jridgewell/gen-mapping": "^0.1.0", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" + "@codemirror/language": "^6.0.0", + "@lezer/json": "^1.0.0" } }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", - "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", - "dev": true, + "node_modules/@codemirror/lang-markdown": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.5.0.tgz", + "integrity": "sha512-0K40bZ35jpHya6FriukbgaleaqzBLZfOh7HuzqbMxBXkbYMJDxfF39c23xOgxFezR+3G+tR2/Mup+Xk865OMvw==", + "license": "MIT", "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "@codemirror/autocomplete": "^6.7.1", + "@codemirror/lang-html": "^6.0.0", + "@codemirror/language": "^6.3.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.2.1", + "@lezer/markdown": "^1.0.0" } }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", - "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", - "dev": true, + "node_modules/@codemirror/lang-xml": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@codemirror/lang-xml/-/lang-xml-6.1.0.tgz", + "integrity": "sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==", + "license": "MIT", "dependencies": { - "@babel/helper-explode-assignable-expression": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.4.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/xml": "^1.0.0" } }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.17.10.tgz", - "integrity": "sha512-gh3RxjWbauw/dFiU/7whjd0qN9K6nPJMqe6+Er7rOavFh0CQUSwhAE3IcTho2rywPJFxej6TUUHDkWcYI6gGqQ==", - "dev": true, + "node_modules/@codemirror/language": { + "version": "6.11.3", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.11.3.tgz", + "integrity": "sha512-9HBM2XnwDj7fnu0551HkGdrUrrqmYq/WC5iv6nbY2WdicXdGbhR/gfbZOH73Aqj4351alY1+aoG9rCNfiwS1RA==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.23.0", + "@lezer/common": "^1.1.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" } }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@codemirror/legacy-modes": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@codemirror/legacy-modes/-/legacy-modes-6.5.2.tgz", + "integrity": "sha512-/jJbwSTazlQEDOQw2FJ8LEEKVS72pU0lx6oM54kGpL8t/NJ2Jda3CZ4pcltiKTdqYSRk3ug1B3pil1gsjA6+8Q==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0" } }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.9.tgz", - "integrity": "sha512-kUjip3gruz6AJKOq5i3nC6CoCEEF/oHH3cp6tOZhB+IyyyPyW0g1Gfsxn3mkk6S08pIA2y8GQh609v9G/5sHVQ==", - "dev": true, + "node_modules/@codemirror/lint": { + "version": "6.9.2", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.9.2.tgz", + "integrity": "sha512-sv3DylBiIyi+xKwRCJAAsBZZZWo82shJ/RTMymLabAdtbkV5cSKwWDeCgtUq3v8flTaXS2y1kKkICuRYtUswyQ==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-member-expression-to-functions": "^7.17.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.35.0", + "crelt": "^1.0.5" } }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz", - "integrity": "sha512-awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==", - "dev": true, + "node_modules/@codemirror/search": { + "version": "6.5.11", + "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.5.11.tgz", + "integrity": "sha512-KmWepDE6jUdL6n8cAAqIpRmLPBZ5ZKnicE8oGU/s3QrAVID+0VhLFrzUucVKHG5035/BSykhExDL/Xm7dHthiA==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "regexpu-core": "^5.0.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" } }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", - "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", - "dev": true, + "node_modules/@codemirror/state": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.5.2.tgz", + "integrity": "sha512-FVqsPqtPWKVVL3dPSxy8wEF/ymIEuVzF1PK3VbUgrxXpJUSHQWWZz4JMToquRxnkw+36LTamCZG2iua2Ptq0fA==", + "license": "MIT", "dependencies": { - "@babel/helper-compilation-targets": "^7.13.0", - "@babel/helper-module-imports": "^7.12.13", - "@babel/helper-plugin-utils": "^7.13.0", - "@babel/traverse": "^7.13.0", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2", - "semver": "^6.1.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0-0" + "@marijn/find-cluster-break": "^1.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "node_modules/@codemirror/theme-one-dark": { + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.3.tgz", + "integrity": "sha512-NzBdIvEJmx6fjeremiGp3t/okrLPYT0d9orIc7AFun8oZcRk58aejkqhv6spnz4MLAevrKNPMQYXEWMg4s+sKA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/highlight": "^1.0.0" } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/@codemirror/view": { + "version": "6.38.8", + "resolved": "git+ssh://git@github.com/drrataplan/codemirror-view.git#62b8f9d910e11509ee51a1d434f58960a4b35815", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.5.0", + "crelt": "^1.0.6", + "style-mod": "^4.1.0", + "w3c-keyname": "^2.2.4" + } }, - "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@cwmr/paper-autocomplete": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@cwmr/paper-autocomplete/-/paper-autocomplete-4.0.0.tgz", + "integrity": "sha512-ZBTglN2qGFS/d5Cd76R0k1SadXgWXDsoOgFRoYyLwvb98rZFPlS8dnsLIpWjFWBinz4nEqZ2pE/HOLTvE2heNA==", + "license": "MIT", + "dependencies": { + "@polymer/iron-flex-layout": "^3.0.0", + "@polymer/iron-icon": "^3.0.0", + "@polymer/iron-icons": "^3.0.0", + "@polymer/iron-iconset": "^3.0.0", + "@polymer/iron-iconset-svg": "^3.0.0", + "@polymer/paper-icon-button": "^3.0.0", + "@polymer/paper-input": "^3.0.0", + "@polymer/paper-item": "^3.0.0", + "@polymer/paper-material": "^3.0.0", + "@polymer/paper-ripple": "^3.0.0", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "node_modules/@cypress/request": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.9.tgz", + "integrity": "sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.16.7" + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~4.0.4", + "http-signature": "~1.4.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.14.0", + "safe-buffer": "^5.1.2", + "tough-cookie": "^5.0.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" }, "engines": { - "node": ">=6.9.0" + "node": ">= 6" } }, - "node_modules/@babel/helper-explode-assignable-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", - "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "debug": "^3.1.0", + "lodash.once": "^4.1.1" } }, - "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" + "ms": "^2.1.1" } }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.16.7" + "eslint-visitor-keys": "^3.4.3" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", - "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.17.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" + "funding": { + "url": "https://opencollective.com/eslint" }, - "engines": { - "node": ">=6.9.0" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.17.7.tgz", - "integrity": "sha512-VmZD99F3gNTYB7fJRDTi+u6l/zxY0BE6OIxPSU7a50s6ZUQkHwSDmV92FfM+oCG0pZRVojGYhkR8I0OGeCVREw==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.3", - "@babel/types": "^7.17.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", - "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "engines": { - "node": ">=6.9.0" + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", + "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==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", - "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-wrap-function": "^7.16.8", - "@babel/types": "^7.16.8" + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.16.7.tgz", - "integrity": "sha512-y9vsWilTNaVnVh6xiJfABzsNpgDPKev9HnAgz6Gb1p6UUwf9NepdlsV7VXGCftJM+jqD5f7JIEubcpLjZj5dBw==", + "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-member-expression-to-functions": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" + "@eslint/core": "^0.17.0" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/helper-simple-access": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.17.7.tgz", - "integrity": "sha512-txyMCGroZ96i+Pxr3Je3lzEJjqwaRC9buMUgtomcrLe5Nd0+fk1h0LLA+ixUF5OW7AhHuQ7Es1WcQJZmZsz2XA==", + "node_modules/@eslint/config-helpers/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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.17.0" + "@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-skip-transparent-expression-wrappers": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", - "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "node_modules/@eslint/core": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz", + "integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/types": "^7.16.0" + "@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-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.16.7" + "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" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "node_modules/@eslint/js": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", + "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", "dev": true, + "license": "MIT", "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-wrap-function": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", - "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.8", - "@babel/types": "^7.16.8" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/helpers": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.9.tgz", - "integrity": "sha512-cPCt915ShDWUEzEp3+UNRktO2n6v49l5RSnG9M5pS24hA+2FAc5si+Pn1i4VVbQQ+jh+bIZhPFQOJOzbrOYY1Q==", + "node_modules/@eslint/plugin-kit": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz", + "integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.9", - "@babel/types": "^7.17.0" + "@eslint/core": "^0.15.2", + "levn": "^0.4.1" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@babel/highlight": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.9.tgz", - "integrity": "sha512-J9PfEKCbFIv2X5bjTMiZu6Vf341N05QIY+d6FvVKynkG1S7G0j3I0QoRtWIrXhZ+/Nlb5Q0MzqL7TokEJ5BNHg==", + "node_modules/@existdb/gulp-exist": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@existdb/gulp-exist/-/gulp-exist-4.4.0.tgz", + "integrity": "sha512-lXhWpDgWOM2exUAS+QQTX+xmtmAZeZf5pBIF2K+5UtEc525mbCp04DtNcp2LC4GbLbmsyyE7gc1b14uqTqtPXQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@existdb/node-exist": "^5.4.0", + "chokidar": "^3.5.3", + "fancy-log": "^2.0.0", + "glob-stream": "^7.0.0", + "gulp": "^4.0.2", + "lodash.assign": "^4.2.0", + "plugin-error": "^2.0.1", + "through2": "^4.0.2", + "vinyl": "^3.0.0" } }, - "node_modules/@babel/parser": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.10.tgz", - "integrity": "sha512-n2Q6i+fnJqzOaq2VkdXxy2TCPCWQZHiCo0XqmrCvDWcZQKRyZzYi4Z0yxlBuN0w+r2ZHmre+Q087DSrw3pbJDQ==", + "node_modules/@existdb/gulp-replace-tmpl": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@existdb/gulp-replace-tmpl/-/gulp-replace-tmpl-1.0.4.tgz", + "integrity": "sha512-Qngu2cgLCNS1OJ2W3PHwEriOXuKS8lB0VJoV/XVwJdVkGz5tJEvXlgdWGM8aEHOlSdOTEamhtQR9jNyzGUYDhA==", "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" + "license": "MIT", + "dependencies": { + "gulp-replace": "^1.0.0" } }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7.tgz", - "integrity": "sha512-anv/DObl7waiGEnC24O9zqL0pSuI9hljihqiDuFHC8d7/bjr/4RLGPWuc8rYOff/QPzbEPSkzG8wGG9aDuhHRg==", + "node_modules/@existdb/node-exist": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@existdb/node-exist/-/node-exist-5.5.2.tgz", + "integrity": "sha512-XFRL9poslXSXhBFW68guXIwCDsta+5WxHMePHSFgkgrwwProg97RMm78rSXFPxEK66RVKTUgj7Eu9ePH0aijbA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "got": "^12.1.0", + "lodash.assign": "^4.0.2", + "mime": "^3.0.0", + "xmlrpc": "^1.3.1" } }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7.tgz", - "integrity": "sha512-di8vUHRdf+4aJ7ltXhaDbPoszdkh59AQtJM5soLsuHpQJdFQZOA4uGj0V2u/CZ8bJ/u8ULDL5yq6FO/bCXnKHw==", + "node_modules/@html-eslint/eslint-plugin": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/@html-eslint/eslint-plugin/-/eslint-plugin-0.47.1.tgz", + "integrity": "sha512-q5kkM2SxI2GGhHeWaMTw3XwaZdeU7D3s8FWPVfqnsgdQwHemCjoPTx35svmVfz4bJRd2fVoHAMQcEJmAbcFJlw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.7" + "@eslint/plugin-kit": "^0.3.1", + "@html-eslint/parser": "^0.47.1", + "@html-eslint/template-parser": "^0.47.1", + "@html-eslint/template-syntax-parser": "^0.47.1", + "@html-eslint/types": "^0.47.1" }, "engines": { - "node": ">=6.9.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "peerDependencies": { - "@babel/core": "^7.13.0" + "eslint": "^8.0.0 || ^9.0.0" } }, - "node_modules/@babel/plugin-proposal-async-generator-functions": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.8.tgz", - "integrity": "sha512-71YHIvMuiuqWJQkebWJtdhQTfd4Q4mF76q2IX37uZPkG9+olBxsX+rH1vkhFto4UeJZ9dPY2s+mDvhDm1u2BGQ==", + "node_modules/@html-eslint/parser": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/@html-eslint/parser/-/parser-0.47.1.tgz", + "integrity": "sha512-fs/Wb1j0YtzOvavAuOh9BR6haNwTVGrizEVzALLfnmp82b47NnZwWUPd7cDPS04inRW01VcMjUsUJJa9jz9mOQ==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@html-eslint/template-syntax-parser": "^0.47.1", + "@html-eslint/types": "^0.47.1", + "es-html-parser": "0.3.1" } }, - "node_modules/@babel/plugin-proposal-class-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.7.tgz", - "integrity": "sha512-IobU0Xme31ewjYOShSIqd/ZGM/r/cuOz2z0MDbNrhF5FW+ZVgi0f2lyeoj9KFPDOAqsYxmLWZte1WOwlvY9aww==", + "node_modules/@html-eslint/template-parser": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/@html-eslint/template-parser/-/template-parser-0.47.1.tgz", + "integrity": "sha512-kMqBF58ls/pkBn4R/1ATybCr0BR3lD1Sg5YYJMYAJegMITGM4Zmo0O9jMAO/IyyU6ol2766IqhJuX2A5KfOpeg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@html-eslint/types": "^0.47.1", + "es-html-parser": "0.3.1" } }, - "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.17.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.17.6.tgz", - "integrity": "sha512-X/tididvL2zbs7jZCeeRJ8167U/+Ac135AM6jCAx6gYXDUviZV5Ku9UDvWS2NCuWlFjIRXklYhwo6HhAC7ETnA==", + "node_modules/@html-eslint/template-syntax-parser": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/@html-eslint/template-syntax-parser/-/template-syntax-parser-0.47.1.tgz", + "integrity": "sha512-XQvJv1Z0L8427qGAEC5EqZz/PsWo2g+YN7ipFJlF7LWOd52ubp4j1itUpn8moSJhtcBODaNqdeouL8NEwz/3vw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.17.6", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" + "@html-eslint/types": "^0.47.1" } }, - "node_modules/@babel/plugin-proposal-dynamic-import": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", - "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "node_modules/@html-eslint/types": { + "version": "0.47.1", + "resolved": "https://registry.npmjs.org/@html-eslint/types/-/types-0.47.1.tgz", + "integrity": "sha512-4k2G+OcAU/S9sAjvghCgoI4cd+J45Xjzn9zP/TfuydTTR3LtGn7P8AT/cfAmrU73lMBjuJuRsHaR4m0+Xrb60A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@types/estree": "^1.0.6", + "es-html-parser": "0.3.1", + "eslint": "^9.19.0" } }, - "node_modules/@babel/plugin-proposal-export-namespace-from": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.7.tgz", - "integrity": "sha512-ZxdtqDXLRGBL64ocZcs7ovt71L3jhC1RGSyR996svrCi3PYqHNkb3SwPJCs8RIzD86s+WPpt2S73+EHCGO+NUA==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18.18.0" } }, - "node_modules/@babel/plugin-proposal-json-strings": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.7.tgz", - "integrity": "sha512-lNZ3EEggsGY78JavgbHsK9u5P3pQaW7k4axlgFLYkMd7UBsiNahCITShLjNQschPyjtO6dADrL24757IdhBrsQ==", + "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-json-strings": "^7.8.3" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">=18.18.0" } }, - "node_modules/@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.7.tgz", - "integrity": "sha512-K3XzyZJGQCr00+EtYtrDjmwX7o7PLK6U9bi1nCwkQioRFVUv6dJoxbQjtWVtP+bCPy82bONBKG8NPyQ4+i6yjg==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" + "node": ">=12.22" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.7.tgz", - "integrity": "sha512-aUOrYU3EVtjf62jQrCj63pYZ7k6vns2h/DQvHPWGmsJRYzWXZ6/AsfgpiRy6XiuIDADhJzP2Q9MwSMKauBQ+UQ==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, + "license": "Apache-2.0", "engines": { - "node": ">=6.9.0" + "node": ">=18.18" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@babel/plugin-proposal-numeric-separator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", - "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", - "dev": true, + "node_modules/@jinntec/fore": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@jinntec/fore/-/fore-2.7.1.tgz", + "integrity": "sha512-3F/bRqgLgbGt0IyFXtTkyHWp7RWDwFggH8sc4Vw/i2dpNfgVQEqiaNH7fY1L7UqKaTL6iuh6TioEqjOw+tNoTw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "@jinntec/jinn-toast": "^1.0.5", + "@picocss/pico": "^2.0.6", + "chai": "^5.2.1", + "fontoxpath": "^3.33.0" }, "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node": ">= 16.19.1" } }, - "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.17.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz", - "integrity": "sha512-yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==", - "dev": true, + "node_modules/@jinntec/jinn-codemirror": { + "version": "1.18.2", + "resolved": "https://registry.npmjs.org/@jinntec/jinn-codemirror/-/jinn-codemirror-1.18.2.tgz", + "integrity": "sha512-DxO9Psqg/cIQ/bOPySFeTw/N+ITMZc8e8HvS5oREvfIAK9glndwXq/MuL+4J4d12vfdty1VD2OL0TPAv5OeXKg==", + "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@babel/runtime": "^7.24.1", + "@codemirror/autocomplete": "^6.18.0", + "@codemirror/lang-css": "^6.2.1", + "@codemirror/lang-html": "^6.4.9", + "@codemirror/lang-json": "^6.0.1", + "@codemirror/lang-markdown": "^6.2.5", + "@codemirror/lang-xml": "^6.1.0", + "@codemirror/language": "^6.10.2", + "@codemirror/legacy-modes": "^6.4.1", + "@codemirror/theme-one-dark": "^6.1.2", + "@uiw/codemirror-theme-material": "^4.23.0", + "@uiw/codemirror-theme-solarized": "^4.23.0", + "codemirror": "^6.0.1" } }, - "node_modules/@babel/plugin-proposal-optional-catch-binding": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", - "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", - "dev": true, + "node_modules/@jinntec/jinn-toast": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@jinntec/jinn-toast/-/jinn-toast-1.0.5.tgz", + "integrity": "sha512-FVZsDUXS7wzXyl6s1oj0UwCtZ/fBn+T/GPSXxZ9eYBKVhgWUrLqrLDO7zeWuS/0D3/BrTiuTNcnk0d+c4nCKyw==", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "lit-html": "^1.4.1", + "toastify-js": "^1.11.0" } }, - "node_modules/@babel/plugin-proposal-optional-chaining": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.7.tgz", - "integrity": "sha512-eC3xy+ZrUcBtP7x+sq62Q/HYd674pPTb/77XZMb5wbDPGWIdUbSr4Agr052+zaUPSb+gGRnjxXfKFvx5iMJ+DA==", - "dev": true, + "node_modules/@lezer/common": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.4.0.tgz", + "integrity": "sha512-DVeMRoGrgn/k45oQNu189BoW4SZwgZFzJ1+1TV5j2NJ/KFC83oa/enRqZSGshyeMk5cPWMhsKs9nx+8o0unwGg==", + "license": "MIT" + }, + "node_modules/@lezer/css": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.3.0.tgz", + "integrity": "sha512-pBL7hup88KbI7hXnZV3PQsn43DHy6TWyzuyk2AO9UyoXcDltvIdqWKE1dLL/45JVZ+YZkHe1WVHqO6wugZZWcw==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.3.0" } }, - "node_modules/@babel/plugin-proposal-private-methods": { - "version": "7.16.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.11.tgz", - "integrity": "sha512-F/2uAkPlXDr8+BHpZvo19w3hLFKge+k75XUprE6jaqKxjGkSYcK+4c+bup5PdW/7W/Rpjwql7FTVEDW+fRAQsw==", - "dev": true, + "node_modules/@lezer/highlight": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.2.3.tgz", + "integrity": "sha512-qXdH7UqTvGfdVBINrgKhDsVTJTxactNNxLk7+UMwZhU13lMHaOBlJe9Vqp907ya56Y3+ed2tlqzys7jDkTmW0g==", + "license": "MIT", "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.16.10", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.3.0" } }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.7.tgz", - "integrity": "sha512-rMQkjcOFbm+ufe3bTZLyOfsOUOxyvLXZJCTARhJr+8UMSoZmqTe1K1BgkFcrW37rAchWg57yI69ORxiWvUINuQ==", - "dev": true, + "node_modules/@lezer/html": { + "version": "1.3.12", + "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.12.tgz", + "integrity": "sha512-RJ7eRWdaJe3bsiiLLHjCFT1JMk8m1YP9kaUbvu2rMLEoOnke9mcTVDyfOslsln0LtujdWespjJ39w6zo+RsQYw==", + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-create-class-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" } }, - "node_modules/@babel/plugin-proposal-unicode-property-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.7.tgz", - "integrity": "sha512-QRK0YI/40VLhNVGIjRNAAQkEHws0cswSdFFjpFyt943YmJIU1da9uW63Iu6NFV6CxTZW5eTDCrwZUstBWgp/Rg==", - "dev": true, + "node_modules/@lezer/javascript": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.5.4.tgz", + "integrity": "sha512-vvYx3MhWqeZtGPwDStM2dwgljd5smolYD2lR2UyFcHfxbBQebqx8yjmFmxtJ/E6nN6u1D9srOiVWm3Rb4tmcUA==", + "license": "MIT", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.1.3", + "@lezer/lr": "^1.3.0" } }, - "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, + "node_modules/@lezer/json": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.3.tgz", + "integrity": "sha512-BP9KzdF9Y35PDpv04r0VeSTKDeox5vVr3efE7eBbx3r4s3oNLfunchejZhjArmeieBH+nVOpgIiBJpEAv8ilqQ==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.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, + "node_modules/@lezer/lr": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.4.4.tgz", + "integrity": "sha512-LHL17Mq0OcFXm1pGQssuGTQFPPdxARjKM8f7GA5+sGtHi0K3R84YaSbmche0+RKWHnCsx9asEe5OWOI4FHfe4A==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.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, + "node_modules/@lezer/markdown": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.6.1.tgz", + "integrity": "sha512-72ah+Sml7lD8Wn7lnz9vwYmZBo9aQT+I2gjK/0epI+gjdwUbWw3MJ/ZBGEqG1UfrIauRqH37/c5mVHXeCTGXtA==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0" } }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, + "node_modules/@lezer/xml": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.6.tgz", + "integrity": "sha512-CdDwirL0OEaStFue/66ZmFSeppuL6Dwjlk8qk153mSQwiSH/Dlri4GNymrNWnUmPl2Um7QfV1FO9KFUyX3Twww==", + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@lezer/common": "^1.2.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" } }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "node_modules/@lrnwebcomponents/es-global-bridge": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/@lrnwebcomponents/es-global-bridge/-/es-global-bridge-7.0.4.tgz", + "integrity": "sha512-31028XpXiRm0qQKu2EbAhPxFXhbybown4LSna4S+mb45oXTuZgtV4kEf9PPu9kYzzZBxyT60HOofUwUXk/RK8A==", + "license": "Apache-2.0" }, - "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==", + "node_modules/@marijn/find-cluster-break": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@marijn/find-cluster-break/-/find-cluster-break-1.0.2.tgz", + "integrity": "sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==", + "license": "MIT" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 8" } }, - "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==", + "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==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "engines": { + "node": ">= 8" } }, - "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==", + "node_modules/@octokit/auth-token": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", + "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/types": "^6.0.3" } }, - "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==", + "node_modules/@octokit/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", + "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/auth-token": "^2.4.4", + "@octokit/graphql": "^4.5.8", + "@octokit/request": "^5.6.3", + "@octokit/request-error": "^2.0.5", + "@octokit/types": "^6.0.3", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" } }, - "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==", + "node_modules/@octokit/endpoint": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", + "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/types": "^6.0.3", + "is-plain-object": "^5.0.0", + "universal-user-agent": "^6.0.0" } }, - "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==", + "node_modules/@octokit/graphql": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", + "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/request": "^5.6.0", + "@octokit/types": "^6.0.3", + "universal-user-agent": "^6.0.0" } }, - "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==", + "node_modules/@octokit/openapi-types": { + "version": "12.11.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz", + "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } + "license": "MIT" }, - "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==", + "node_modules/@octokit/plugin-paginate-rest": { + "version": "2.21.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz", + "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" + "@octokit/types": "^6.40.0" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/core": ">=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==", + "node_modules/@octokit/plugin-request-log": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", + "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, + "license": "MIT", "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/core": ">=3" } }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.7.tgz", - "integrity": "sha512-9ffkFFMbvzTvv+7dTp/66xvZAWASuPD5Tl9LK3Z9vhOmANo6j94rik+5YMBt4CwHVMWLWpMsriIc2zsa3WW3xQ==", + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "5.16.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz", + "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "@octokit/types": "^6.39.0", + "deprecation": "^2.3.1" }, "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/core": ">=3" } }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.8.tgz", - "integrity": "sha512-MtmUmTJQHCnyJVrScNzNlofQJ3dLFuobYn3mwOTKHnSCMtbNsqvF71GQmJfFjdrXSsAA7iysFmYWw4bXZ20hOg==", + "node_modules/@octokit/request": { + "version": "5.6.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", + "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-remap-async-to-generator": "^7.16.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/endpoint": "^6.0.1", + "@octokit/request-error": "^2.1.0", + "@octokit/types": "^6.16.1", + "is-plain-object": "^5.0.0", + "node-fetch": "^2.6.7", + "universal-user-agent": "^6.0.0" } }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", - "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "node_modules/@octokit/request-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", + "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/types": "^6.0.3", + "deprecation": "^2.0.0", + "once": "^1.4.0" } }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.7.tgz", - "integrity": "sha512-ObZev2nxVAYA4bhyusELdo9hb3H+A56bxH3FZMbEImZFiEDYVHXQSJ1hQKFlDnlt8G9bBrCZ5ZpURZUrV4G5qQ==", + "node_modules/@octokit/rest": { + "version": "18.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", + "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/core": "^3.5.1", + "@octokit/plugin-paginate-rest": "^2.16.8", + "@octokit/plugin-request-log": "^1.0.4", + "@octokit/plugin-rest-endpoint-methods": "^5.12.0" } }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.7.tgz", - "integrity": "sha512-WY7og38SFAGYRe64BrjKf8OrE6ulEHtr5jEYaZMwox9KebgqPi67Zqz8K53EKk1fFEJgm96r32rkKZ3qA2nCWQ==", + "node_modules/@octokit/types": { + "version": "6.41.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz", + "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-annotate-as-pure": "^7.16.7", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-optimise-call-expression": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@octokit/openapi-types": "^12.11.0" } }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.7.tgz", - "integrity": "sha512-gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==", - "dev": true, + "node_modules/@orchidjs/sifter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@orchidjs/sifter/-/sifter-1.1.0.tgz", + "integrity": "sha512-mYwHCfr736cIWWdhhSZvDbf90AKt2xyrJspKFC3qyIJG1LtrJeJunYEqCGG4Aq2ijENbc4WkOjszcvNaIAS/pQ==", + "license": "Apache-2.0", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@orchidjs/unicode-variants": "^1.1.2" } }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.17.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.7.tgz", - "integrity": "sha512-XVh0r5yq9sLR4vZ6eVZe8FKfIcSgaTBxVBRSYokRj2qksf6QerYnTxz9/GTuKTH/n/HwLP7t6gtlybHetJ/6hQ==", + "node_modules/@orchidjs/unicode-variants": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@orchidjs/unicode-variants/-/unicode-variants-1.1.2.tgz", + "integrity": "sha512-5DobW1CHgnBROOEpFlEXytED5OosEWESFvg/VYmH0143oXcijYTprRYJTs+55HzGM4IqxiLFSuqEzu9mPNwVsA==", + "license": "Apache-2.0" + }, + "node_modules/@picocss/pico": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-2.1.1.tgz", + "integrity": "sha512-kIDugA7Ps4U+2BHxiNHmvgPIQDWPDU4IeU6TNRdvXQM1uZX+FibqDQT2xUOnnO2yq/LUHcwnGlu1hvf4KfXnMg==", + "license": "MIT" + }, + "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, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, + "license": "MIT", "engines": { - "node": ">=6.9.0" + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "funding": { + "url": "https://opencollective.com/pkgr" } }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", - "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", - "dev": true, + "node_modules/@polymer/app-layout": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/app-layout/-/app-layout-3.1.0.tgz", + "integrity": "sha512-+jf5/TtUDj/la9Vi59ooGNjnTN8JTkyIUK8gxAms0N3MmyeqrmcNLlJKDVyE6IIGKz0WfFeGKqKtmtTLHrZIlg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-media-query": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-scroll-target-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.7.tgz", - "integrity": "sha512-03DvpbRfvWIXyK0/6QiR1KMTWeT6OcQ7tbhjrXyFS02kjuX/mu5Bvnh5SDSWHxyawit2g5aWhKwI86EE7GUnTw==", - "dev": true, + "node_modules/@polymer/font-roboto": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.2.tgz", + "integrity": "sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==", + "license": "BSD-3-Clause" + }, + "node_modules/@polymer/iron-a11y-announcer": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.2.0.tgz", + "integrity": "sha512-We+hyaFHcg7Ke8ovsoxUpYEXFIJLHxMCDaLehTB4dELS+C+K0zMnGSiqQvb/YzGS+nSYpAfkQIyg1msOCdHMtA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", - "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", - "dev": true, + "node_modules/@polymer/iron-a11y-keys-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz", + "integrity": "sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.7.tgz", - "integrity": "sha512-/QZm9W92Ptpw7sjI9Nx1mbcsWz33+l8kuMIQnDwgQBG5s3fAfQvkRjQ7NqXhtNcKOnPkdICmUHyCaWW06HCsqg==", - "dev": true, + "node_modules/@polymer/iron-ajax": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.1.tgz", + "integrity": "sha512-7+TPEAfWsRdhj1Y8UeF1759ktpVu+c3sG16rJiUC3wF9+woQ9xI1zUm2d59i7Yc3aDEJrR/Q8Y262KlOvyGVNg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", - "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", - "dev": true, + "node_modules/@polymer/iron-autogrow-textarea": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.3.tgz", + "integrity": "sha512-5r0VkWrIlm0JIp5E5wlnvkw7slK72lFRZXncmrsLZF+6n1dg2rI8jt7xpFzSmUWrqpcyXwyKaGaDvUjl3j4JLA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.7.tgz", - "integrity": "sha512-6tH8RTpTWI0s2sV6uq3e/C9wPo4PTqqZps4uF0kzQ9/xPLFQtipynvmT1g/dOfEJ+0EQsHhkQ/zyRId8J2b8zQ==", - "dev": true, + "node_modules/@polymer/iron-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz", + "integrity": "sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", - "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", - "dev": true, + "node_modules/@polymer/iron-checked-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz", + "integrity": "sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.7.tgz", - "integrity": "sha512-KaaEtgBL7FKYwjJ/teH63oAmE3lP34N3kshz8mm4VMAw7U3PxjVwwUmxEFksbgsNUaO3wId9R2AVQYSEGRa2+g==", - "dev": true, + "node_modules/@polymer/iron-collapse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-collapse/-/iron-collapse-3.0.1.tgz", + "integrity": "sha512-yg6q5ZyckQR9VL9VmLrSTkSFXWy9AcJC8KtnD5cg0EHRPbakE8I9S/gVAgeP4nMWV2a/BjLLC4IBygcCMDhAGw==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.17.9.tgz", - "integrity": "sha512-2TBFd/r2I6VlYn0YRTz2JdazS+FoUuQ2rIFHoAxtyP/0G3D82SBLaRq9rnUkpqlLg03Byfl/+M32mpxjO6KaPw==", - "dev": true, + "node_modules/@polymer/iron-dropdown": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-dropdown/-/iron-dropdown-3.0.1.tgz", + "integrity": "sha512-22yLhepfcKjuQMfFmRHi/9MPKTqkzgRrmWWW0P5uqK++xle53k2QBO5VYUAYiCN3ZcxIi9lEhZ9YWGeQj2JBig==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-simple-access": "^7.17.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.17.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.17.8.tgz", - "integrity": "sha512-39reIkMTUVagzgA5x88zDYXPCMT6lcaRKs1+S9K6NKBPErbgO/w/kP8GlNQTC87b412ZTlmNgr3k2JrWgHH+Bw==", - "dev": true, + "node_modules/@polymer/iron-fit-behavior": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.1.0.tgz", + "integrity": "sha512-ABcgIYqrjhmUT8tiuolqeGttF/8pd3sEymUDrO1vXbZu4FWIvoLNndrMDFvs++AGd12Mjf5pYy84NJc6dB8Vig==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-module-transforms": "^7.17.7", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.7.tgz", - "integrity": "sha512-EMh7uolsC8O4xhudF2F6wedbSHm1HHZ0C6aJ7K67zcDNidMzVcxWdGr+htW9n21klm+bOn+Rx4CBsAntZd3rEQ==", - "dev": true, + "node_modules/@polymer/iron-flex-layout": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz", + "integrity": "sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.10.tgz", - "integrity": "sha512-v54O6yLaJySCs6mGzaVOUw9T967GnH38T6CQSAtnzdNPwu84l2qAjssKzo/WSO8Yi7NF+7ekm5cVbF/5qiIgNA==", - "dev": true, + "node_modules/@polymer/iron-form": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-form/-/iron-form-3.0.1.tgz", + "integrity": "sha512-JwSQXHjYALsytCeBkXlY8aRwqgZuYIqzOk3iHuugb1RXOdZ7MZHyJhMDVBbscHjxqPKu/KaVzAjrcfwNNafzEA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "@polymer/iron-ajax": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.7.tgz", - "integrity": "sha512-xiLDzWNMfKoGOpc6t3U+etCE2yRnn3SM09BXqWPIZOBpL2gvVrBWUKnsJx0K/ADi5F5YC5f8APFfWrz25TdlGg==", - "dev": true, + "node_modules/@polymer/iron-form-element-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz", + "integrity": "sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", - "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", - "dev": true, + "node_modules/@polymer/iron-icon": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-icon/-/iron-icon-3.0.1.tgz", + "integrity": "sha512-QLPwirk+UPZNaLnMew9VludXA4CWUCenRewgEcGYwdzVgDPCDbXxy6vRJjmweZobMQv/oVLppT2JZtJFnPxX6g==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-replace-supers": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.7.tgz", - "integrity": "sha512-AT3MufQ7zZEhU2hwOA11axBnExW0Lszu4RL/tAlUJBuNoRak+wehQW8h6KcXOcgjY42fHtDxswuMhMjFEuv/aw==", - "dev": true, + "node_modules/@polymer/iron-icons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-icons/-/iron-icons-3.0.1.tgz", + "integrity": "sha512-xtEI8erH2GIBiF3QxEMyW81XuVjguu6Le5WjEEpX67qd9z7jjmc4T/ke3zRUlnDydex9p8ytcwVpMIKcyvjYAQ==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/iron-iconset-svg": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", - "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", - "dev": true, + "node_modules/@polymer/iron-iconset": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-iconset/-/iron-iconset-3.0.1.tgz", + "integrity": "sha512-9ByfHE8qWTYibmX/RwUvsZrVhnEdbdQMh/It6OSlfbjV/RRqWA42Qaut5F+mdA5MmBUjCdTsggubehcbDOdwhA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.17.9.tgz", - "integrity": "sha512-Lc2TfbxR1HOyn/c6b4Y/b6NHoTb67n/IoWLxTu4kC7h4KQnWlhCq2S8Tx0t2SVvv5Uu87Hs+6JEJ5kt2tYGylQ==", - "dev": true, + "node_modules/@polymer/iron-iconset-svg": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz", + "integrity": "sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw==", + "license": "BSD-3-Clause", "dependencies": { - "regenerator-transform": "^0.15.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.7.tgz", - "integrity": "sha512-KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==", - "dev": true, + "node_modules/@polymer/iron-image": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/iron-image/-/iron-image-3.0.2.tgz", + "integrity": "sha512-VyYtnewGozDb5sUeoLR1OvKzlt5WAL6b8Od7fPpio5oYL+9t061/nTV8+ZMrpMgF2WgB0zqM/3K53o3pbK5v8Q==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", - "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", - "dev": true, + "node_modules/@polymer/iron-input": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-input/-/iron-input-3.0.1.tgz", + "integrity": "sha512-WLx13kEcbH9GKbj9+pWR6pbJkA5kxn3796ynx6eQd2rueMyUfVTR3GzOvadBKsciUuIuzrxpBWZ2+3UcueVUQQ==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.7.tgz", - "integrity": "sha512-+pjJpgAngb53L0iaA5gU/1MLXJIfXcYepLgXB3esVRf4fqmj8f2cxM3/FKaHsZms08hFQJkFccEWuIpm429TXg==", - "dev": true, + "node_modules/@polymer/iron-label": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-label/-/iron-label-3.0.1.tgz", + "integrity": "sha512-MkIZ1WfOy10pnIxRwTVPfsoDZYlqMkUp0hmimMj0pGRHmrc9n5phuJUY1pC+S7WoKP1/98iH2qnXQukPGTzoVA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", - "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", - "dev": true, + "node_modules/@polymer/iron-media-query": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz", + "integrity": "sha512-czUX1pm1zfmfcZtq5J57XFkcobBv08Y50exp0/3v8Bos5VL/jv2tU0RwiTfDBxUMhjicGbgwEBFQPY2V5DMzyw==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.7.tgz", - "integrity": "sha512-VwbkDDUeenlIjmfNeDX/V0aWrQH2QiVyJtwymVQSzItFDTpxfyJh3EVaQiS0rIN/CqbLGr0VcGmuwyTdZtdIsA==", - "dev": true, + "node_modules/@polymer/iron-menu-behavior": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.2.tgz", + "integrity": "sha512-8dpASkFNBIkxAJWsFLWIO1M7tKM0+wKs3PqdeF/dDdBciwoaaFgC2K1XCZFZnbe2t9/nJgemXxVugGZAWpYCGg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.7.tgz", - "integrity": "sha512-p2rOixCKRJzpg9JB4gjnG4gjWkWa89ZoYUnl9snJ1cWIcTH/hvxZqfO+WjG6T8DRBpctEol5jw1O5rA8gkCokQ==", - "dev": true, + "node_modules/@polymer/iron-meta": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.1.tgz", + "integrity": "sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", - "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", - "dev": true, + "node_modules/@polymer/iron-overlay-behavior": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.3.tgz", + "integrity": "sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", - "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", - "dev": true, + "node_modules/@polymer/iron-pages": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-pages/-/iron-pages-3.0.1.tgz", + "integrity": "sha512-PQe8S1JKHPcsIvFOaQP+9+AXmqUIL9fPqC6xT63OAZQxYCeZJDKgT9GKBx+VRryYBUlj2FLEXkUVpG+PTotdjg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.16.7", - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/polyfill": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", - "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", - "deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.", + "node_modules/@polymer/iron-range-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-range-behavior/-/iron-range-behavior-3.0.1.tgz", + "integrity": "sha512-+jtL9v45M/T1RJleWyQaNH84S9/mIIR+AjNbYIttbKGp1eG+98j8MDWe7LXNtg79V2LQnE/+VS82cBeELyGVeg==", + "license": "BSD-3-Clause", "dependencies": { - "core-js": "^2.6.5", - "regenerator-runtime": "^0.13.4" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/preset-env": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.17.10.tgz", - "integrity": "sha512-YNgyBHZQpeoBSRBg0xixsZzfT58Ze1iZrajvv0lJc70qDDGuGfonEnMGfWeSY0mQ3JTuCWFbMkzFRVafOyJx4g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.17.10", - "@babel/helper-compilation-targets": "^7.17.10", - "@babel/helper-plugin-utils": "^7.16.7", - "@babel/helper-validator-option": "^7.16.7", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.16.7", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-async-generator-functions": "^7.16.8", - "@babel/plugin-proposal-class-properties": "^7.16.7", - "@babel/plugin-proposal-class-static-block": "^7.17.6", - "@babel/plugin-proposal-dynamic-import": "^7.16.7", - "@babel/plugin-proposal-export-namespace-from": "^7.16.7", - "@babel/plugin-proposal-json-strings": "^7.16.7", - "@babel/plugin-proposal-logical-assignment-operators": "^7.16.7", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.7", - "@babel/plugin-proposal-numeric-separator": "^7.16.7", - "@babel/plugin-proposal-object-rest-spread": "^7.17.3", - "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", - "@babel/plugin-proposal-optional-chaining": "^7.16.7", - "@babel/plugin-proposal-private-methods": "^7.16.11", - "@babel/plugin-proposal-private-property-in-object": "^7.16.7", - "@babel/plugin-proposal-unicode-property-regex": "^7.16.7", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@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", - "@babel/plugin-transform-arrow-functions": "^7.16.7", - "@babel/plugin-transform-async-to-generator": "^7.16.8", - "@babel/plugin-transform-block-scoped-functions": "^7.16.7", - "@babel/plugin-transform-block-scoping": "^7.16.7", - "@babel/plugin-transform-classes": "^7.16.7", - "@babel/plugin-transform-computed-properties": "^7.16.7", - "@babel/plugin-transform-destructuring": "^7.17.7", - "@babel/plugin-transform-dotall-regex": "^7.16.7", - "@babel/plugin-transform-duplicate-keys": "^7.16.7", - "@babel/plugin-transform-exponentiation-operator": "^7.16.7", - "@babel/plugin-transform-for-of": "^7.16.7", - "@babel/plugin-transform-function-name": "^7.16.7", - "@babel/plugin-transform-literals": "^7.16.7", - "@babel/plugin-transform-member-expression-literals": "^7.16.7", - "@babel/plugin-transform-modules-amd": "^7.16.7", - "@babel/plugin-transform-modules-commonjs": "^7.17.9", - "@babel/plugin-transform-modules-systemjs": "^7.17.8", - "@babel/plugin-transform-modules-umd": "^7.16.7", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.10", - "@babel/plugin-transform-new-target": "^7.16.7", - "@babel/plugin-transform-object-super": "^7.16.7", - "@babel/plugin-transform-parameters": "^7.16.7", - "@babel/plugin-transform-property-literals": "^7.16.7", - "@babel/plugin-transform-regenerator": "^7.17.9", - "@babel/plugin-transform-reserved-words": "^7.16.7", - "@babel/plugin-transform-shorthand-properties": "^7.16.7", - "@babel/plugin-transform-spread": "^7.16.7", - "@babel/plugin-transform-sticky-regex": "^7.16.7", - "@babel/plugin-transform-template-literals": "^7.16.7", - "@babel/plugin-transform-typeof-symbol": "^7.16.7", - "@babel/plugin-transform-unicode-escapes": "^7.16.7", - "@babel/plugin-transform-unicode-regex": "^7.16.7", - "@babel/preset-modules": "^0.1.5", - "@babel/types": "^7.17.10", - "babel-plugin-polyfill-corejs2": "^0.3.0", - "babel-plugin-polyfill-corejs3": "^0.5.0", - "babel-plugin-polyfill-regenerator": "^0.3.0", - "core-js-compat": "^3.22.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@polymer/iron-resizable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz", + "integrity": "sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" + "node_modules/@polymer/iron-scroll-target-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.1.tgz", + "integrity": "sha512-xg1WanG25BIkQE8rhuReqY9zx1K5M7F+YAIYpswEp5eyDIaZ1Y3vUmVeQ3KG+hiSugzI1M752azXN7kvyhOBcQ==", + "license": "BSD-3-Clause", + "dependencies": { + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/preset-modules": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", - "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", - "dev": true, + "node_modules/@polymer/iron-selector": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-selector/-/iron-selector-3.0.1.tgz", + "integrity": "sha512-sBVk2uas6prW0glUe2xEJJYlvxmYzM40Au9OKbfDK2Qekou/fLKcBRyIYI39kuI8zWRaip8f3CI8qXcUHnKb1A==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/runtime": { - "version": "7.11.2", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", - "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "node_modules/@polymer/iron-validatable-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz", + "integrity": "sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==", + "license": "BSD-3-Clause", "dependencies": { - "regenerator-runtime": "^0.13.4" + "@polymer/iron-meta": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.9.tgz", - "integrity": "sha512-WxYHHUWF2uZ7Hp1K+D1xQgbgkGUfA+5UPOegEXGt2Y5SMog/rYCVaifLZDbw8UkNXozEqqrZTy6bglL7xTaCOw==", - "dev": true, + "node_modules/@polymer/neon-animation": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/neon-animation/-/neon-animation-3.0.1.tgz", + "integrity": "sha512-cDDc0llpVCe0ATbDS3clDthI54Bc8YwZIeTGGmBJleKOvbRTUC5+ssJmRL+VwVh+VM5FlnQlx760ppftY3uprg==", + "license": "BSD-3-Clause", "dependencies": { - "core-js-pure": "^3.20.2", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/iron-selector": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, + "node_modules/@polymer/paper-behaviors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz", + "integrity": "sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/traverse": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.10.tgz", - "integrity": "sha512-VmbrTHQteIdUUQNTb+zE12SHS/xQVIShmBPhlNP12hD5poF2pbITW1Z4172d03HegaQWhLffdkRJYtAzp0AGcw==", - "dev": true, + "node_modules/@polymer/paper-button": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-button/-/paper-button-3.0.1.tgz", + "integrity": "sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.10", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.10", - "@babel/types": "^7.17.10", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/traverse/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, + "node_modules/@polymer/paper-card": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-card/-/paper-card-3.0.1.tgz", + "integrity": "sha512-ZYzfA4kzP9niRO22wSOBL2RS+URZNUP5XmUCwN91fYPIGO0Qbimh7d1O2HpJD4cRCZhvGYn2CJMDMVmDm35vIg==", + "license": "BSD-3-Clause", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-image": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@babel/traverse/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@babel/types": { - "version": "7.17.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.10.tgz", - "integrity": "sha512-9O26jG0mBYfGkUYCYZRnBwbVLd1UZOICEr2Em6InB6jVfsAv1GKgwXHmrSg+WFWDmeKTA6vyTZiN8tCSM5Oo3A==", - "dev": true, + "node_modules/@polymer/paper-checkbox": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-checkbox/-/paper-checkbox-3.1.0.tgz", + "integrity": "sha512-kXm6yDG1tT8if0XuJ2cc9NF+g8Ev4wG+rnf0a+Sx+O7J6fn1jcnBlYn72FlrfjVjDQZDBFmT6nynhD5PvFw8iQ==", + "license": "BSD-3-Clause", "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/autocomplete": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.18.0.tgz", - "integrity": "sha512-5DbOvBbY4qW5l57cjDsmmpDh3/TeK1vXfTHa+BUMrRzdWdcxKZ4U4V7vQaTtOpApNU4kLS4FQ6cINtLg245LXA==", - "license": "MIT", + "node_modules/@polymer/paper-dialog": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-dialog/-/paper-dialog-3.0.1.tgz", + "integrity": "sha512-KvglYbEq7AWJvui2j6WKLnOvgVMeGjovAydGrPRj7kVzCiD49Eq/hpYFJTRV5iDcalWH+mORUpw+jrFnG9+Kgw==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.17.0", - "@lezer/common": "^1.0.0" - }, - "peerDependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/paper-dialog-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/commands": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.1.0.tgz", - "integrity": "sha512-qCj2YqmbBjj0P1iumnlL5lBqZvJPzT+t2UvgjcaXErp5ZvMqFRVgQyrEfdXX6SX5UcvcHKBjXqno+MkUp0aYvQ==", + "node_modules/@polymer/paper-dialog-behavior": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-dialog-behavior/-/paper-dialog-behavior-3.0.1.tgz", + "integrity": "sha512-wbI4kCK8le/9MHT+IXzvHjoatxf3kd3Yn0tgozAiAwfSZ7N4Ubpi5MHrK0m9S9PeIxKokAgBYdTUrezSE5378A==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" + "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lang-css": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.2.1.tgz", - "integrity": "sha512-/UNWDNV5Viwi/1lpr/dIXJNWiwDxpw13I4pTUAsNxZdg6E0mI2kTQb0P2iHczg1Tu+H4EBgJR+hYhKiHKko7qg==", + "node_modules/@polymer/paper-dialog-scrollable": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-dialog-scrollable/-/paper-dialog-scrollable-3.0.1.tgz", + "integrity": "sha512-1E8B9kNdL58jUrJ/BwqJeOoNVcxNrB559z//d1V0rVHWT5bWCCZegwS3G06iFK5MjxWFbIKzleVTLrT0opiZkA==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@lezer/common": "^1.0.2", - "@lezer/css": "^1.0.0" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-dialog-behavior": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lang-html": { - "version": "6.4.9", - "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.9.tgz", - "integrity": "sha512-aQv37pIMSlueybId/2PVSP6NPnmurFDVmZwzc7jszd2KAF8qd4VBbvNYPXWQq90WIARjsdVkPbw29pszmHws3Q==", + "node_modules/@polymer/paper-dropdown-menu": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-dropdown-menu/-/paper-dropdown-menu-3.2.0.tgz", + "integrity": "sha512-2ohwSHF+RLSK6kA0UkkMiMQF6EZcaEYWAA25kfisI6DWie7yozKrpQNsqvwfOEHU6DdDMIotrOtH1TM88YS8Zg==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/lang-css": "^6.0.0", - "@codemirror/lang-javascript": "^6.0.0", - "@codemirror/language": "^6.4.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.17.0", - "@lezer/common": "^1.0.0", - "@lezer/css": "^1.1.0", - "@lezer/html": "^1.3.0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/iron-iconset-svg": "^3.0.0-pre.26", + "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-input": "^3.1.0", + "@polymer/paper-menu-button": "^3.1.0", + "@polymer/paper-ripple": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.3.1" } }, - "node_modules/@codemirror/lang-javascript": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.2.2.tgz", - "integrity": "sha512-VGQfY+FCc285AhWuwjYxQyUQcYurWlxdKYT4bqwr3Twnd5wP5WSeu52t4tvvuWmljT4EmgEgZCqSieokhtY8hg==", + "node_modules/@polymer/paper-fab": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-fab/-/paper-fab-3.0.1.tgz", + "integrity": "sha512-LO8ckgd72MnAtC1WiPd5CFR27WC/dEuY/lOIQuHYdEjwI62+iiV7Bmr7uoQ9wvvV71qMFdMIOyq/03KklsuAzw==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.6.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.17.0", - "@lezer/common": "^1.0.0", - "@lezer/javascript": "^1.0.0" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lang-json": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@codemirror/lang-json/-/lang-json-6.0.1.tgz", - "integrity": "sha512-+T1flHdgpqDDlJZ2Lkil/rLiRy684WMLc74xUnjJH48GQdfJo/pudlTRreZmKwzP8/tGdKf83wlbAdOCzlJOGQ==", + "node_modules/@polymer/paper-icon-button": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-icon-button/-/paper-icon-button-3.0.2.tgz", + "integrity": "sha512-kOdxQgnKL097bggFF6PWvsBYuWg+MCcoHoTHX6bh/MuZoWFZNjrFntFqwuB4oEbpjCpfm4moA33muPJFj7CihQ==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/language": "^6.0.0", - "@lezer/json": "^1.0.0" + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lang-markdown": { - "version": "6.2.5", - "resolved": "https://registry.npmjs.org/@codemirror/lang-markdown/-/lang-markdown-6.2.5.tgz", - "integrity": "sha512-Hgke565YcO4fd9pe2uLYxnMufHO5rQwRr+AAhFq8ABuhkrjyX8R5p5s+hZUTdV60O0dMRjxKhBLxz8pu/MkUVA==", + "node_modules/@polymer/paper-input": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-input/-/paper-input-3.2.1.tgz", + "integrity": "sha512-6ghgwQKM6mS0hAQxQqj+tkeEY1VUBqAsrasAm8V5RpNcfSWQC/hhRFxU0beGuKTAhndzezDzWYP6Zz4b8fExGg==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/autocomplete": "^6.7.1", - "@codemirror/lang-html": "^6.0.0", - "@codemirror/language": "^6.3.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.2.1", - "@lezer/markdown": "^1.0.0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-autogrow-textarea": "^3.0.0-pre.26", + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", + "@polymer/iron-input": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lang-xml": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@codemirror/lang-xml/-/lang-xml-6.1.0.tgz", - "integrity": "sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==", + "node_modules/@polymer/paper-item": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-item/-/paper-item-3.0.1.tgz", + "integrity": "sha512-KTk2N+GsYiI/HuubL3sxebZ6tteQbBOAp4QVLAnbjSPmwl+mJSDWk+omuadesU0bpkCwaWVs3fHuQsmXxy4pkw==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.4.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0", - "@lezer/xml": "^1.0.0" + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/language": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.10.2.tgz", - "integrity": "sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==", + "node_modules/@polymer/paper-listbox": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-listbox/-/paper-listbox-3.0.1.tgz", + "integrity": "sha512-vMLWFpYcggAPmEDBmK+96fFefacOG3GLB1EguTn8+ZkqI+328hNfw1MzHjH68rgCIIUtjmm+9qgB1Sy/MN0a/A==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.23.0", - "@lezer/common": "^1.1.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0", - "style-mod": "^4.0.0" + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-menu-behavior": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/legacy-modes": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@codemirror/legacy-modes/-/legacy-modes-6.4.1.tgz", - "integrity": "sha512-vdg3XY7OAs5uLDx2Iw+cGfnwtd7kM+Et/eMsqAGTfT/JKiVBQZXosTzjEbWAi/FrY6DcQIz8mQjBozFHZEUWQA==", - "license": "MIT", + "node_modules/@polymer/paper-material": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-material/-/paper-material-3.0.1.tgz", + "integrity": "sha512-FUa3iqEcwjYtUzMqIh9cEfdTJE8ZtRasAzxVbck5GChthA/T2HwnhjAyqzN4lusVMyafdl3rjNEwhVPK/Pmykg==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/language": "^6.0.0" + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/lint": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.0.0.tgz", - "integrity": "sha512-nUUXcJW1Xp54kNs+a1ToPLK8MadO0rMTnJB8Zk4Z8gBdrN0kqV7uvUraU/T2yqg+grDNR38Vmy/MrhQN/RgwiA==", + "node_modules/@polymer/paper-menu-button": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-menu-button/-/paper-menu-button-3.1.0.tgz", + "integrity": "sha512-q0G0/rvYD/FFmIBMGCQWjfXzRqwFw9+WHSYV4uOQzM1Ln8LMXSAd+2CENsbVwtMh6fmBePj15ZlU8SM2dt1WDQ==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "crelt": "^1.0.5" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-dropdown": "^3.0.0-pre.26", + "@polymer/iron-fit-behavior": "^3.1.0", + "@polymer/neon-animation": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/search": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@codemirror/search/-/search-6.2.0.tgz", - "integrity": "sha512-FVhpUvPFUJe8lg2EQJTTcF4RNI9d/OC3PVitvOfhv5OuY7ZgtMfJl22o5eMkzOEsUY2Wxe7BKGLpe2UI5Wq3PQ==", + "node_modules/@polymer/paper-progress": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-progress/-/paper-progress-3.0.1.tgz", + "integrity": "sha512-5nguG+tmnyoaWKVNG8Smtno2uLSPBgEsT3f20JY8yJTjUBYWaqa8E3l5RLkTRXgA4x9OnvLb8/CdlQWXQIogBg==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "crelt": "^1.0.5" + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-range-behavior": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/state": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.4.1.tgz", - "integrity": "sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==" - }, - "node_modules/@codemirror/theme-one-dark": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/@codemirror/theme-one-dark/-/theme-one-dark-6.1.2.tgz", - "integrity": "sha512-F+sH0X16j/qFLMAfbciKTxVOwkdAS336b7AXTKOZhy8BR3eH/RelsnLgLFINrpST63mmN2OuwUt0W2ndUgYwUA==", + "node_modules/@polymer/paper-ripple": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.2.tgz", + "integrity": "sha512-DnLNvYIMsiayeICroYxx6Q6Hg1cUU8HN2sbutXazlemAlGqdq80qz3TIaVdbpbt/pvjcFGX2HtntMlPstCge8Q==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/highlight": "^1.0.0" + "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@codemirror/view": { - "version": "6.27.0", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.27.0.tgz", - "integrity": "sha512-8kqX1sHbVW1lVzWwrjAbh4dR7eKhV8eIQ952JKaBXOoXE04WncoqCy4DMU701LSrPZ3N2Q4zsTawz7GQ+2mrUw==", + "node_modules/@polymer/paper-styles": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.1.tgz", + "integrity": "sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==", + "license": "BSD-3-Clause", "dependencies": { - "@codemirror/state": "^6.4.0", - "style-mod": "^4.1.0", - "w3c-keyname": "^2.2.4" + "@polymer/font-roboto": "^3.0.1", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" + "node_modules/@polymer/paper-tabs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@polymer/paper-tabs/-/paper-tabs-3.1.0.tgz", + "integrity": "sha512-t8G+3CiyI0R+wA077UNQXR/oG9GlsqRRO1KMsFHHjBSsYqWXghNsqxUG827wEj+PafI5u9tZ3vVt1S++Lg4B2g==", + "license": "BSD-3-Clause", + "dependencies": { + "@polymer/iron-behaviors": "^3.0.0-pre.26", + "@polymer/iron-flex-layout": "^3.0.0-pre.26", + "@polymer/iron-icon": "^3.0.0-pre.26", + "@polymer/iron-iconset-svg": "^3.0.0-pre.26", + "@polymer/iron-menu-behavior": "^3.0.0-pre.26", + "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", + "@polymer/paper-behaviors": "^3.0.0-pre.27", + "@polymer/paper-icon-button": "^3.0.0-pre.26", + "@polymer/paper-styles": "^3.0.0-pre.26", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@cwmr/paper-autocomplete": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@cwmr/paper-autocomplete/-/paper-autocomplete-4.0.0.tgz", - "integrity": "sha512-ZBTglN2qGFS/d5Cd76R0k1SadXgWXDsoOgFRoYyLwvb98rZFPlS8dnsLIpWjFWBinz4nEqZ2pE/HOLTvE2heNA==", + "node_modules/@polymer/paper-tooltip": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz", + "integrity": "sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==", + "license": "BSD-3-Clause", "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0", - "@polymer/iron-icon": "^3.0.0", - "@polymer/iron-icons": "^3.0.0", - "@polymer/iron-iconset": "^3.0.0", - "@polymer/iron-iconset-svg": "^3.0.0", - "@polymer/paper-icon-button": "^3.0.0", - "@polymer/paper-input": "^3.0.0", - "@polymer/paper-item": "^3.0.0", - "@polymer/paper-material": "^3.0.0", - "@polymer/paper-ripple": "^3.0.0", + "@polymer/paper-styles": "^3.0.0-pre.26", "@polymer/polymer": "^3.0.0" } }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, + "node_modules/@polymer/polymer": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.5.2.tgz", + "integrity": "sha512-fWwImY/UH4bb2534DVSaX+Azs2yKg8slkMBHOyGeU2kKx7Xmxp6Lee0jP8p6B3d7c1gFUPB2Z976dTUtX81pQA==", + "license": "BSD-3-Clause", "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" + "@webcomponents/shadycss": "^1.9.1" + } + }, + "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==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" } }, - "node_modules/@eslint/eslintrc/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@semantic-release/commit-analyzer": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz", + "integrity": "sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "conventional-changelog-angular": "^5.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.0.7", + "debug": "^4.0.0", + "import-from": "^3.0.0", + "lodash": "^4.17.4", + "micromatch": "^4.0.2" }, "engines": { - "node": ">=6.0" + "node": ">=10.18" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "semantic-release": ">=16.0.0 <18.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "node_modules/@semantic-release/error": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", + "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", "dev": true, + "license": "MIT" + }, + "node_modules/@semantic-release/exec": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@semantic-release/exec/-/exec-5.0.0.tgz", + "integrity": "sha512-t7LWXIvDJQbuGCy2WmMG51WyaGSLTvZBv9INvcI4S0kn+QjnnVVUMhcioIqhb0r3yqqarMzHVcABFug0q0OXjw==", + "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "@semantic-release/error": "^2.1.0", + "aggregate-error": "^3.0.0", + "debug": "^4.0.0", + "execa": "^4.0.0", + "lodash": "^4.17.4", + "parse-json": "^5.0.0" }, "engines": { - "node": ">=8" + "node": ">=10.18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "semantic-release": ">=16.0.0 <18.0.0" } }, - "node_modules/@eslint/eslintrc/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/@semantic-release/git": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-9.0.1.tgz", + "integrity": "sha512-75P03s9v0xfrH9ffhDVWRIX0fgWBvJMmXhUU0rMTKYz47oMXU5O95M/ocgIKnVJlWZYoC+LpIe4Ye6ev8CrlUQ==", "dev": true, + "license": "MIT", + "dependencies": { + "@semantic-release/error": "^2.1.0", + "aggregate-error": "^3.0.0", + "debug": "^4.0.0", + "dir-glob": "^3.0.0", + "execa": "^5.0.0", + "lodash": "^4.17.4", + "micromatch": "^4.0.0", + "p-reduce": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">=10.18" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@esm-bundle/chai": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@esm-bundle/chai/-/chai-4.3.4.tgz", - "integrity": "sha512-6Tx35wWiNw7X0nLY9RMx8v3EL8SacCFW+eEZOE9Hc+XxmU5HFE2AFEg+GehUZpiyDGwVvPH75ckGlqC7coIPnA==", - "dev": true, - "dependencies": { - "@types/chai": "^4.2.12" - } - }, - "node_modules/@existdb/gulp-exist": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@existdb/gulp-exist/-/gulp-exist-4.3.1.tgz", - "integrity": "sha512-THnsHzy55N00nZlXmLXgSe8t4n8EEXNkXWRt5mIdo7VrbVFd4kpc+kNPSplDTnn9fWoUrT3OSpRxH5Hdd4KTqw==", - "dev": true, - "dependencies": { - "@existdb/node-exist": "^4.9.0", - "fancy-log": "^1.3.2", - "gulp": "^4.0.2", - "lodash.assign": "^4.2.0", - "plugin-error": "^1.0.1", - "through2": "^4.0.2", - "vinyl": "^2.2.1" + "peerDependencies": { + "semantic-release": ">=16.0.0 <18.0.0" } }, - "node_modules/@existdb/gulp-replace-tmpl": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@existdb/gulp-replace-tmpl/-/gulp-replace-tmpl-1.0.4.tgz", - "integrity": "sha512-Qngu2cgLCNS1OJ2W3PHwEriOXuKS8lB0VJoV/XVwJdVkGz5tJEvXlgdWGM8aEHOlSdOTEamhtQR9jNyzGUYDhA==", + "node_modules/@semantic-release/git/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": { - "gulp-replace": "^1.0.0" + "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_modules/@existdb/node-exist": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@existdb/node-exist/-/node-exist-4.9.0.tgz", - "integrity": "sha512-xmkqrwbtVhVMF1IEn3ZwgAjJU91rw6s/A/03fB7PS31k7zc1dQ3PM4AU2wffVfVTrRdrUGLZFhoUN8hFRa2BWg==", + "node_modules/@semantic-release/git/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, - "dependencies": { - "bottleneck": "^2.19.5", - "fast-glob": "^3.2.11", - "lodash.assign": "^4.0.2", - "mime": "^3.0.0", - "xmlrpc": "^1.3.1", - "yargs": "^17.3.1" + "license": "MIT", + "engines": { + "node": ">=10" }, - "bin": { - "exist-exec": "spec/examples/exist-exec", - "exist-install": "spec/examples/exist-install", - "exist-ls": "spec/examples/exist-ls", - "exist-tree": "spec/examples/exist-tree", - "exist-upload": "spec/examples/exist-upload" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "node_modules/@semantic-release/git/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, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, + "license": "Apache-2.0", "engines": { - "node": ">=10.10.0" + "node": ">=10.17.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/@semantic-release/github": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-7.2.3.tgz", + "integrity": "sha512-lWjIVDLal+EQBzy697ayUNN8MoBpp+jYIyW2luOdqn5XBH4d9bQGfTnjuLyzARZBHejqh932HVjiH/j4+R7VHw==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "@octokit/rest": "^18.0.0", + "@semantic-release/error": "^2.2.0", + "aggregate-error": "^3.0.0", + "bottleneck": "^2.18.1", + "debug": "^4.0.0", + "dir-glob": "^3.0.0", + "fs-extra": "^10.0.0", + "globby": "^11.0.0", + "http-proxy-agent": "^4.0.0", + "https-proxy-agent": "^5.0.0", + "issue-parser": "^6.0.0", + "lodash": "^4.17.4", + "mime": "^2.4.3", + "p-filter": "^2.0.0", + "p-retry": "^4.0.0", + "url-join": "^4.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=10.18" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "semantic-release": ">=16.0.0 <18.0.0" } }, - "node_modules/@humanwhocodes/config-array/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@jinntec/fore": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@jinntec/fore/-/fore-2.4.1.tgz", - "integrity": "sha512-YUCY6zuqbmVvQ5XYgkH86ipP8iN+fifL6drX1aIqHSdqSZwvXs5HIw3dUgk6poXCMbQ+iqoE41ABbnrkawAOzA==", - "dependencies": { - "@jinntec/jinn-toast": "^1.0.5", - "@picocss/pico": "^2.0.6", - "fontoxpath": "^3.33.0" + "node_modules/@semantic-release/github/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">= 16.19.1" - } - }, - "node_modules/@jinntec/jinn-codemirror": { - "version": "1.17.6", - "resolved": "https://registry.npmjs.org/@jinntec/jinn-codemirror/-/jinn-codemirror-1.17.6.tgz", - "integrity": "sha512-DsYi2w2+51fTZJv8mrseJHoi7r9X8eePfToO7zNQMNbbaf6fNr4bTfInYEhSwnXfPxQhBQ7deRF/MZophl8Wzg==", - "license": "GPL-3.0-or-later", - "dependencies": { - "@babel/runtime": "^7.24.1", - "@codemirror/autocomplete": "^6.18.0", - "@codemirror/lang-css": "^6.2.1", - "@codemirror/lang-html": "^6.4.9", - "@codemirror/lang-json": "^6.0.1", - "@codemirror/lang-markdown": "^6.2.5", - "@codemirror/lang-xml": "^6.1.0", - "@codemirror/language": "^6.10.2", - "@codemirror/legacy-modes": "^6.4.1", - "@codemirror/theme-one-dark": "^6.1.2", - "@uiw/codemirror-theme-material": "^4.23.0", - "@uiw/codemirror-theme-solarized": "^4.23.0", - "codemirror": "^6.0.1", - "tom-select": "^2.3.1" + "node": ">=4.0.0" } }, - "node_modules/@jinntec/jinn-codemirror/node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "node_modules/@semantic-release/npm": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-7.1.3.tgz", + "integrity": "sha512-x52kQ/jR09WjuWdaTEHgQCvZYMOTx68WnS+TZ4fya5ZAJw4oRtJETtrvUw10FdfM28d/keInQdc66R1Gw5+OEQ==", + "dev": true, + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.14.0" + "@semantic-release/error": "^2.2.0", + "aggregate-error": "^3.0.0", + "execa": "^5.0.0", + "fs-extra": "^10.0.0", + "lodash": "^4.17.15", + "nerf-dart": "^1.0.0", + "normalize-url": "^6.0.0", + "npm": "^7.0.0", + "rc": "^1.2.8", + "read-pkg": "^5.0.0", + "registry-auth-token": "^4.0.0", + "semver": "^7.1.2", + "tempy": "^1.0.0" }, "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@jinntec/jinn-codemirror/node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" - }, - "node_modules/@jinntec/jinn-toast": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@jinntec/jinn-toast/-/jinn-toast-1.0.5.tgz", - "integrity": "sha512-FVZsDUXS7wzXyl6s1oj0UwCtZ/fBn+T/GPSXxZ9eYBKVhgWUrLqrLDO7zeWuS/0D3/BrTiuTNcnk0d+c4nCKyw==", - "dependencies": { - "lit-html": "^1.4.1", - "toastify-js": "^1.11.0" + "node": ">=10.19" + }, + "peerDependencies": { + "semantic-release": ">=16.0.0 <18.0.0" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "node_modules/@semantic-release/npm/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": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" + "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": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.6.tgz", - "integrity": "sha512-R7xHtBSNm+9SyvpJkdQl+qrM3Hm2fea3Ef197M3mUug+v+yR+Rhfbs7PBtcBUVnIWJ4JcAdjvij+c8hXS9p5aw==", + "node_modules/@semantic-release/npm/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": { - "node": ">=6.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.0.tgz", - "integrity": "sha512-SfJxIxNVYLTsKwzB3MoOQ1yxf4w/E6MdkvTgrgAt1bfxjSrLUoHMKrDOykwN14q65waezZIdqDneUIPh4/sKxg==", + "node_modules/@semantic-release/npm/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": "Apache-2.0", "engines": { - "node": ">=6.0.0" + "node": ">=10.17.0" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.12", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.12.tgz", - "integrity": "sha512-az/NhpIwP3K33ILr0T2bso+k2E/SLf8Yidd8mHl0n6sCQ4YdyC8qDhZA6kOPDNDBA56ZnIjngVl0U3jREA0BUA==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "node_modules/@semantic-release/npm/node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@koa/cors": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@koa/cors/-/cors-3.3.0.tgz", - "integrity": "sha512-lzlkqLlL5Ond8jb6JLnVVDmD2OPym0r5kvZlMgAWiS9xle+Q5ulw1T358oW+RVguxUkANquZQz82i/STIRmsqQ==", + "node_modules/@semantic-release/release-notes-generator": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-9.0.3.tgz", + "integrity": "sha512-hMZyddr0u99OvM2SxVOIelHzly+PP3sYtJ8XOLHdMp8mrluN5/lpeTnIO27oeCYdupY/ndoGfvrqDjHqkSyhVg==", "dev": true, + "license": "MIT", "dependencies": { - "vary": "^1.1.2" + "conventional-changelog-angular": "^5.0.0", + "conventional-changelog-writer": "^4.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.0.0", + "debug": "^4.0.0", + "get-stream": "^6.0.0", + "import-from": "^3.0.0", + "into-stream": "^6.0.0", + "lodash": "^4.17.4", + "read-pkg-up": "^7.0.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=10.18" + }, + "peerDependencies": { + "semantic-release": ">=15.8.0 <18.0.0" } }, - "node_modules/@lezer/common": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.2.1.tgz", - "integrity": "sha512-yemX0ZD2xS/73llMZIK6KplkjIjf2EvAHcinDi/TfJ9hS25G0388+ClHt6/3but0oOxinTcQHJLDXh6w1crzFQ==" - }, - "node_modules/@lezer/css": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.8.tgz", - "integrity": "sha512-7JhxupKuMBaWQKjQoLtzhGj83DdnZY9MckEOG5+/iLKNK2ZJqKc6hf6uc0HjwCX7Qlok44jBNqZhHKDhEhZYLA==", - "dependencies": { - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" + "node_modules/@semantic-release/release-notes-generator/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": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@lezer/highlight": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.6.tgz", - "integrity": "sha512-cmSJYa2us+r3SePpRCjN5ymCqCPv+zyXmDl0ciWtVaNiORT/MxM7ZgOMQZADD0o51qOaOg24qc/zBViOIwAjJg==", - "dependencies": { - "@lezer/common": "^1.0.0" + "node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" } }, - "node_modules/@lezer/html": { - "version": "1.3.10", - "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.10.tgz", - "integrity": "sha512-dqpT8nISx/p9Do3AchvYGV3qYc4/rKr3IBZxlHmpIKam56P47RSHkSF5f13Vu9hebS1jM0HmtJIwLbWz1VIY6w==", + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dev": true, + "license": "MIT", "dependencies": { - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" } }, - "node_modules/@lezer/javascript": { - "version": "1.4.16", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.16.tgz", - "integrity": "sha512-84UXR3N7s11MPQHWgMnjb9571fr19MmXnr5zTv2XX0gHXXUvW3uPJ8GCjKrfTXmSdfktjRK0ayKklw+A13rk4g==", + "node_modules/@teipublisher/pb-components": { + "version": "2.12.10", + "resolved": "https://registry.npmjs.org/@teipublisher/pb-components/-/pb-components-2.12.10.tgz", + "integrity": "sha512-UPqq6rqiE+xbDFVdXaptU4r61i3YP/q1H00pV0sTie43LoX4AtmqWbGMtNk0Kcs5Pd+xiMAQUSLxIO3GNP4SLQ==", + "license": "GPL-3.0-or-later", "dependencies": { - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.1.3", - "@lezer/lr": "^1.3.0" + "@babel/runtime": "7.11.2", + "@cwmr/paper-autocomplete": "^4.0.0", + "@jinntec/jinn-codemirror": "^1.13.5", + "@lrnwebcomponents/es-global-bridge": "^7.0.4", + "@polymer/app-layout": "^3.1.0", + "@polymer/iron-ajax": "^3.0.1", + "@polymer/iron-collapse": "^3.0.1", + "@polymer/iron-form": "^3.0.1", + "@polymer/iron-icon": "^3.0.1", + "@polymer/iron-icons": "^3.0.1", + "@polymer/iron-iconset": "^3.0.1", + "@polymer/iron-label": "^3.0.1", + "@polymer/iron-pages": "^3.0.1", + "@polymer/neon-animation": "^3.0.1", + "@polymer/paper-button": "^3.0.1", + "@polymer/paper-card": "^3.0.1", + "@polymer/paper-checkbox": "^3.1.0", + "@polymer/paper-dialog": "^3.0.1", + "@polymer/paper-dialog-scrollable": "^3.0.1", + "@polymer/paper-dropdown-menu": "^3.1.0", + "@polymer/paper-fab": "^3.0.1", + "@polymer/paper-icon-button": "^3.0.2", + "@polymer/paper-input": "^3.2.1", + "@polymer/paper-item": "^3.0.1", + "@polymer/paper-listbox": "^3.0.1", + "@polymer/paper-menu-button": "^3.0.1", + "@polymer/paper-progress": "^3.0.1", + "@polymer/paper-tabs": "^3.1.0", + "@polymer/paper-tooltip": "^3.0.1", + "@vaadin/vaadin-tabs": "^3.2.0", + "@vaadin/vaadin-upload": "^4.4.0", + "@webcomponents/webcomponentsjs": "latest", + "airtable": "^0.12.2", + "animejs": "^3.2.0", + "browser-fs-access": "^0.34.1", + "construct-style-sheets-polyfill": "^3.1.0", + "gridjs": "^5.0.2", + "hotkeys-js": "^3.8.1", + "i18next": "19.8.1", + "i18next-browser-languagedetector": "^6.0.1", + "i18next-chained-backend": "^2.0.1", + "i18next-xhr-backend": "^3.2.2", + "js-cookie": "^2.2.1", + "leaflet": "^1.9.4", + "leaflet.markercluster": "^1.5.3", + "lit-element": "^2.5.1", + "lit-html": "^1.3.0", + "marked": "^1.2.0", + "pagedjs": "^0.4.3", + "path-to-regexp": "^6.2.1", + "prismjs": "^1.29.0", + "tify": "^0.28.1", + "tippy.js": "^6.3.7", + "tom-select": "^2.2.2", + "uniqolor": "^1.1.0", + "verovio": "^3.16.0", + "web-animations-js": "^2.3.2", + "web-midi-player": "^1.4.1" } }, - "node_modules/@lezer/json": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@lezer/json/-/json-1.0.2.tgz", - "integrity": "sha512-xHT2P4S5eeCYECyKNPhr4cbEL9tc8w83SPwRC373o9uEdrvGKTZoJVAGxpOsZckMlEh9W23Pc72ew918RWQOBQ==", + "node_modules/@teipublisher/pb-components/node_modules/@babel/runtime": { + "version": "7.11.2", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.11.2.tgz", + "integrity": "sha512-TeWkU52so0mPtDcaCTxNBI/IHiz0pZgr8VEFqXFtZWpYD08ZB6FaSwVAS8MKRQAP3bYKiVjwysOJgMFY28o6Tw==", + "license": "MIT", "dependencies": { - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" + "regenerator-runtime": "^0.13.4" } }, - "node_modules/@lezer/lr": { - "version": "1.3.9", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.9.tgz", - "integrity": "sha512-XPz6dzuTHlnsbA5M2DZgjflNQ+9Hi5Swhic0RULdp3oOs3rh6bqGZolosVqN/fQIT8uNiepzINJDnS39oweTHQ==", - "dependencies": { - "@lezer/common": "^1.0.0" + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" } }, - "node_modules/@lezer/markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@lezer/markdown/-/markdown-1.3.0.tgz", - "integrity": "sha512-ErbEQ15eowmJUyT095e9NJc3BI9yZ894fjSDtHftD0InkfUBGgnKSU6dvan9jqsZuNHg2+ag/1oyDRxNsENupQ==", - "dependencies": { - "@lezer/common": "^1.0.0", - "@lezer/highlight": "^1.0.0" - } + "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==", + "dev": true, + "license": "MIT" }, - "node_modules/@lezer/xml": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@lezer/xml/-/xml-1.0.5.tgz", - "integrity": "sha512-VFouqOzmUWfIg+tfmpcdV33ewtK+NSwd4ngSe1aG7HFb4BN0ExyY1b8msp+ndFrnlG4V4iC8yXacjFtrwERnaw==", - "dependencies": { - "@lezer/common": "^1.2.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" - } + "node_modules/@types/expect": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", + "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", + "dev": true, + "license": "MIT" }, - "node_modules/@lit/reactive-element": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.3.1.tgz", - "integrity": "sha512-nOJARIr3pReqK3hfFCSW2Zg/kFcFsSAlIE7z4a0C9D2dPrgD/YSn3ZP2ET/rxKB65SXyG7jJbkynBRm+tGlacw==", - "dev": true + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==", + "dev": true, + "license": "MIT" }, - "node_modules/@lrnwebcomponents/es-global-bridge": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@lrnwebcomponents/es-global-bridge/-/es-global-bridge-7.0.4.tgz", - "integrity": "sha512-31028XpXiRm0qQKu2EbAhPxFXhbybown4LSna4S+mb45oXTuZgtV4kEf9PPu9kYzzZBxyT60HOofUwUXk/RK8A==" + "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==", + "dev": true, + "license": "MIT" }, - "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==", + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "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==", + "node_modules/@types/node": { + "version": "14.18.63", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", + "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==", + "license": "MIT" + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", "dev": true, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "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==", + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/@octokit/auth-token": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz", - "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==", + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sizzle": { + "version": "2.3.10", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.10.tgz", + "integrity": "sha512-TC0dmN0K8YcWEAEfiPi5gJP14eJe30TTGjkvek3iM/1NdHHsdCA/Td6GvNndMOo/iSnIsZ4HuuhrYPDAmbxzww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/tmp": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz", + "integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/vinyl": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.12.tgz", + "integrity": "sha512-Sr2fYMBUVGYq8kj3UthXFAu5UN6ZW+rYr4NACjZQJvHvj+c8lYv0CahmZ2P/r7iUkN44gGUBwqxZkrKXYPb7cw==", "dev": true, + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3" + "@types/expect": "^1.20.4", + "@types/node": "*" } }, - "node_modules/@octokit/core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz", - "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==", + "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": { - "@octokit/auth-token": "^2.4.4", - "@octokit/graphql": "^4.5.8", - "@octokit/request": "^5.6.3", - "@octokit/request-error": "^2.0.5", - "@octokit/types": "^6.0.3", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" + "@types/node": "*" } }, - "node_modules/@octokit/endpoint": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz", - "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==", - "dev": true, + "node_modules/@uiw/codemirror-theme-material": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.25.3.tgz", + "integrity": "sha512-8R0t7KH640coPOsen9OlFqv5U60c3SEEvabl0YiOahcAMrClg1H7axXRdToPl4as9QPRoOw74YCj7weIJUEbZA==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.0.3", - "is-plain-object": "^5.0.0", - "universal-user-agent": "^6.0.0" + "@uiw/codemirror-themes": "4.25.3" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" } }, - "node_modules/@octokit/graphql": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz", - "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==", - "dev": true, - "dependencies": { - "@octokit/request": "^5.6.0", - "@octokit/types": "^6.0.3", - "universal-user-agent": "^6.0.0" - } - }, - "node_modules/@octokit/openapi-types": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-11.2.0.tgz", - "integrity": "sha512-PBsVO+15KSlGmiI8QAzaqvsNlZlrDlyAJYcrXBCvVUxCp7VnXjkwPoFHgjEJXx3WF9BAwkA6nfCUA7i9sODzKA==", - "dev": true - }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "2.17.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.17.0.tgz", - "integrity": "sha512-tzMbrbnam2Mt4AhuyCHvpRkS0oZ5MvwwcQPYGtMv4tUa5kkzG58SVB0fcsLulOZQeRnOgdkZWkRUiyBlh0Bkyw==", - "dev": true, + "node_modules/@uiw/codemirror-theme-solarized": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-solarized/-/codemirror-theme-solarized-4.25.3.tgz", + "integrity": "sha512-vbuOia4nc3J3gWiIQrh3EYWIjNEjO7alUCzpb4V21W97EtFTmh/xSLtjPRxTfZMho95Q6kd+GE1HkmbO8Jxh8g==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.34.0" + "@uiw/codemirror-themes": "4.25.3" }, - "peerDependencies": { - "@octokit/core": ">=2" - } - }, - "node_modules/@octokit/plugin-request-log": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz", - "integrity": "sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==", - "dev": true, - "peerDependencies": { - "@octokit/core": ">=3" + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "5.13.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.13.0.tgz", - "integrity": "sha512-uJjMTkN1KaOIgNtUPMtIXDOjx6dGYysdIFhgA52x4xSadQCz3b/zJexvITDVpANnfKPW/+E0xkOvLntqMYpviA==", - "dev": true, + "node_modules/@uiw/codemirror-themes": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.25.3.tgz", + "integrity": "sha512-k7/B7Vf4jU/WcdewgJWP9tMFxbjB6UpUymZ3fx/TsbGwt2JXAouw0uyqCn1RlYBfr7YQnvEs3Ju9ECkd2sKzdg==", + "license": "MIT", "dependencies": { - "@octokit/types": "^6.34.0", - "deprecation": "^2.3.1" + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" + }, + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" }, "peerDependencies": { - "@octokit/core": ">=3" + "@codemirror/language": ">=6.0.0", + "@codemirror/state": ">=6.0.0", + "@codemirror/view": ">=6.0.0" } }, - "node_modules/@octokit/request": { - "version": "5.6.3", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz", - "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==", - "dev": true, + "node_modules/@vaadin/vaadin-button": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-button/-/vaadin-button-2.4.0.tgz", + "integrity": "sha512-C94F07OOb5Ciq2BY4CklIQG+WJFA6QoTFDQl8JJloJgPI12b9kmyP8uRgfq4VAHHusqKqIvA8AB6VZuGg5lagg==", + "license": "Apache-2.0", "dependencies": { - "@octokit/endpoint": "^6.0.1", - "@octokit/request-error": "^2.1.0", - "@octokit/types": "^6.16.1", - "is-plain-object": "^5.0.0", - "node-fetch": "^2.6.7", - "universal-user-agent": "^6.0.0" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-control-state-mixin": "^2.2.1", + "@vaadin/vaadin-element-mixin": "^2.4.1", + "@vaadin/vaadin-lumo-styles": "^1.3.3", + "@vaadin/vaadin-material-styles": "^1.2.0", + "@vaadin/vaadin-themable-mixin": "^1.6.1" } }, - "node_modules/@octokit/request-error": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz", - "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==", - "dev": true, + "node_modules/@vaadin/vaadin-control-state-mixin": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-control-state-mixin/-/vaadin-control-state-mixin-2.2.6.tgz", + "integrity": "sha512-3edQSooBoHVC3RexL6hi3/26HMGvG1jlxLq6ffH9c+GapuZ9zh6E2KyZa/Sz1jmLZwfZII7exgwkHhEYUZZrJA==", + "license": "Apache-2.0", "dependencies": { - "@octokit/types": "^6.0.3", - "deprecation": "^2.0.0", - "once": "^1.4.0" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@octokit/rest": { - "version": "18.12.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-18.12.0.tgz", - "integrity": "sha512-gDPiOHlyGavxr72y0guQEhLsemgVjwRePayJ+FcKc2SJqKUbxbkvf5kAZEWA/MKvsfYlQAMVzNJE3ezQcxMJ2Q==", - "dev": true, - "dependencies": { - "@octokit/core": "^3.5.1", - "@octokit/plugin-paginate-rest": "^2.16.8", - "@octokit/plugin-request-log": "^1.0.4", - "@octokit/plugin-rest-endpoint-methods": "^5.12.0" - } + "node_modules/@vaadin/vaadin-development-mode-detector": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.7.tgz", + "integrity": "sha512-9FhVhr0ynSR3X2ao+vaIEttcNU5XfzCbxtmYOV8uIRnUCtNgbvMOIcyGBvntsX9I5kvIP2dV3cFAOG9SILJzEA==", + "license": "Apache-2.0" }, - "node_modules/@octokit/types": { - "version": "6.34.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.34.0.tgz", - "integrity": "sha512-s1zLBjWhdEI2zwaoSgyOFoKSl109CUcVBCc7biPJ3aAf6LGLU6szDvi31JPU7bxfla2lqfhjbbg/5DdFNxOwHw==", - "dev": true, + "node_modules/@vaadin/vaadin-element-mixin": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-element-mixin/-/vaadin-element-mixin-2.4.2.tgz", + "integrity": "sha512-VSDVK0XUsFe/RohpwSzQwgqb2Pwpok6sDNhIDS4CARr3HPhq2voMzT/FowFbkEy0J1hFtN/ZfC7tkv3kdEKKIQ==", + "license": "Apache-2.0", "dependencies": { - "@octokit/openapi-types": "^11.2.0" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-development-mode-detector": "^2.0.0", + "@vaadin/vaadin-usage-statistics": "^2.1.0" } }, - "node_modules/@open-wc/building-utils": { - "version": "2.18.4", - "resolved": "https://registry.npmjs.org/@open-wc/building-utils/-/building-utils-2.18.4.tgz", - "integrity": "sha512-wjNp9oE1SFsiBEqaI67ff60KHDpDbGMNF+82pvCHe412SFY4q8DNy8A+hesj1nZsuZHH1/olDfzBDbYKAnmgMg==", - "dev": true, + "node_modules/@vaadin/vaadin-item": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-item/-/vaadin-item-2.3.0.tgz", + "integrity": "sha512-hG1MQ8cLaFlsoqSZFm8bqXrHxMry6vtkJrpiXArxpaZXMwPkJnfrUT3D6Qm/NG/rZHvOzZa5U/1k5+dyledlHA==", + "license": "Apache-2.0", "dependencies": { - "@babel/core": "^7.11.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@webcomponents/shadycss": "^1.10.2", - "@webcomponents/webcomponentsjs": "^2.5.0", - "arrify": "^2.0.1", - "browserslist": "^4.16.0", - "chokidar": "^3.4.3", - "clean-css": "^4.2.3", - "clone": "^2.1.2", - "core-js-bundle": "^3.8.1", - "deepmerge": "^4.2.2", - "es-module-shims": "^0.4.7", - "html-minifier-terser": "^5.1.1", - "lru-cache": "^5.1.1", - "minimatch": "^3.0.4", - "parse5": "^5.1.1", - "path-is-inside": "^1.0.2", - "regenerator-runtime": "^0.13.7", - "resolve": "^1.19.0", - "rimraf": "^3.0.2", - "shady-css-scoped-element": "^0.0.2", - "systemjs": "^6.8.3", - "terser": "^4.6.7", - "valid-url": "^1.0.9", - "whatwg-fetch": "^3.5.0", - "whatwg-url": "^7.1.0" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-element-mixin": "^2.4.1", + "@vaadin/vaadin-lumo-styles": "^1.1.0", + "@vaadin/vaadin-material-styles": "^1.1.0", + "@vaadin/vaadin-themable-mixin": "^1.6.1" } }, - "node_modules/@open-wc/building-utils/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "node_modules/@vaadin/vaadin-list-mixin": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-list-mixin/-/vaadin-list-mixin-2.5.3.tgz", + "integrity": "sha512-IMbtb2i8IJTE9+Krm33QdtV+SgouJnnf3VAdZGenIPiKef1kypeYBeECVG63PftTTApI8pR8U0zr1kWFi+H/tw==", + "license": "Apache-2.0", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@open-wc/building-utils/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-element-mixin": "^2.4.1" } }, - "node_modules/@open-wc/building-utils/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, + "node_modules/@vaadin/vaadin-lumo-styles": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-1.6.1.tgz", + "integrity": "sha512-Yh9ZcekpY7byXP1QJnfx94rVvK71xHBEspsVV7LL7YMvqXU4EAYuzQGYsljryV4PGS9PFPD6sqbGqhEkIhHPnQ==", + "license": "Apache-2.0", "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" + "@polymer/iron-icon": "^3.0.0", + "@polymer/iron-iconset-svg": "^3.0.0", + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@open-wc/building-utils/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "node_modules/@vaadin/vaadin-material-styles": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-1.3.2.tgz", + "integrity": "sha512-EFrvGScoxhLNrPnWtT2Ia77whjF2TD4jrcyeh1jv9joCA2n5SUba+4XJciVSGmopqqQato6lwRnZSvMLJX7cyw==", + "license": "Apache-2.0", "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" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "@polymer/polymer": "^3.0.0" } }, - "node_modules/@open-wc/building-utils/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, + "node_modules/@vaadin/vaadin-progress-bar": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-progress-bar/-/vaadin-progress-bar-1.3.0.tgz", + "integrity": "sha512-kPkG2M99UHHJVMX8TNN++KdU/rLTsDuDTNLUypcNVWDGDo0oHOY2P29yqwu8x6rGM3bIzgyQIgNSukKmIAjYcQ==", + "license": "Apache-2.0", "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@open-wc/building-utils/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-element-mixin": "^2.4.1", + "@vaadin/vaadin-lumo-styles": "^1.1.0", + "@vaadin/vaadin-material-styles": "^1.1.0", + "@vaadin/vaadin-themable-mixin": "^1.6.1" } }, - "node_modules/@open-wc/building-utils/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "node_modules/@vaadin/vaadin-tabs": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-tabs/-/vaadin-tabs-3.2.0.tgz", + "integrity": "sha512-Uwn6/Ys8lmc+ChVBRF8VhLWOoSu9JQ2yVFlvOiWygAgTEhTAWcKe9CkiE7SivFGJ43bNr/aW9pf35ft0jjDU5A==", + "license": "Apache-2.0", "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@open-wc/building-utils/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==", - "dev": true, - "engines": { - "node": ">=0.12.0" + "@polymer/iron-resizable-behavior": "^3.0.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-element-mixin": "^2.4.1", + "@vaadin/vaadin-item": "^2.3.0", + "@vaadin/vaadin-list-mixin": "^2.5.0", + "@vaadin/vaadin-lumo-styles": "^1.1.0", + "@vaadin/vaadin-material-styles": "^1.1.0", + "@vaadin/vaadin-themable-mixin": "^1.6.1" } }, - "node_modules/@open-wc/building-utils/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==", - "dev": true, + "node_modules/@vaadin/vaadin-themable-mixin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-1.6.2.tgz", + "integrity": "sha512-PZZOZnke3KUlZsDrRVbWxAGEeFBPRyRayNRCvip0XnQK+Zs3cLuRgdgbdro3Ir9LZ3Izsw6HqA6XNMKffEP67A==", + "license": "Apache-2.0", "dependencies": { - "yallist": "^3.0.2" + "@polymer/polymer": "^3.0.0", + "lit-element": "^2.0.0" } }, - "node_modules/@open-wc/building-utils/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "node_modules/@open-wc/building-utils/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, + "node_modules/@vaadin/vaadin-upload": { + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-upload/-/vaadin-upload-4.4.4.tgz", + "integrity": "sha512-H2gnvaNeGSW/y4mCo5+bqQ3w9hf6HGGLJe7mdgg07CWQjco5ArZj21vaVwHbKJiyk+cRYGh2fbBQEctILdRovQ==", + "license": "Apache-2.0", "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@open-wc/building-utils/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@open-wc/building-utils/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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@open-wc/building-utils/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/@open-wc/building-utils/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/@open-wc/building-utils/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/@open-wc/building-utils/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/@open-wc/chai-dom-equals": { - "version": "0.12.36", - "resolved": "https://registry.npmjs.org/@open-wc/chai-dom-equals/-/chai-dom-equals-0.12.36.tgz", - "integrity": "sha512-Gt1fa37h4rtWPQGETSU4n1L678NmMi9KwHM1sH+JCGcz45rs8DBPx7MUVeGZ+HxRlbEI5t9LU2RGGv6xT2OlyA==", - "dev": true, - "dependencies": { - "@open-wc/semantic-dom-diff": "^0.13.16", - "@types/chai": "^4.1.7" - } - }, - "node_modules/@open-wc/chai-dom-equals/node_modules/@open-wc/semantic-dom-diff": { - "version": "0.13.21", - "resolved": "https://registry.npmjs.org/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.13.21.tgz", - "integrity": "sha512-BONpjHcGX2zFa9mfnwBCLEmlDsOHzT+j6Qt1yfK3MzFXFtAykfzFjAgaxPetu0YbBlCfXuMlfxI4vlRGCGMvFg==", - "dev": true - }, - "node_modules/@open-wc/dedupe-mixin": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.3.0.tgz", - "integrity": "sha512-UfdK1MPnR6T7f3svzzYBfu3qBkkZ/KsPhcpc3JYhsUY4hbpwNF9wEQtD4Z+/mRqMTJrKg++YSxIxE0FBhY3RIw==", - "dev": true - }, - "node_modules/@open-wc/eslint-config": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@open-wc/eslint-config/-/eslint-config-4.3.0.tgz", - "integrity": "sha512-kCxFWQ1AR4meTmWJGnK36LJYqDJeFGjlj6n4vLjAW3/c1VUyYQKL90vrNKy/OHS9kTjc9dcH5D64myAbNx6r1w==", - "dev": true, - "dependencies": { - "eslint": "^7.6.0", - "eslint-config-airbnb-base": "^14.0.0", - "eslint-plugin-html": "^6.0.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-lit": "^1.2.0", - "eslint-plugin-lit-a11y": "^1.0.1", - "eslint-plugin-no-only-tests": "^2.4.0", - "eslint-plugin-wc": "^1.2.0" - }, - "peerDependencies": { - "@babel/eslint-plugin": "^7.6.0", - "eslint-plugin-html": "^6.0.0", - "eslint-plugin-import": "^2.18.2", - "eslint-plugin-lit": "^1.3.0", - "eslint-plugin-lit-a11y": "^1.0.1", - "eslint-plugin-no-only-tests": "^2.4.0", - "eslint-plugin-wc": "^1.2.0" - } - }, - "node_modules/@open-wc/scoped-elements": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@open-wc/scoped-elements/-/scoped-elements-2.1.1.tgz", - "integrity": "sha512-qQAtVIK2H1oUIM2oSrCBnf1+ZGHd2nIowt1tete+Dn9rNXIogAMJlUBY/R1NR9MuuJvQ1MeFjgQoDmb05TUdkw==", - "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.0.0", - "@open-wc/dedupe-mixin": "^1.3.0" - } - }, - "node_modules/@open-wc/semantic-dom-diff": { - "version": "0.19.6", - "resolved": "https://registry.npmjs.org/@open-wc/semantic-dom-diff/-/semantic-dom-diff-0.19.6.tgz", - "integrity": "sha512-r6P097lboF7yTFeoExV/8Qcij/k7CXKG7JMFUh4L9ph9IRhQKBAc5UvDXIAHYdVhIFvNblyghjJo5c+quCgm3g==", - "dev": true, - "dependencies": { - "@types/chai": "^4.3.1", - "@web/test-runner-commands": "^0.6.1" - } - }, - "node_modules/@open-wc/testing": { - "version": "3.0.0-next.5", - "resolved": "https://registry.npmjs.org/@open-wc/testing/-/testing-3.0.0-next.5.tgz", - "integrity": "sha512-n2NrCGql3daWKOuyvdwKqdnm2ArOch+U7yIuvLZGTwtlMXlvZjOAln3CKZCWEmN5lXcgIAb5czeY7CzOmP8QWg==", - "dev": true, - "dependencies": { - "@esm-bundle/chai": "^4.3.4", - "@open-wc/chai-dom-equals": "^0.12.36", - "@open-wc/semantic-dom-diff": "^0.19.5-next.2", - "@open-wc/testing-helpers": "^2.0.0-next.2", - "@types/chai": "^4.2.11", - "@types/chai-dom": "^0.0.9", - "@types/sinon-chai": "^3.2.3", - "chai-a11y-axe": "^1.3.2-next.0" - } - }, - "node_modules/@open-wc/testing-helpers": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@open-wc/testing-helpers/-/testing-helpers-2.1.2.tgz", - "integrity": "sha512-NEdsV47DnOWaw3Wpp85p4qZ6bdubtGPdlTiblk8vSf2HJ2sR4b3ckyRWzsj/k+pcxrDGt8z0Awz71p+048Rrfg==", - "dev": true, - "dependencies": { - "@open-wc/scoped-elements": "^2.0.1", - "lit": "^2.0.0", - "lit-html": "^2.0.0" - } - }, - "node_modules/@open-wc/testing-helpers/node_modules/lit-html": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.2.3.tgz", - "integrity": "sha512-vI4j3eWwtQaR8q/O63juZVliBIFMio716X719/lSsGH4UWPy2/7Qf377jsNs4cx3gCHgIbx8yxFgXFQ/igZyXQ==", - "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2" - } - }, - "node_modules/@orchidjs/sifter": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@orchidjs/sifter/-/sifter-1.0.3.tgz", - "integrity": "sha512-zCZbwKegHytfsPm8Amcfh7v/4vHqTAaOu6xFswBYcn8nznBOuseu6COB2ON7ez0tFV0mKL0nRNnCiZZA+lU9/g==", - "dependencies": { - "@orchidjs/unicode-variants": "^1.0.4" - } - }, - "node_modules/@orchidjs/unicode-variants": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@orchidjs/unicode-variants/-/unicode-variants-1.0.4.tgz", - "integrity": "sha512-NvVBRnZNE+dugiXERFsET1JlKZfM5lJDEpSMilKW4bToYJ7pxf0Zne78xyXB2ny2c2aHfJ6WLnz1AaTNHAmQeQ==" - }, - "node_modules/@picocss/pico": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-2.0.6.tgz", - "integrity": "sha512-/d8qsykowelD6g8k8JYgmCagOIulCPHMEc2NC4u7OjmpQLmtSetLhEbt0j1n3fPNJVcrT84dRp0RfJBn3wJROA==", - "engines": { - "node": ">=18.19.0" - } - }, - "node_modules/@polymer/app-layout": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@polymer/app-layout/-/app-layout-3.1.0.tgz", - "integrity": "sha512-+jf5/TtUDj/la9Vi59ooGNjnTN8JTkyIUK8gxAms0N3MmyeqrmcNLlJKDVyE6IIGKz0WfFeGKqKtmtTLHrZIlg==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-media-query": "^3.0.0-pre.26", - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/iron-scroll-target-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/font-roboto": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@polymer/font-roboto/-/font-roboto-3.0.2.tgz", - "integrity": "sha512-tx5TauYSmzsIvmSqepUPDYbs4/Ejz2XbZ1IkD7JEGqkdNUJlh+9KU85G56Tfdk/xjEZ8zorFfN09OSwiMrIQWA==" - }, - "node_modules/@polymer/iron-a11y-announcer": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-announcer/-/iron-a11y-announcer-3.2.0.tgz", - "integrity": "sha512-We+hyaFHcg7Ke8ovsoxUpYEXFIJLHxMCDaLehTB4dELS+C+K0zMnGSiqQvb/YzGS+nSYpAfkQIyg1msOCdHMtA==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-a11y-keys-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-a11y-keys-behavior/-/iron-a11y-keys-behavior-3.0.1.tgz", - "integrity": "sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-ajax": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-ajax/-/iron-ajax-3.0.1.tgz", - "integrity": "sha512-7+TPEAfWsRdhj1Y8UeF1759ktpVu+c3sG16rJiUC3wF9+woQ9xI1zUm2d59i7Yc3aDEJrR/Q8Y262KlOvyGVNg==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-autogrow-textarea": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@polymer/iron-autogrow-textarea/-/iron-autogrow-textarea-3.0.3.tgz", - "integrity": "sha512-5r0VkWrIlm0JIp5E5wlnvkw7slK72lFRZXncmrsLZF+6n1dg2rI8jt7xpFzSmUWrqpcyXwyKaGaDvUjl3j4JLA==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-behaviors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-behaviors/-/iron-behaviors-3.0.1.tgz", - "integrity": "sha512-IMEwcv1lhf1HSQxuyWOUIL0lOBwmeaoSTpgCJeP9IBYnuB1SPQngmfRuHKgK6/m9LQ9F9miC7p3HeQQUdKAE0w==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-checked-element-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-checked-element-behavior/-/iron-checked-element-behavior-3.0.1.tgz", - "integrity": "sha512-aDr0cbCNVq49q+pOqa6CZutFh+wWpwPMLpEth9swx+GkAj+gCURhuQkaUYhIo5f2egDbEioR1aeHMnPlU9dQZA==", - "dependencies": { - "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", - "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-collapse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-collapse/-/iron-collapse-3.0.1.tgz", - "integrity": "sha512-yg6q5ZyckQR9VL9VmLrSTkSFXWy9AcJC8KtnD5cg0EHRPbakE8I9S/gVAgeP4nMWV2a/BjLLC4IBygcCMDhAGw==", - "dependencies": { - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-dropdown": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-dropdown/-/iron-dropdown-3.0.1.tgz", - "integrity": "sha512-22yLhepfcKjuQMfFmRHi/9MPKTqkzgRrmWWW0P5uqK++xle53k2QBO5VYUAYiCN3ZcxIi9lEhZ9YWGeQj2JBig==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", - "@polymer/neon-animation": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-fit-behavior": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@polymer/iron-fit-behavior/-/iron-fit-behavior-3.1.0.tgz", - "integrity": "sha512-ABcgIYqrjhmUT8tiuolqeGttF/8pd3sEymUDrO1vXbZu4FWIvoLNndrMDFvs++AGd12Mjf5pYy84NJc6dB8Vig==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-flex-layout": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-flex-layout/-/iron-flex-layout-3.0.1.tgz", - "integrity": "sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-form": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-form/-/iron-form-3.0.1.tgz", - "integrity": "sha512-JwSQXHjYALsytCeBkXlY8aRwqgZuYIqzOk3iHuugb1RXOdZ7MZHyJhMDVBbscHjxqPKu/KaVzAjrcfwNNafzEA==", - "dependencies": { - "@polymer/iron-ajax": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-form-element-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-form-element-behavior/-/iron-form-element-behavior-3.0.1.tgz", - "integrity": "sha512-G/e2KXyL5AY7mMjmomHkGpgS0uAf4ovNpKhkuUTRnMuMJuf589bKqE85KN4ovE1Tzhv2hJoh/igyD6ekHiYU1A==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-icon": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-icon/-/iron-icon-3.0.1.tgz", - "integrity": "sha512-QLPwirk+UPZNaLnMew9VludXA4CWUCenRewgEcGYwdzVgDPCDbXxy6vRJjmweZobMQv/oVLppT2JZtJFnPxX6g==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-meta": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-icons": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-icons/-/iron-icons-3.0.1.tgz", - "integrity": "sha512-xtEI8erH2GIBiF3QxEMyW81XuVjguu6Le5WjEEpX67qd9z7jjmc4T/ke3zRUlnDydex9p8ytcwVpMIKcyvjYAQ==", - "dependencies": { - "@polymer/iron-icon": "^3.0.0-pre.26", - "@polymer/iron-iconset-svg": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-iconset": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-iconset/-/iron-iconset-3.0.1.tgz", - "integrity": "sha512-9ByfHE8qWTYibmX/RwUvsZrVhnEdbdQMh/It6OSlfbjV/RRqWA42Qaut5F+mdA5MmBUjCdTsggubehcbDOdwhA==", - "dependencies": { - "@polymer/iron-meta": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-iconset-svg": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-iconset-svg/-/iron-iconset-svg-3.0.1.tgz", - "integrity": "sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw==", - "dependencies": { - "@polymer/iron-meta": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-image": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@polymer/iron-image/-/iron-image-3.0.2.tgz", - "integrity": "sha512-VyYtnewGozDb5sUeoLR1OvKzlt5WAL6b8Od7fPpio5oYL+9t061/nTV8+ZMrpMgF2WgB0zqM/3K53o3pbK5v8Q==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-input": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-input/-/iron-input-3.0.1.tgz", - "integrity": "sha512-WLx13kEcbH9GKbj9+pWR6pbJkA5kxn3796ynx6eQd2rueMyUfVTR3GzOvadBKsciUuIuzrxpBWZ2+3UcueVUQQ==", - "dependencies": { - "@polymer/iron-a11y-announcer": "^3.0.0-pre.26", - "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-label": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-label/-/iron-label-3.0.1.tgz", - "integrity": "sha512-MkIZ1WfOy10pnIxRwTVPfsoDZYlqMkUp0hmimMj0pGRHmrc9n5phuJUY1pC+S7WoKP1/98iH2qnXQukPGTzoVA==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-media-query": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-media-query/-/iron-media-query-3.0.1.tgz", - "integrity": "sha512-czUX1pm1zfmfcZtq5J57XFkcobBv08Y50exp0/3v8Bos5VL/jv2tU0RwiTfDBxUMhjicGbgwEBFQPY2V5DMzyw==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-menu-behavior": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@polymer/iron-menu-behavior/-/iron-menu-behavior-3.0.2.tgz", - "integrity": "sha512-8dpASkFNBIkxAJWsFLWIO1M7tKM0+wKs3PqdeF/dDdBciwoaaFgC2K1XCZFZnbe2t9/nJgemXxVugGZAWpYCGg==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-selector": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-meta": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-meta/-/iron-meta-3.0.1.tgz", - "integrity": "sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-overlay-behavior": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@polymer/iron-overlay-behavior/-/iron-overlay-behavior-3.0.3.tgz", - "integrity": "sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-fit-behavior": "^3.0.0-pre.26", - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-pages": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-pages/-/iron-pages-3.0.1.tgz", - "integrity": "sha512-PQe8S1JKHPcsIvFOaQP+9+AXmqUIL9fPqC6xT63OAZQxYCeZJDKgT9GKBx+VRryYBUlj2FLEXkUVpG+PTotdjg==", - "dependencies": { - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/iron-selector": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-range-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-range-behavior/-/iron-range-behavior-3.0.1.tgz", - "integrity": "sha512-+jtL9v45M/T1RJleWyQaNH84S9/mIIR+AjNbYIttbKGp1eG+98j8MDWe7LXNtg79V2LQnE/+VS82cBeELyGVeg==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-resizable-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-resizable-behavior/-/iron-resizable-behavior-3.0.1.tgz", - "integrity": "sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-scroll-target-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-scroll-target-behavior/-/iron-scroll-target-behavior-3.0.1.tgz", - "integrity": "sha512-xg1WanG25BIkQE8rhuReqY9zx1K5M7F+YAIYpswEp5eyDIaZ1Y3vUmVeQ3KG+hiSugzI1M752azXN7kvyhOBcQ==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-selector": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-selector/-/iron-selector-3.0.1.tgz", - "integrity": "sha512-sBVk2uas6prW0glUe2xEJJYlvxmYzM40Au9OKbfDK2Qekou/fLKcBRyIYI39kuI8zWRaip8f3CI8qXcUHnKb1A==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/iron-validatable-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/iron-validatable-behavior/-/iron-validatable-behavior-3.0.1.tgz", - "integrity": "sha512-wwpYh6wOa4fNI+jH5EYKC7TVPYQ2OfgQqocWat7GsNWcsblKYhLYbwsvEY5nO0n2xKqNfZzDLrUom5INJN7msQ==", - "dependencies": { - "@polymer/iron-meta": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/neon-animation": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/neon-animation/-/neon-animation-3.0.1.tgz", - "integrity": "sha512-cDDc0llpVCe0ATbDS3clDthI54Bc8YwZIeTGGmBJleKOvbRTUC5+ssJmRL+VwVh+VM5FlnQlx760ppftY3uprg==", - "dependencies": { - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/iron-selector": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-behaviors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-behaviors/-/paper-behaviors-3.0.1.tgz", - "integrity": "sha512-6knhj69fPJejv8qR0kCSUY+Q0XjaUf0OSnkjRjmTJPAwSrRYtgqE+l6P1FfA+py1X/cUjgne9EF5rMZAKJIg1g==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", - "@polymer/paper-ripple": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-button": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-button/-/paper-button-3.0.1.tgz", - "integrity": "sha512-JRNBc+Oj9EWnmyLr7FcCr8T1KAnEHPh6mosln9BUdkM+qYaYsudSICh3cjTIbnj6AuF5OJidoLkM1dlyj0j6Zg==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-card": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-card/-/paper-card-3.0.1.tgz", - "integrity": "sha512-ZYzfA4kzP9niRO22wSOBL2RS+URZNUP5XmUCwN91fYPIGO0Qbimh7d1O2HpJD4cRCZhvGYn2CJMDMVmDm35vIg==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-image": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-checkbox": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@polymer/paper-checkbox/-/paper-checkbox-3.1.0.tgz", - "integrity": "sha512-kXm6yDG1tT8if0XuJ2cc9NF+g8Ev4wG+rnf0a+Sx+O7J6fn1jcnBlYn72FlrfjVjDQZDBFmT6nynhD5PvFw8iQ==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-checked-element-behavior": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-ripple": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-dialog": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-dialog/-/paper-dialog-3.0.1.tgz", - "integrity": "sha512-KvglYbEq7AWJvui2j6WKLnOvgVMeGjovAydGrPRj7kVzCiD49Eq/hpYFJTRV5iDcalWH+mORUpw+jrFnG9+Kgw==", - "dependencies": { - "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", - "@polymer/neon-animation": "^3.0.0-pre.26", - "@polymer/paper-dialog-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-dialog-behavior": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-dialog-behavior/-/paper-dialog-behavior-3.0.1.tgz", - "integrity": "sha512-wbI4kCK8le/9MHT+IXzvHjoatxf3kd3Yn0tgozAiAwfSZ7N4Ubpi5MHrK0m9S9PeIxKokAgBYdTUrezSE5378A==", - "dependencies": { - "@polymer/iron-overlay-behavior": "^3.0.0-pre.27", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-dialog-scrollable": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-dialog-scrollable/-/paper-dialog-scrollable-3.0.1.tgz", - "integrity": "sha512-1E8B9kNdL58jUrJ/BwqJeOoNVcxNrB559z//d1V0rVHWT5bWCCZegwS3G06iFK5MjxWFbIKzleVTLrT0opiZkA==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/paper-dialog-behavior": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-dropdown-menu": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@polymer/paper-dropdown-menu/-/paper-dropdown-menu-3.2.0.tgz", - "integrity": "sha512-2ohwSHF+RLSK6kA0UkkMiMQF6EZcaEYWAA25kfisI6DWie7yozKrpQNsqvwfOEHU6DdDMIotrOtH1TM88YS8Zg==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", - "@polymer/iron-icon": "^3.0.0-pre.26", - "@polymer/iron-iconset-svg": "^3.0.0-pre.26", - "@polymer/iron-validatable-behavior": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-input": "^3.1.0", - "@polymer/paper-menu-button": "^3.1.0", - "@polymer/paper-ripple": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.3.1" - } - }, - "node_modules/@polymer/paper-fab": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-fab/-/paper-fab-3.0.1.tgz", - "integrity": "sha512-LO8ckgd72MnAtC1WiPd5CFR27WC/dEuY/lOIQuHYdEjwI62+iiV7Bmr7uoQ9wvvV71qMFdMIOyq/03KklsuAzw==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-icon": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-icon-button": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@polymer/paper-icon-button/-/paper-icon-button-3.0.2.tgz", - "integrity": "sha512-kOdxQgnKL097bggFF6PWvsBYuWg+MCcoHoTHX6bh/MuZoWFZNjrFntFqwuB4oEbpjCpfm4moA33muPJFj7CihQ==", - "dependencies": { - "@polymer/iron-icon": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-input": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-input/-/paper-input-3.2.1.tgz", - "integrity": "sha512-6ghgwQKM6mS0hAQxQqj+tkeEY1VUBqAsrasAm8V5RpNcfSWQC/hhRFxU0beGuKTAhndzezDzWYP6Zz4b8fExGg==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-autogrow-textarea": "^3.0.0-pre.26", - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-form-element-behavior": "^3.0.0-pre.26", - "@polymer/iron-input": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-item": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-item/-/paper-item-3.0.1.tgz", - "integrity": "sha512-KTk2N+GsYiI/HuubL3sxebZ6tteQbBOAp4QVLAnbjSPmwl+mJSDWk+omuadesU0bpkCwaWVs3fHuQsmXxy4pkw==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-listbox": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-listbox/-/paper-listbox-3.0.1.tgz", - "integrity": "sha512-vMLWFpYcggAPmEDBmK+96fFefacOG3GLB1EguTn8+ZkqI+328hNfw1MzHjH68rgCIIUtjmm+9qgB1Sy/MN0a/A==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-menu-behavior": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-material": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-material/-/paper-material-3.0.1.tgz", - "integrity": "sha512-FUa3iqEcwjYtUzMqIh9cEfdTJE8ZtRasAzxVbck5GChthA/T2HwnhjAyqzN4lusVMyafdl3rjNEwhVPK/Pmykg==", - "dependencies": { - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-menu-button": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@polymer/paper-menu-button/-/paper-menu-button-3.1.0.tgz", - "integrity": "sha512-q0G0/rvYD/FFmIBMGCQWjfXzRqwFw9+WHSYV4uOQzM1Ln8LMXSAd+2CENsbVwtMh6fmBePj15ZlU8SM2dt1WDQ==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-dropdown": "^3.0.0-pre.26", - "@polymer/iron-fit-behavior": "^3.1.0", - "@polymer/neon-animation": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-progress": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-progress/-/paper-progress-3.0.1.tgz", - "integrity": "sha512-5nguG+tmnyoaWKVNG8Smtno2uLSPBgEsT3f20JY8yJTjUBYWaqa8E3l5RLkTRXgA4x9OnvLb8/CdlQWXQIogBg==", - "dependencies": { - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-range-behavior": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-ripple": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@polymer/paper-ripple/-/paper-ripple-3.0.2.tgz", - "integrity": "sha512-DnLNvYIMsiayeICroYxx6Q6Hg1cUU8HN2sbutXazlemAlGqdq80qz3TIaVdbpbt/pvjcFGX2HtntMlPstCge8Q==", - "dependencies": { - "@polymer/iron-a11y-keys-behavior": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-styles": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-styles/-/paper-styles-3.0.1.tgz", - "integrity": "sha512-y6hmObLqlCx602TQiSBKHqjwkE7xmDiFkoxdYGaNjtv4xcysOTdVJsDR/R9UHwIaxJ7gHlthMSykir1nv78++g==", - "dependencies": { - "@polymer/font-roboto": "^3.0.1", - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-tabs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@polymer/paper-tabs/-/paper-tabs-3.1.0.tgz", - "integrity": "sha512-t8G+3CiyI0R+wA077UNQXR/oG9GlsqRRO1KMsFHHjBSsYqWXghNsqxUG827wEj+PafI5u9tZ3vVt1S++Lg4B2g==", - "dependencies": { - "@polymer/iron-behaviors": "^3.0.0-pre.26", - "@polymer/iron-flex-layout": "^3.0.0-pre.26", - "@polymer/iron-icon": "^3.0.0-pre.26", - "@polymer/iron-iconset-svg": "^3.0.0-pre.26", - "@polymer/iron-menu-behavior": "^3.0.0-pre.26", - "@polymer/iron-resizable-behavior": "^3.0.0-pre.26", - "@polymer/paper-behaviors": "^3.0.0-pre.27", - "@polymer/paper-icon-button": "^3.0.0-pre.26", - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/paper-tooltip": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@polymer/paper-tooltip/-/paper-tooltip-3.0.1.tgz", - "integrity": "sha512-yiUk09opTEnE1lK+tb501ENb+yQBi4p++Ep0eGJAHesVYKVMPNgPphVKkIizkDaU+n0SE+zXfTsRbYyOMDYXSg==", - "dependencies": { - "@polymer/paper-styles": "^3.0.0-pre.26", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@polymer/polymer": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@polymer/polymer/-/polymer-3.4.1.tgz", - "integrity": "sha512-KPWnhDZibtqKrUz7enIPOiO4ZQoJNOuLwqrhV2MXzIt3VVnUVJVG5ORz4Z2sgO+UZ+/UZnPD0jqY+jmw/+a9mQ==", - "dependencies": { - "@webcomponents/shadycss": "^1.9.1" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.5", - "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", - "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "13.3.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-13.3.0.tgz", - "integrity": "sha512-Lus8rbUo1eEcnS4yTFKLZrVumLPY+YayBdWXgFSHYhTT2iJbMhoaaBL3xl5NCdeRytErGr8tZ0L71BMRmnlwSw==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.1.0", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^2.42.0" - } - }, - "node_modules/@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "dev": true, - "dependencies": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, - "node_modules/@semantic-release/commit-analyzer": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-8.0.1.tgz", - "integrity": "sha512-5bJma/oB7B4MtwUkZC2Bf7O1MHfi4gWe4mA+MIQ3lsEV0b422Bvl1z5HRpplDnMLHH3EXMoRdEng6Ds5wUqA3A==", - "dev": true, - "dependencies": { - "conventional-changelog-angular": "^5.0.0", - "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.7", - "debug": "^4.0.0", - "import-from": "^3.0.0", - "lodash": "^4.17.4", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@semantic-release/commit-analyzer/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@semantic-release/error": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", - "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", - "dev": true - }, - "node_modules/@semantic-release/exec": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@semantic-release/exec/-/exec-5.0.0.tgz", - "integrity": "sha512-t7LWXIvDJQbuGCy2WmMG51WyaGSLTvZBv9INvcI4S0kn+QjnnVVUMhcioIqhb0r3yqqarMzHVcABFug0q0OXjw==", - "dev": true, - "dependencies": { - "@semantic-release/error": "^2.1.0", - "aggregate-error": "^3.0.0", - "debug": "^4.0.0", - "execa": "^4.0.0", - "lodash": "^4.17.4", - "parse-json": "^5.0.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" - } - }, - "node_modules/@semantic-release/exec/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@semantic-release/exec/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@semantic-release/exec/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, - "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" - } - }, - "node_modules/@semantic-release/git": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/@semantic-release/git/-/git-9.0.1.tgz", - "integrity": "sha512-75P03s9v0xfrH9ffhDVWRIX0fgWBvJMmXhUU0rMTKYz47oMXU5O95M/ocgIKnVJlWZYoC+LpIe4Ye6ev8CrlUQ==", - "dev": true, - "dependencies": { - "@semantic-release/error": "^2.1.0", - "aggregate-error": "^3.0.0", - "debug": "^4.0.0", - "dir-glob": "^3.0.0", - "execa": "^5.0.0", - "lodash": "^4.17.4", - "micromatch": "^4.0.0", - "p-reduce": "^2.0.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" - } - }, - "node_modules/@semantic-release/git/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@semantic-release/git/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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_modules/@semantic-release/git/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, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/@semantic-release/git/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@semantic-release/github": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-7.2.3.tgz", - "integrity": "sha512-lWjIVDLal+EQBzy697ayUNN8MoBpp+jYIyW2luOdqn5XBH4d9bQGfTnjuLyzARZBHejqh932HVjiH/j4+R7VHw==", - "dev": true, - "dependencies": { - "@octokit/rest": "^18.0.0", - "@semantic-release/error": "^2.2.0", - "aggregate-error": "^3.0.0", - "bottleneck": "^2.18.1", - "debug": "^4.0.0", - "dir-glob": "^3.0.0", - "fs-extra": "^10.0.0", - "globby": "^11.0.0", - "http-proxy-agent": "^4.0.0", - "https-proxy-agent": "^5.0.0", - "issue-parser": "^6.0.0", - "lodash": "^4.17.4", - "mime": "^2.4.3", - "p-filter": "^2.0.0", - "p-retry": "^4.0.0", - "url-join": "^4.0.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" - } - }, - "node_modules/@semantic-release/github/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@semantic-release/github/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@semantic-release/github/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@semantic-release/npm": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-7.1.3.tgz", - "integrity": "sha512-x52kQ/jR09WjuWdaTEHgQCvZYMOTx68WnS+TZ4fya5ZAJw4oRtJETtrvUw10FdfM28d/keInQdc66R1Gw5+OEQ==", - "dev": true, - "dependencies": { - "@semantic-release/error": "^2.2.0", - "aggregate-error": "^3.0.0", - "execa": "^5.0.0", - "fs-extra": "^10.0.0", - "lodash": "^4.17.15", - "nerf-dart": "^1.0.0", - "normalize-url": "^6.0.0", - "npm": "^7.0.0", - "rc": "^1.2.8", - "read-pkg": "^5.0.0", - "registry-auth-token": "^4.0.0", - "semver": "^7.1.2", - "tempy": "^1.0.0" - }, - "engines": { - "node": ">=10.19" - }, - "peerDependencies": { - "semantic-release": ">=16.0.0 <18.0.0" - } - }, - "node_modules/@semantic-release/npm/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "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_modules/@semantic-release/npm/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, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/@semantic-release/npm/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, - "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" - } - }, - "node_modules/@semantic-release/npm/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/npm/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@semantic-release/npm/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-9.0.3.tgz", - "integrity": "sha512-hMZyddr0u99OvM2SxVOIelHzly+PP3sYtJ8XOLHdMp8mrluN5/lpeTnIO27oeCYdupY/ndoGfvrqDjHqkSyhVg==", - "dev": true, - "dependencies": { - "conventional-changelog-angular": "^5.0.0", - "conventional-changelog-writer": "^4.0.0", - "conventional-commits-filter": "^2.0.0", - "conventional-commits-parser": "^3.0.0", - "debug": "^4.0.0", - "get-stream": "^6.0.0", - "import-from": "^3.0.0", - "into-stream": "^6.0.0", - "lodash": "^4.17.4", - "read-pkg-up": "^7.0.0" - }, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "semantic-release": ">=15.8.0 <18.0.0" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@semantic-release/release-notes-generator/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/@semantic-release/release-notes-generator/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, - "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" - } - }, - "node_modules/@semantic-release/release-notes-generator/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@semantic-release/release-notes-generator/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@teipublisher/pb-components": { - "version": "2.12.10", - "resolved": "https://registry.npmjs.org/@teipublisher/pb-components/-/pb-components-2.12.10.tgz", - "integrity": "sha512-UPqq6rqiE+xbDFVdXaptU4r61i3YP/q1H00pV0sTie43LoX4AtmqWbGMtNk0Kcs5Pd+xiMAQUSLxIO3GNP4SLQ==", - "dependencies": { - "@babel/runtime": "7.11.2", - "@cwmr/paper-autocomplete": "^4.0.0", - "@jinntec/jinn-codemirror": "^1.13.5", - "@lrnwebcomponents/es-global-bridge": "^7.0.4", - "@polymer/app-layout": "^3.1.0", - "@polymer/iron-ajax": "^3.0.1", - "@polymer/iron-collapse": "^3.0.1", - "@polymer/iron-form": "^3.0.1", - "@polymer/iron-icon": "^3.0.1", - "@polymer/iron-icons": "^3.0.1", - "@polymer/iron-iconset": "^3.0.1", - "@polymer/iron-label": "^3.0.1", - "@polymer/iron-pages": "^3.0.1", - "@polymer/neon-animation": "^3.0.1", - "@polymer/paper-button": "^3.0.1", - "@polymer/paper-card": "^3.0.1", - "@polymer/paper-checkbox": "^3.1.0", - "@polymer/paper-dialog": "^3.0.1", - "@polymer/paper-dialog-scrollable": "^3.0.1", - "@polymer/paper-dropdown-menu": "^3.1.0", - "@polymer/paper-fab": "^3.0.1", - "@polymer/paper-icon-button": "^3.0.2", - "@polymer/paper-input": "^3.2.1", - "@polymer/paper-item": "^3.0.1", - "@polymer/paper-listbox": "^3.0.1", - "@polymer/paper-menu-button": "^3.0.1", - "@polymer/paper-progress": "^3.0.1", - "@polymer/paper-tabs": "^3.1.0", - "@polymer/paper-tooltip": "^3.0.1", - "@vaadin/vaadin-tabs": "^3.2.0", - "@vaadin/vaadin-upload": "^4.4.0", - "@webcomponents/webcomponentsjs": "latest", - "airtable": "^0.12.2", - "animejs": "^3.2.0", - "browser-fs-access": "^0.34.1", - "construct-style-sheets-polyfill": "^3.1.0", - "gridjs": "^5.0.2", - "hotkeys-js": "^3.8.1", - "i18next": "19.8.1", - "i18next-browser-languagedetector": "^6.0.1", - "i18next-chained-backend": "^2.0.1", - "i18next-xhr-backend": "^3.2.2", - "js-cookie": "^2.2.1", - "leaflet": "^1.9.4", - "leaflet.markercluster": "^1.5.3", - "lit-element": "^2.5.1", - "lit-html": "^1.3.0", - "marked": "^1.2.0", - "pagedjs": "^0.4.3", - "path-to-regexp": "^6.2.1", - "prismjs": "^1.29.0", - "tify": "^0.28.1", - "tippy.js": "^6.3.7", - "tom-select": "^2.2.2", - "uniqolor": "^1.1.0", - "verovio": "^3.16.0", - "web-animations-js": "^2.3.2", - "web-midi-player": "^1.4.1" - } - }, - "node_modules/@teipublisher/pb-components/node_modules/lit-element": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", - "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==", - "dependencies": { - "lit-html": "^1.1.1" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/accepts": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/accepts/-/accepts-1.3.5.tgz", - "integrity": "sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/babel__code-frame": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/babel__code-frame/-/babel__code-frame-7.0.3.tgz", - "integrity": "sha512-2TN6oiwtNjOezilFVl77zwdNPwQWaDBBCCWWxyo1ctiO3vAtd7H/aB/CBJdw9+kqq3+latD0SXoedIuHySSZWw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.1.19", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", - "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.17.1", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", - "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/browserslist": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/@types/browserslist/-/browserslist-4.15.0.tgz", - "integrity": "sha512-h9LyKErRGZqMsHh9bd+FE8yCIal4S0DxKTOeui56VgVXqa66TKiuaIUxCAI7c1O0LjaUzOTcsMyOpO9GetozRA==", - "deprecated": "This is a stub types definition. browserslist provides its own type definitions, so you do not need this installed.", - "dev": true, - "dependencies": { - "browserslist": "*" - } - }, - "node_modules/@types/browserslist-useragent": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/browserslist-useragent/-/browserslist-useragent-3.0.4.tgz", - "integrity": "sha512-S/AhrluMHi8EcuxxCtTDBGr8u+XvwUfLvZdARuIS2LFZ/lHoeaeJJYCozD68GKH6wm52FbIHq4WWPF/Ec6a9qA==", - "dev": true - }, - "node_modules/@types/caniuse-api": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/caniuse-api/-/caniuse-api-3.0.2.tgz", - "integrity": "sha512-YfCDMn7R59n7GFFfwjPAM0zLJQy4UvveC32rOJBmTqJJY8uSRqM4Dc7IJj8V9unA48Qy4nj5Bj3jD6Q8VZ1Seg==", - "dev": true - }, - "node_modules/@types/chai": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.1.tgz", - "integrity": "sha512-/zPMqDkzSZ8t3VtxOa4KPq7uzzW978M9Tvh+j7GHKuo6k6GTLxPJ4J5gE5cjfJ26pnXst0N5Hax8Sr0T2Mi9zQ==", - "dev": true - }, - "node_modules/@types/chai-dom": { - "version": "0.0.9", - "resolved": "https://registry.npmjs.org/@types/chai-dom/-/chai-dom-0.0.9.tgz", - "integrity": "sha512-jj4F2NJog2/GBYsyJ8+NvhnWUBbPY4MUAKLdPJE6+568rw12GGXvj0ycUuP5nndVrnJgozmJAoMTvxvjJATXWw==", - "dev": true, - "dependencies": { - "@types/chai": "*" - } - }, - "node_modules/@types/co-body": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@types/co-body/-/co-body-6.1.0.tgz", - "integrity": "sha512-3e0q2jyDAnx/DSZi0z2H0yoZ2wt5yRDZ+P7ymcMObvq0ufWRT4tsajyO+Q1VwVWiv9PRR4W3YEjEzBjeZlhF+w==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*" - } - }, - "node_modules/@types/command-line-args": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@types/command-line-args/-/command-line-args-5.2.0.tgz", - "integrity": "sha512-UuKzKpJJ/Ief6ufIaIzr3A/0XnluX7RvFgwkV89Yzvm77wCh1kFaFmqN8XEnGcN62EuHdedQjEMb8mYxFLGPyA==", - "dev": true - }, - "node_modules/@types/command-line-usage": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/command-line-usage/-/command-line-usage-5.0.2.tgz", - "integrity": "sha512-n7RlEEJ+4x4TS7ZQddTmNSxP+zziEG0TNsMfiRIxcIVXt71ENJ9ojeXmGO3wPoTdn7pJcU2xc3CJYMktNT6DPg==", - "dev": true - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/@types/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-0mPF08jn9zYI0n0Q/Pnz7C4kThdSt+6LD4amsrYDDpgBfrVWa3TcCOxKX1zkGgYniGagRv8heN2cbh+CAn+uuQ==", - "dev": true - }, - "node_modules/@types/convert-source-map": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/convert-source-map/-/convert-source-map-1.5.2.tgz", - "integrity": "sha512-tHs++ZeXer40kCF2JpE51Hg7t4HPa18B1b1Dzy96S0eCw8QKECNMYMfwa1edK/x8yCN0r4e6ewvLcc5CsVGkdg==", - "dev": true - }, - "node_modules/@types/cookies": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@types/cookies/-/cookies-0.7.7.tgz", - "integrity": "sha512-h7BcvPUogWbKCzBR2lY4oqaZbO3jXZksexYJVFvkrFeLgbZjQkU4x8pRq6eg2MHXQhY0McQdqmmsxRWlVAHooA==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/express": "*", - "@types/keygrip": "*", - "@types/node": "*" - } - }, - "node_modules/@types/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true - }, - "node_modules/@types/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/@types/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-bsKkeSqN7HYyYntFRAmzcwx/dKW4Wa+KVMTInANlI72PWLQmOpZu96j0OqHZGArW4VQwCmJPteQlXaUDeOB0WQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/expect": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz", - "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/http-assert": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@types/http-assert/-/http-assert-1.5.3.tgz", - "integrity": "sha512-FyAOrDuQmBi8/or3ns4rwPno7/9tJTijVW6aQQjK02+kOQ8zmoNg2XJtAuQhvQcy1ASJq38wirX5//9J1EqoUA==", - "dev": true - }, - "node_modules/@types/http-errors": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-1.8.2.tgz", - "integrity": "sha512-EqX+YQxINb+MeXaIqYDASb6U6FCHbWjkj4a1CKDBks3d/QiB2+PqBLyO72vLDgAO1wUI4O+9gweRcQK11bTL/w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/keygrip": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/keygrip/-/keygrip-1.0.2.tgz", - "integrity": "sha512-GJhpTepz2udxGexqos8wgaBx4I/zWIDPh/KOGEwAqtuGDkOUJu5eFvwmdBX4AmB8Odsr+9pHCQqiAqDL/yKMKw==", - "dev": true - }, - "node_modules/@types/koa": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/@types/koa/-/koa-2.13.4.tgz", - "integrity": "sha512-dfHYMfU+z/vKtQB7NUrthdAEiSvnLebvBjwHtfFmpZmB7em2N3WVQdHgnFq+xvyVgxW5jKDmjWfLD3lw4g4uTw==", - "dev": true, - "dependencies": { - "@types/accepts": "*", - "@types/content-disposition": "*", - "@types/cookies": "*", - "@types/http-assert": "*", - "@types/http-errors": "*", - "@types/keygrip": "*", - "@types/koa-compose": "*", - "@types/node": "*" - } - }, - "node_modules/@types/koa__cors": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@types/koa__cors/-/koa__cors-3.3.0.tgz", - "integrity": "sha512-FUN8YxcBakIs+walVe3+HcNP+Bxd0SB8BJHBWkglZ5C1XQWljlKcEFDG/dPiCIqwVCUbc5X0nYDlH62uEhdHMA==", - "dev": true, - "dependencies": { - "@types/koa": "*" - } - }, - "node_modules/@types/koa-compose": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@types/koa-compose/-/koa-compose-3.2.5.tgz", - "integrity": "sha512-B8nG/OoE1ORZqCkBVsup/AKcvjdgoHnfi4pZMn5UwAPCbhk/96xyv284eBYW8JlQbQ7zDmnpFr68I/40mFoIBQ==", - "dev": true, - "dependencies": { - "@types/koa": "*" - } - }, - "node_modules/@types/koa-compress": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@types/koa-compress/-/koa-compress-2.0.9.tgz", - "integrity": "sha512-1Sa9OsbHd2N2N7gLpdIRHe8W99EZbfIR31D7Iisx16XgwZCnWUtGXzXQejhu74Y1pE/wILqBP6VL49ch/MVpZw==", - "dev": true, - "dependencies": { - "@types/koa": "*", - "@types/node": "*" - } - }, - "node_modules/@types/koa-etag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/koa-etag/-/koa-etag-3.0.0.tgz", - "integrity": "sha512-gXQUtKGEnCy0sZLG+uE3wL4mvY1CBPcb6ECjpAoD8RGYy/8ACY1B084k8LTFPIdVcmy7GD6Y4n3up3jnupofcQ==", - "dev": true, - "dependencies": { - "@types/etag": "*", - "@types/koa": "*" - } - }, - "node_modules/@types/koa-send": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@types/koa-send/-/koa-send-4.1.3.tgz", - "integrity": "sha512-daaTqPZlgjIJycSTNjKpHYuKhXYP30atFc1pBcy6HHqB9+vcymDgYTguPdx9tO4HMOqNyz6bz/zqpxt5eLR+VA==", - "dev": true, - "dependencies": { - "@types/koa": "*" - } - }, - "node_modules/@types/koa-static": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/koa-static/-/koa-static-4.0.2.tgz", - "integrity": "sha512-ns/zHg+K6XVPMuohjpOlpkR1WLa4VJ9czgUP9bxkCDn0JZBtUWbD/wKDZzPGDclkQK1bpAEScufCHOy8cbfL0w==", - "dev": true, - "dependencies": { - "@types/koa": "*", - "@types/koa-send": "*" - } - }, - "node_modules/@types/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/@types/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/mime-types": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.1.tgz", - "integrity": "sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==", - "dev": true - }, - "node_modules/@types/minimatch": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", - "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", - "dev": true - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", - "dev": true - }, - "node_modules/@types/mocha": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-8.2.3.tgz", - "integrity": "sha512-ekGvFhFgrc2zYQoX4JeZPmVzZxw6Dtllga7iGHzfbYIYkAMUx/sAFP2GdFpLff+vdHXu5fl7WX9AT+TtqYcsyw==", - "dev": true - }, - "node_modules/@types/node": { - "version": "17.0.31", - "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.31.tgz", - "integrity": "sha512-AR0x5HbXGqkEx9CadRH3EBYx/VkiUgZIhP4wvPn/+5KIsgpNoyFaRlVe0Zlx9gRtg8fA06a9tskE2MSN7TcG4Q==", - "dev": true - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", - "dev": true - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/parse5": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz", - "integrity": "sha512-SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==", - "dev": true - }, - "node_modules/@types/path-is-inside": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/path-is-inside/-/path-is-inside-1.0.0.tgz", - "integrity": "sha512-hfnXRGugz+McgX2jxyy5qz9sB21LRzlGn24zlwN2KEgoPtEvjzNRrLtUkOOebPDPZl3Rq7ywKxYvylVcEZDnEw==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sinon": { - "version": "10.0.11", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-10.0.11.tgz", - "integrity": "sha512-dmZsHlBsKUtBpHriNjlK0ndlvEh8dcb9uV9Afsbt89QIyydpC7NcR+nWlAhASfy3GHnxTl4FX/aKE7XZUt/B4g==", - "dev": true, - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinon-chai": { - "version": "3.2.8", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.8.tgz", - "integrity": "sha512-d4ImIQbT/rKMG8+AXpmcan5T2/PNeSjrYhvkwet6z0p8kzYtfgA32xzOBlbU0yqJfq+/0Ml805iFoODO0LP5/g==", - "dev": true, - "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.2.tgz", - "integrity": "sha512-9GcLXF0/v3t80caGs5p2rRfkB+a8VBGLJZVih6CNFkx8IZ994wiKKLSRs9nuFwk1HevWs/1mnUmkApGrSGsShA==", - "dev": true - }, - "node_modules/@types/trusted-types": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", - "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==", - "dev": true - }, - "node_modules/@types/vinyl": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/vinyl/-/vinyl-2.0.6.tgz", - "integrity": "sha512-ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==", - "dev": true, - "dependencies": { - "@types/expect": "^1.20.4", - "@types/node": "*" - } - }, - "node_modules/@types/whatwg-url": { - "version": "6.4.0", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-6.4.0.tgz", - "integrity": "sha512-tonhlcbQ2eho09am6RHnHOgvtDfDYINd5rgxD+2YSkKENooVCFsWizJz139MQW/PV8FfClyKrNe9ZbdHrSCxGg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "7.4.7", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-7.4.7.tgz", - "integrity": "sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", - "dev": true, - "optional": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@uiw/codemirror-theme-material": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-material/-/codemirror-theme-material-4.23.0.tgz", - "integrity": "sha512-n1S6g0fhFIu12tCO7PC6LyPk0MxS747Hmp5ZBA3+lp3NHm/47EoZTl0SHr7+Qg5PxBRc1TkHD7YyXTN7TSWOsA==", - "license": "MIT", - "dependencies": { - "@uiw/codemirror-themes": "4.23.0" - }, - "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - } - }, - "node_modules/@uiw/codemirror-theme-solarized": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-theme-solarized/-/codemirror-theme-solarized-4.23.0.tgz", - "integrity": "sha512-sHY0wzwy5ipLBAsuU73HQSFJMdIl9UCFFmjwIq5wDPbAvMw9bdsfrzABNnKAPFFWYm/pKRmAmVVQjh0Q/78LKA==", - "license": "MIT", - "dependencies": { - "@uiw/codemirror-themes": "4.23.0" - }, - "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - } - }, - "node_modules/@uiw/codemirror-themes": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/@uiw/codemirror-themes/-/codemirror-themes-4.23.0.tgz", - "integrity": "sha512-9fiji9xooZyBQozR1i6iTr56YP7j/Dr/VgsNWbqf5Szv+g+4WM1iZuiDGwNXmFMWX8gbkDzp6ASE21VCPSofWw==", - "license": "MIT", - "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" - }, - "funding": { - "url": "https://jaywcjlove.github.io/#/sponsor" - }, - "peerDependencies": { - "@codemirror/language": ">=6.0.0", - "@codemirror/state": ">=6.0.0", - "@codemirror/view": ">=6.0.0" - } - }, - "node_modules/@ungap/promise-all-settled": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz", - "integrity": "sha512-sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==", - "dev": true - }, - "node_modules/@vaadin/vaadin-button": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-button/-/vaadin-button-2.4.0.tgz", - "integrity": "sha512-C94F07OOb5Ciq2BY4CklIQG+WJFA6QoTFDQl8JJloJgPI12b9kmyP8uRgfq4VAHHusqKqIvA8AB6VZuGg5lagg==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-control-state-mixin": "^2.2.1", - "@vaadin/vaadin-element-mixin": "^2.4.1", - "@vaadin/vaadin-lumo-styles": "^1.3.3", - "@vaadin/vaadin-material-styles": "^1.2.0", - "@vaadin/vaadin-themable-mixin": "^1.6.1" - } - }, - "node_modules/@vaadin/vaadin-control-state-mixin": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-control-state-mixin/-/vaadin-control-state-mixin-2.2.6.tgz", - "integrity": "sha512-3edQSooBoHVC3RexL6hi3/26HMGvG1jlxLq6ffH9c+GapuZ9zh6E2KyZa/Sz1jmLZwfZII7exgwkHhEYUZZrJA==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@vaadin/vaadin-development-mode-detector": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-development-mode-detector/-/vaadin-development-mode-detector-2.0.5.tgz", - "integrity": "sha512-miirBQw10UHjKwRv29iZniXCo41cLg3wFotoyTeUZ2PTGIDk/fZVFr4Q4WVKZrp3D15878vz94nNQROSmPLjdg==" - }, - "node_modules/@vaadin/vaadin-element-mixin": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-element-mixin/-/vaadin-element-mixin-2.4.2.tgz", - "integrity": "sha512-VSDVK0XUsFe/RohpwSzQwgqb2Pwpok6sDNhIDS4CARr3HPhq2voMzT/FowFbkEy0J1hFtN/ZfC7tkv3kdEKKIQ==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-development-mode-detector": "^2.0.0", - "@vaadin/vaadin-usage-statistics": "^2.1.0" - } - }, - "node_modules/@vaadin/vaadin-item": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-item/-/vaadin-item-2.3.0.tgz", - "integrity": "sha512-hG1MQ8cLaFlsoqSZFm8bqXrHxMry6vtkJrpiXArxpaZXMwPkJnfrUT3D6Qm/NG/rZHvOzZa5U/1k5+dyledlHA==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-element-mixin": "^2.4.1", - "@vaadin/vaadin-lumo-styles": "^1.1.0", - "@vaadin/vaadin-material-styles": "^1.1.0", - "@vaadin/vaadin-themable-mixin": "^1.6.1" - } - }, - "node_modules/@vaadin/vaadin-list-mixin": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-list-mixin/-/vaadin-list-mixin-2.5.1.tgz", - "integrity": "sha512-XcMzQ0hJnK/AAiV+bW95nwJgmMIrXUBiSDwM+uvfurcBKqPyM4pm3sj8imh8zXSTfpN4HSjMnrLWU1ZfR330vg==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-element-mixin": "^2.4.1" - } - }, - "node_modules/@vaadin/vaadin-lumo-styles": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-1.6.1.tgz", - "integrity": "sha512-Yh9ZcekpY7byXP1QJnfx94rVvK71xHBEspsVV7LL7YMvqXU4EAYuzQGYsljryV4PGS9PFPD6sqbGqhEkIhHPnQ==", - "dependencies": { - "@polymer/iron-icon": "^3.0.0", - "@polymer/iron-iconset-svg": "^3.0.0", - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@vaadin/vaadin-material-styles": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-1.3.2.tgz", - "integrity": "sha512-EFrvGScoxhLNrPnWtT2Ia77whjF2TD4jrcyeh1jv9joCA2n5SUba+4XJciVSGmopqqQato6lwRnZSvMLJX7cyw==", - "dependencies": { - "@polymer/polymer": "^3.0.0" - } - }, - "node_modules/@vaadin/vaadin-progress-bar": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-progress-bar/-/vaadin-progress-bar-1.3.0.tgz", - "integrity": "sha512-kPkG2M99UHHJVMX8TNN++KdU/rLTsDuDTNLUypcNVWDGDo0oHOY2P29yqwu8x6rGM3bIzgyQIgNSukKmIAjYcQ==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-element-mixin": "^2.4.1", - "@vaadin/vaadin-lumo-styles": "^1.1.0", - "@vaadin/vaadin-material-styles": "^1.1.0", - "@vaadin/vaadin-themable-mixin": "^1.6.1" - } - }, - "node_modules/@vaadin/vaadin-tabs": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-tabs/-/vaadin-tabs-3.2.0.tgz", - "integrity": "sha512-Uwn6/Ys8lmc+ChVBRF8VhLWOoSu9JQ2yVFlvOiWygAgTEhTAWcKe9CkiE7SivFGJ43bNr/aW9pf35ft0jjDU5A==", - "dependencies": { - "@polymer/iron-resizable-behavior": "^3.0.0", - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-element-mixin": "^2.4.1", - "@vaadin/vaadin-item": "^2.3.0", - "@vaadin/vaadin-list-mixin": "^2.5.0", - "@vaadin/vaadin-lumo-styles": "^1.1.0", - "@vaadin/vaadin-material-styles": "^1.1.0", - "@vaadin/vaadin-themable-mixin": "^1.6.1" - } - }, - "node_modules/@vaadin/vaadin-themable-mixin": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-1.6.2.tgz", - "integrity": "sha512-PZZOZnke3KUlZsDrRVbWxAGEeFBPRyRayNRCvip0XnQK+Zs3cLuRgdgbdro3Ir9LZ3Izsw6HqA6XNMKffEP67A==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "lit-element": "^2.0.0" - } - }, - "node_modules/@vaadin/vaadin-themable-mixin/node_modules/lit-element": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", - "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==", - "dependencies": { - "lit-html": "^1.1.1" - } - }, - "node_modules/@vaadin/vaadin-upload": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-upload/-/vaadin-upload-4.4.3.tgz", - "integrity": "sha512-nG85/6QSOnkEedOnHZdpCQKDARyrwc5QWKb37T9Qo8dxLPd9cGhPfksUjFbxLtaKLuTZR/dBkUXzxSLAK9G1uA==", - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-button": "^2.4.0", - "@vaadin/vaadin-element-mixin": "^2.4.1", - "@vaadin/vaadin-lumo-styles": "^1.1.0", - "@vaadin/vaadin-material-styles": "^1.1.0", - "@vaadin/vaadin-progress-bar": "^1.3.0", - "@vaadin/vaadin-themable-mixin": "^1.6.1" - } - }, - "node_modules/@vaadin/vaadin-usage-statistics": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.2.tgz", - "integrity": "sha512-xKs1PvRfTXsG0eWWcImLXWjv7D+f1vfoIvovppv6pZ5QX8xgcxWUdNgERlOOdGt3CTuxQXukTBW3+Qfva+OXSg==", - "hasInstallScript": true, - "dependencies": { - "@vaadin/vaadin-development-mode-detector": "^2.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/@web/browser-logs": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/@web/browser-logs/-/browser-logs-0.2.5.tgz", - "integrity": "sha512-Qxo1wY/L7yILQqg0jjAaueh+tzdORXnZtxQgWH23SsTCunz9iq9FvsZa8Q5XlpjnZ3vLIsFEuEsCMqFeohJnEg==", - "dev": true, - "dependencies": { - "errorstacks": "^2.2.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/config-loader": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@web/config-loader/-/config-loader-0.1.3.tgz", - "integrity": "sha512-XVKH79pk4d3EHRhofete8eAnqto1e8mCRAqPV00KLNFzCWSe8sWmLnqKCqkPNARC6nksMaGrATnA5sPDRllMpQ==", - "dev": true, - "dependencies": { - "semver": "^7.3.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/config-loader/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@web/dev-server": { - "version": "0.1.31", - "resolved": "https://registry.npmjs.org/@web/dev-server/-/dev-server-0.1.31.tgz", - "integrity": "sha512-FGrnVwnL/pIxak1VZgOgnwcxvP90gx2LmXeU56nvZQ3CWNMAdS1rnQI3jMjMk6FwUt/wnlLk7pl6xGkm6iNwHA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/command-line-args": "^5.0.0", - "@web/config-loader": "^0.1.3", - "@web/dev-server-core": "^0.3.17", - "@web/dev-server-rollup": "^0.3.16", - "camelcase": "^6.2.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.1", - "debounce": "^1.2.0", - "deepmerge": "^4.2.2", - "ip": "^1.1.5", - "nanocolors": "^0.2.1", - "open": "^8.0.2", - "portfinder": "^1.0.28" - }, - "bin": { - "wds": "dist/bin.js", - "web-dev-server": "dist/bin.js" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/dev-server-core": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@web/dev-server-core/-/dev-server-core-0.3.17.tgz", - "integrity": "sha512-vN1dwQ8yDHGiAvCeUo9xFfjo+pFl8TW+pON7k9kfhbegrrB8CKhJDUxmHbZsyQUmjf/iX57/LhuWj1xGhRL8AA==", - "dev": true, - "dependencies": { - "@types/koa": "^2.11.6", - "@types/ws": "^7.4.0", - "@web/parse5-utils": "^1.2.0", - "chokidar": "^3.4.3", - "clone": "^2.1.2", - "es-module-lexer": "^0.9.0", - "get-stream": "^6.0.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^4.0.6", - "koa": "^2.13.0", - "koa-etag": "^4.0.0", - "koa-send": "^5.0.1", - "koa-static": "^5.0.0", - "lru-cache": "^6.0.0", - "mime-types": "^2.1.27", - "parse5": "^6.0.1", - "picomatch": "^2.2.2", - "ws": "^7.4.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/dev-server-core/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@web/dev-server-core/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/dev-server-core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/dev-server-core/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@web/dev-server-core/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/dev-server-core/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/@web/dev-server-core/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/dev-server-core/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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@web/dev-server-core/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@web/dev-server-core/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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@web/dev-server-rollup": { - "version": "0.3.17", - "resolved": "https://registry.npmjs.org/@web/dev-server-rollup/-/dev-server-rollup-0.3.17.tgz", - "integrity": "sha512-Fp8d3QmOi6ctJGAndf93pmcyPBEE7TmsIJ9xd+W+LjXzTVmH4YyOOjZAIXqf9GWjXd0CwquL/OddTZvMzC8jiQ==", - "dev": true, - "dependencies": { - "@rollup/plugin-node-resolve": "^13.0.4", - "@web/dev-server-core": "^0.3.16", - "nanocolors": "^0.2.1", - "parse5": "^6.0.1", - "rollup": "^2.66.1", - "whatwg-url": "^11.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/dev-server/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@web/parse5-utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@web/parse5-utils/-/parse5-utils-1.3.0.tgz", - "integrity": "sha512-Pgkx3ECc8EgXSlS5EyrgzSOoUbM6P8OKS471HLAyvOBcP1NCBn0to4RN/OaKASGq8qa3j+lPX9H14uA5AHEnQg==", - "dev": true, - "dependencies": { - "@types/parse5": "^6.0.1", - "parse5": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@web/test-runner": { - "version": "0.13.27", - "resolved": "https://registry.npmjs.org/@web/test-runner/-/test-runner-0.13.27.tgz", - "integrity": "sha512-yVhXK9sPJE2VQs1/KPTIeQvUxh+02OZkn+tgcr0+W8ovvrFD4ucF2X26cpeOTuD+Y67ERUi/EopIze3aelw6sg==", - "dev": true, - "dependencies": { - "@web/browser-logs": "^0.2.2", - "@web/config-loader": "^0.1.3", - "@web/dev-server": "^0.1.24", - "@web/test-runner-chrome": "^0.10.7", - "@web/test-runner-commands": "^0.6.0", - "@web/test-runner-core": "^0.10.22", - "@web/test-runner-mocha": "^0.7.5", - "camelcase": "^6.2.0", - "command-line-args": "^5.1.1", - "command-line-usage": "^6.1.1", - "convert-source-map": "^1.7.0", - "diff": "^5.0.0", - "globby": "^11.0.1", - "nanocolors": "^0.2.1", - "portfinder": "^1.0.28", - "source-map": "^0.7.3" - }, - "bin": { - "web-test-runner": "dist/bin.js", - "wtr": "dist/bin.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-chrome": { - "version": "0.10.7", - "resolved": "https://registry.npmjs.org/@web/test-runner-chrome/-/test-runner-chrome-0.10.7.tgz", - "integrity": "sha512-DKJVHhHh3e/b6/erfKOy0a4kGfZ47qMoQRgROxi9T4F9lavEY3E5/MQ7hapHFM2lBF4vDrm+EWjtBdOL8o42tw==", - "dev": true, - "dependencies": { - "@web/test-runner-core": "^0.10.20", - "@web/test-runner-coverage-v8": "^0.4.8", - "chrome-launcher": "^0.15.0", - "puppeteer-core": "^13.1.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-commands": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/@web/test-runner-commands/-/test-runner-commands-0.6.1.tgz", - "integrity": "sha512-P4aQqp0duumeGdGxQ8TwLnplkrXzpLqb47eSEEqBRS//C1H7s6VskaqEng+k0dbk+cSpEa4RuZGY/G5k8aTjTw==", - "dev": true, - "dependencies": { - "@web/test-runner-core": "^0.10.20", - "mkdirp": "^1.0.4" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-core": { - "version": "0.10.26", - "resolved": "https://registry.npmjs.org/@web/test-runner-core/-/test-runner-core-0.10.26.tgz", - "integrity": "sha512-HqfweznsH1LVdebAaqn7aMaIUwKeVdBW59f03MsURd/CNV25l0i7kIxkFF+6OTGhjiGJW5pTTzMPHND4oS6YgA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.11", - "@types/babel__code-frame": "^7.0.2", - "@types/co-body": "^6.1.0", - "@types/convert-source-map": "^1.5.1", - "@types/debounce": "^1.2.0", - "@types/istanbul-lib-coverage": "^2.0.3", - "@types/istanbul-reports": "^3.0.0", - "@web/browser-logs": "^0.2.1", - "@web/dev-server-core": "^0.3.16", - "chokidar": "^3.4.3", - "cli-cursor": "^3.1.0", - "co-body": "^6.1.0", - "convert-source-map": "^1.7.0", - "debounce": "^1.2.0", - "dependency-graph": "^0.11.0", - "globby": "^11.0.1", - "ip": "^1.1.5", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-reports": "^3.0.2", - "log-update": "^4.0.0", - "nanocolors": "^0.2.1", - "nanoid": "^3.1.25", - "open": "^8.0.2", - "picomatch": "^2.2.2", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@web/test-runner-core/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/test-runner-core/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/test-runner-core/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "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" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@web/test-runner-core/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/test-runner-core/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@web/test-runner-core/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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/@web/test-runner-core/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@web/test-runner-core/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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/@web/test-runner-coverage-v8": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/@web/test-runner-coverage-v8/-/test-runner-coverage-v8-0.4.8.tgz", - "integrity": "sha512-Ib0AscR8Xf9E/V7rf3XOVQTe4vKIbwSTupxV1xGgzj3x4RKUuMUg9FLz9EigZ5iN0mOzZKDllyRS523hbdhDtA==", - "dev": true, - "dependencies": { - "@web/test-runner-core": "^0.10.20", - "istanbul-lib-coverage": "^3.0.0", - "picomatch": "^2.2.2", - "v8-to-istanbul": "^8.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner-mocha": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/@web/test-runner-mocha/-/test-runner-mocha-0.7.5.tgz", - "integrity": "sha512-12/OBq6efPCAvJpcz3XJs2OO5nHe7GtBibZ8Il1a0QtsGpRmuJ4/m1EF0Fj9f6KHg7JdpGo18A37oE+5hXjHwg==", - "dev": true, - "dependencies": { - "@types/mocha": "^8.2.0", - "@web/test-runner-core": "^0.10.20" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/@web/test-runner/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@web/test-runner/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@webcomponents/shadycss": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.0.tgz", - "integrity": "sha512-L5O/+UPum8erOleNjKq6k58GVl3fNsEQdSOyh0EUhNmi7tHUyRuCJy1uqJiWydWcLARE5IPsMoPYMZmUGrz1JA==" - }, - "node_modules/@webcomponents/webcomponentsjs": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.6.0.tgz", - "integrity": "sha512-Moog+Smx3ORTbWwuPqoclr+uvfLnciVd6wdCaVscHPrxbmQ/IJKm3wbB7hpzJtXWjAq2l/6QMlO85aZiOdtv5Q==" - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "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==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/abortcontroller-polyfill": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.3.tgz", - "integrity": "sha512-zetDJxd89y3X99Kvo4qFx8GKlt6GsvN3UcRZHwU6iFA/0KiOmhkTVhe8oRoTBiTVPZu09x3vCra47+w8Yz1+2Q==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "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==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dev": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agent-base/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/agent-base/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/airtable": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/airtable/-/airtable-0.12.2.tgz", - "integrity": "sha512-HS3VytUBTKj8A0vPl7DDr5p/w3IOGv6RXL0fv7eczOWAtj9Xe8ri4TAiZRXoOyo+Z/COADCj+oARFenbxhmkIg==", - "dependencies": { - "@types/node": ">=8.0.0 <15", - "abort-controller": "^3.0.0", - "abortcontroller-polyfill": "^1.4.0", - "lodash": "^4.17.21", - "node-fetch": "^2.6.7" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/airtable/node_modules/@types/node": { - "version": "14.18.63", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.63.tgz", - "integrity": "sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==" - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "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" - } - }, - "node_modules/animejs": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/animejs/-/animejs-3.2.1.tgz", - "integrity": "sha512-sWno3ugFryK5nhiDm/2BKeFCpZv7vzerWUcUPyAZLDhMek3+S/p418ldZJbJXo5ZUOpfm2kP2XRO4NJcULMy9A==" - }, - "node_modules/ansi-colors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", - "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", - "dev": true, - "dependencies": { - "ansi-wrap": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-gray": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", - "integrity": "sha1-KWLPVOyXksSFEKPetSRDaGHvclE=", - "dev": true, - "dependencies": { - "ansi-wrap": "0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/ansi-wrap": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", - "integrity": "sha1-qCJQ3bABXponyoLoLqYDu/pF768=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ansicolors": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", - "dev": true - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", - "dev": true - }, - "node_modules/anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "dependencies": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - } - }, - "node_modules/anymatch/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/anymatch/node_modules/normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "dependencies": { - "remove-trailing-separator": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/append-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", - "integrity": "sha1-2CIM9GYIFSXv6lBhTz3mUU36WPE=", - "dev": true, - "dependencies": { - "buffer-equal": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "dev": true - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/argv-formatter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", - "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=", - "dev": true - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-filter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", - "integrity": "sha1-Q/3d0JHo7xGqTEXZzcGOLf8XEe4=", - "dev": true, - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", - "integrity": "sha1-Onc0X/wc814qkYJWAfnljy4kysQ=", - "dev": true, - "dependencies": { - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-back": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-3.1.0.tgz", - "integrity": "sha512-TkuxA4UCOvxuDK6NZYXCalszEzj+TLszyASooky+i742l9TqsOdYCMJJupxRic61hwquNtppB3hgcuq9SVSH1Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/array-each": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", - "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-ify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", - "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", - "dev": true - }, - "node_modules/array-includes": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.5.tgz", - "integrity": "sha512-iSDYZMMyTPkiFasVqfuAQnWAYcvO/SeBSCGKePoEthjp4LEMTe4uLc7b025o4jAZpHhihh8xPo99TNWUWWkGDQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-initial": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", - "integrity": "sha1-L6dLJnOTccOUe9enrcc74zSz15U=", - "dev": true, - "dependencies": { - "array-slice": "^1.0.0", - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-initial/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", - "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", - "dev": true, - "dependencies": { - "is-number": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-last/node_modules/is-number": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", - "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-slice": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", - "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-sort": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", - "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", - "dev": true, - "dependencies": { - "default-compare": "^1.0.0", - "get-value": "^2.0.6", - "kind-of": "^5.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.0.tgz", - "integrity": "sha512-12IUEkHsAhA4DY5s0FPgNXIdc8VRSqD9Zp78a5au9abH/SOBrsp082JOWFNTjkMozh8mqcdiKuaLGhPeYztxSw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.2", - "es-shim-unscopables": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/arrify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", - "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/async": { - "version": "2.6.4", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.4.tgz", - "integrity": "sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==", - "dev": true, - "dependencies": { - "lodash": "^4.17.14" - } - }, - "node_modules/async-array-reduce": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz", - "integrity": "sha1-yL4BCitc0A3qlsgRFgNGk9/dgtE=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/async-done": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", - "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.2", - "process-nextick-args": "^2.0.0", - "stream-exhaust": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "node_modules/async-settle": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", - "integrity": "sha1-HQqRS7Aldb7IqPOnTlCA9yssDGs=", - "dev": true, - "dependencies": { - "async-done": "^1.2.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true, - "bin": { - "atob": "bin/atob.js" - }, - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/axe-core": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.4.1.tgz", - "integrity": "sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "0.21.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", - "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", - "dev": true, - "dependencies": { - "follow-redirects": "^1.14.0" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", - "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.13.11", - "@babel/helper-define-polyfill-provider": "^0.3.1", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", - "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1", - "core-js-compat": "^3.21.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", - "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/bach": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", - "integrity": "sha1-Szzpa/JxNPeaG0FKUcFONMO9mIA=", - "dev": true, - "dependencies": { - "arr-filter": "^1.1.1", - "arr-flatten": "^1.0.1", - "arr-map": "^2.0.0", - "array-each": "^1.0.0", - "array-initial": "^1.0.0", - "array-last": "^1.1.1", - "async-done": "^1.2.2", - "async-settle": "^1.0.0", - "now-and-later": "^2.0.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "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==", - "dev": true - }, - "node_modules/base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "dependencies": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/base/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "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" - } - ] - }, - "node_modules/before-after-hook": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.2.tgz", - "integrity": "sha512-3pZEU3NT5BFUo/AD5ERPWOgQOCZITni6iavr5AUw5AUwQjMlI0kzu5btnyD39AF0gUEsDPwJT+oY1ORBJijPjQ==", - "dev": true - }, - "node_modules/binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/binaryextensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", - "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", - "dev": true, - "engines": { - "node": ">=0.8" - }, - "funding": { - "url": "https://bevry.me/fund" - } - }, - "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==", - "dev": true, - "optional": true, - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bottleneck": { - "version": "2.19.5", - "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", - "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "dependencies": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/browser-fs-access": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/browser-fs-access/-/browser-fs-access-0.34.1.tgz", - "integrity": "sha512-HPaRf2yimp8kWSuWJXc8Mi78dPbDzfduA+Gyq14H4jlMvd6XNfIRm36Y2yRLaa4x0gwcGuepj4zf14oiTlxrxQ==" - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browser-stdout": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/browser-stdout/-/browser-stdout-1.3.1.tgz", - "integrity": "sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", - "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001332", - "electron-to-chromium": "^1.4.118", - "escalade": "^3.1.1", - "node-releases": "^2.0.3", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/browserslist-useragent": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/browserslist-useragent/-/browserslist-useragent-3.1.4.tgz", - "integrity": "sha512-o9V55790uae98Kwn+vwyO+ww07OreiH1BUc9bjjlUbIL3Fh43fyoasZxZ2EiI4ErfEIKwbycQ1pvwOBlySJ7ow==", - "dev": true, - "dependencies": { - "browserslist": "^4.19.1", - "electron-to-chromium": "^1.4.67", - "semver": "^7.3.5", - "useragent": "^2.3.0", - "yamlparser": "^0.0.2" - }, - "engines": { - "node": ">= 6.x.x" - } - }, - "node_modules/browserslist-useragent/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/buffer-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.0.tgz", - "integrity": "sha1-WWFrSYME1Var1GaWayLu2j7KX74=", - "dev": true, - "engines": { - "node": ">=0.4.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==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz", - "integrity": "sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "dependencies": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/cache-content-type": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-content-type/-/cache-content-type-1.0.1.tgz", - "integrity": "sha512-IKufZ1o4Ut42YUrZSo8+qnMTrFuKkvyoLXUywKz9GJ5BrhOFGhLdkx9sG4KAnVvbY6kEcSFjLQul+DVmBm2bgA==", - "dev": true, - "dependencies": { - "mime-types": "^2.1.18", - "ylru": "^1.2.0" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camel-case": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", - "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", - "dev": true, - "dependencies": { - "pascal-case": "^3.1.2", - "tslib": "^2.0.3" - } - }, - "node_modules/camel-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/camelcase": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", - "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=", - "dev": true, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "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.30001335", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001335.tgz", - "integrity": "sha512-ddP1Tgm7z2iIxu6QTtbZUv6HJxSaV/PZeSrWFZtbY4JZ69tOeNhBCl3HyRQgeNZKE5AOn1kpV7fhljigy0Ty3w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ] - }, - "node_modules/cardinal": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "dev": true, - "dependencies": { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0" - }, - "bin": { - "cdl": "bin/cdl.js" - } - }, - "node_modules/chai": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", - "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.2", - "deep-eql": "^3.0.1", - "get-func-name": "^2.0.0", - "loupe": "^2.3.1", - "pathval": "^1.1.1", - "type-detect": "^4.0.5" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chai-a11y-axe": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/chai-a11y-axe/-/chai-a11y-axe-1.4.0.tgz", - "integrity": "sha512-m7J6DVAl1ePL2ifPKHmwQyHXdCZ+Qfv+qduh6ScqcDfBnJEzpV1K49TblujM45j1XciZOFeFNqMb2sShXMg/mw==", - "dev": true, - "dependencies": { - "axe-core": "^4.3.3" - } - }, - "node_modules/chai-openapi-response-validator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/chai-openapi-response-validator/-/chai-openapi-response-validator-0.9.4.tgz", - "integrity": "sha512-5fU7TW2GXTV6fvqatLsLjCJcZIP6bYmiCfFz9NJUD8N9PwrNkabpah95ERGBnL1mLKnKZVt6VKMajgPL6t7nLg==", - "dev": true, - "dependencies": { - "compress-tag": "^2.0.0", - "openapi-validator": "^0.9.0" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/check-error": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "deprecated": "Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies", - "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - }, - "optionalDependencies": { - "fsevents": "^1.2.7" - } - }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } - }, - "node_modules/chokidar/node_modules/glob-parent/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "node_modules/chrome-launcher": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.0.tgz", - "integrity": "sha512-ZQqX5kb9H0+jy1OqLnWampfocrtSZaGl7Ny3F9GRha85o4odbL8x55paUzh51UC7cEmZ5obp3H2Mm70uC2PpRA==", - "dev": true, - "dependencies": { - "@types/node": "*", - "escape-string-regexp": "^4.0.0", - "is-wsl": "^2.2.0", - "lighthouse-logger": "^1.0.0" - }, - "bin": { - "print-chrome-path": "bin/print-chrome-path.js" - }, - "engines": { - "node": ">=12.13.0" - } - }, - "node_modules/chrome-launcher/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true - }, - "node_modules/class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-css": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", - "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", - "dev": true, - "dependencies": { - "source-map": "~0.6.0" - }, - "engines": { - "node": ">= 4.0" - } - }, - "node_modules/clean-css/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/clear-cut": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/clear-cut/-/clear-cut-2.0.2.tgz", - "integrity": "sha512-WVgn/gSejQ+0aoR8ucbKIdo6icduPZW6AbWwyUmAUgxy63rUYjwa5rj/HeoNPhf0/XPrl82X8bO/hwBkSmsFtg==" - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-table3": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", - "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "@colors/colors": "1.5.0" - } - }, - "node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-buffer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", - "integrity": "sha1-4+JbIHrE5wGvch4staFnksrD3Fg=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/clone-stats": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", - "integrity": "sha1-s3gt/4u1R04Yuba/D9/ngvh3doA=", - "dev": true - }, - "node_modules/cloneable-readable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", - "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "process-nextick-args": "^2.0.0", - "readable-stream": "^2.3.5" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/co-body": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/co-body/-/co-body-6.1.0.tgz", - "integrity": "sha512-m7pOT6CdLN7FuXUcpuz/8lfQ/L77x8SchHCF4G0RBTJO20Wzmhn5Sp4/5WsKy8OSpifBSUrmg83qEqaDHdyFuQ==", - "dev": true, - "dependencies": { - "inflation": "^2.0.0", - "qs": "^6.5.2", - "raw-body": "^2.3.3", - "type-is": "^1.6.16" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/codemirror": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.1.tgz", - "integrity": "sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/commands": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/search": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0" - } - }, - "node_modules/collection-map": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", - "integrity": "sha1-rqDwb40mx4DCt1SUOFVEsiVa8Yw=", - "dev": true, - "dependencies": { - "arr-map": "^2.0.2", - "for-own": "^1.0.0", - "make-iterator": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", - "dev": true, - "dependencies": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "dev": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true - }, - "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, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/command-line-args": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/command-line-args/-/command-line-args-5.2.1.tgz", - "integrity": "sha512-H4UfQhZyakIjC74I9d34fGYDwk3XpSr17QhEd0Q3I9Xq1CETHo4Hcuo87WyWHpAF1aSLjLRf5lD9ZGX2qStUvg==", - "dev": true, - "dependencies": { - "array-back": "^3.1.0", - "find-replace": "^3.0.0", - "lodash.camelcase": "^4.3.0", - "typical": "^4.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/command-line-usage": { - "version": "6.1.3", - "resolved": "https://registry.npmjs.org/command-line-usage/-/command-line-usage-6.1.3.tgz", - "integrity": "sha512-sH5ZSPr+7UStsloltmDh7Ce5fb8XPlHyoPzTpyyMuYCtervL65+ubVZ6Q61cFtFl62UyJlc8/JwERRbAFPUqgw==", - "dev": true, - "dependencies": { - "array-back": "^4.0.2", - "chalk": "^2.4.2", - "table-layout": "^1.0.2", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/command-line-usage/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/command-line-usage/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/compare-func": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", - "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", - "dev": true, - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "node_modules/compress-tag": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/compress-tag/-/compress-tag-2.0.1.tgz", - "integrity": "sha512-hBPVIKc6TowW5JKvyI3Po/BDOlPgKgY2mE3Wg5AWmPJk1NOdSegFAYG3/cag5y13X1AKggD1P3dzpWIFdJDfMQ==", - "dev": true, - "dependencies": { - "unraw": "^2.0.1" - } - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true - }, - "node_modules/construct-style-sheets-polyfill": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/construct-style-sheets-polyfill/-/construct-style-sheets-polyfill-3.1.0.tgz", - "integrity": "sha512-HBLKP0chz8BAY6rBdzda11c3wAZeCZ+kIG4weVC2NM3AXzxx09nhe8t0SQNdloAvg5GLuHwq/0SPOOSPvtCcKw==" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition/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==", - "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" - } - ] - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", - "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", - "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", - "dev": true, - "dependencies": { - "compare-func": "^2.0.0", - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.6", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/conventional-changelog-writer/node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/normalize-package-data/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/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, - "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" - } - }, - "node_modules/conventional-changelog-writer/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/conventional-changelog-writer/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", - "dev": true, - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/conventional-changelog-writer/node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", - "dev": true, - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-changelog-writer/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-changelog-writer/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", - "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", - "dev": true, - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", - "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", - "dev": true, - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser/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, - "engines": { - "node": ">=6" - } - }, - "node_modules/conventional-commits-parser/node_modules/camelcase-keys": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", - "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-commits-parser/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/conventional-commits-parser/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser/node_modules/map-obj": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", - "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-commits-parser/node_modules/meow": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", - "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", - "dev": true, - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-commits-parser/node_modules/normalize-package-data": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", - "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser/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, - "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" - } - }, - "node_modules/conventional-commits-parser/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==", - "dev": true, - "engines": { - "node": ">=8" + "@polymer/polymer": "^3.0.0", + "@vaadin/vaadin-button": "^2.4.0", + "@vaadin/vaadin-element-mixin": "^2.4.1", + "@vaadin/vaadin-lumo-styles": "^1.1.0", + "@vaadin/vaadin-material-styles": "^1.1.0", + "@vaadin/vaadin-progress-bar": "^1.3.0", + "@vaadin/vaadin-themable-mixin": "^1.6.1" } }, - "node_modules/conventional-commits-parser/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, + "node_modules/@vaadin/vaadin-usage-statistics": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-usage-statistics/-/vaadin-usage-statistics-2.1.3.tgz", + "integrity": "sha512-8r4TNknD7OJQADe3VygeofFR7UNAXZ2/jjBFP5dgI8+2uMfnuGYgbuHivasKr9WSQ64sPej6m8rDoM1uSllXjQ==", + "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" + "@vaadin/vaadin-development-mode-detector": "^2.0.0" }, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/conventional-commits-parser/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, + "node_modules/@webcomponents/shadycss": { + "version": "1.11.2", + "resolved": "https://registry.npmjs.org/@webcomponents/shadycss/-/shadycss-1.11.2.tgz", + "integrity": "sha512-vRq+GniJAYSBmTRnhCYPAPq6THYqovJ/gzGThWbgEZUQaBccndGTi1hdiUP15HzEco0I6t4RCtXyX0rsSmwgPw==", + "license": "BSD-3-Clause" + }, + "node_modules/@webcomponents/webcomponentsjs": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@webcomponents/webcomponentsjs/-/webcomponentsjs-2.8.0.tgz", + "integrity": "sha512-loGD63sacRzOzSJgQnB9ZAhaQGkN7wl2Zuw7tsphI5Isa0irijrRo6EnJii/GgjGefIFO8AIO7UivzRhFaEk9w==", + "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": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" + "event-target-shim": "^5.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/conventional-commits-parser/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, "engines": { - "node": ">=8" + "node": ">=6.5" } }, - "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true + "node_modules/abortcontroller-polyfill": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.8.tgz", + "integrity": "sha512-9f1iZ2uWh92VcrU9Y8x+LdM4DLj75VE0MJB8zuF1iUnroEptStw+DQ8EQPMUdfe5k+PkB1uUfDQfWbhstH8LrQ==", + "license": "MIT" }, - "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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==", "dev": true, - "bin": { - "semver": "bin/semver" + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/conventional-commits-parser/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, "engines": { - "node": ">=8" + "node": ">= 6.0.0" } }, - "node_modules/conventional-commits-parser/node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, + "license": "MIT", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/conventional-commits-parser/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, + "node_modules/airtable": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/airtable/-/airtable-0.12.2.tgz", + "integrity": "sha512-HS3VytUBTKj8A0vPl7DDr5p/w3IOGv6RXL0fv7eczOWAtj9Xe8ri4TAiZRXoOyo+Z/COADCj+oARFenbxhmkIg==", + "license": "MIT", "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "@types/node": ">=8.0.0 <15", + "abort-controller": "^3.0.0", + "abortcontroller-polyfill": "^1.4.0", + "lodash": "^4.17.21", + "node-fetch": "^2.6.7" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" } }, - "node_modules/conventional-commits-parser/node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { - "min-indent": "^1.0.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" }, - "engines": { - "node": ">=8" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/conventional-commits-parser/node_modules/trim-newlines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", - "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "node_modules/animejs": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/animejs/-/animejs-3.2.2.tgz", + "integrity": "sha512-Ao95qWLpDPXXM+WrmwcKbl6uNlC5tjnowlaRYtuVDHHoygjtIPfDUoK9NthrlZsQSKjZXlmji2TrBUAVbiH0LQ==", + "license": "MIT" + }, + "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", "engines": { - "node": ">=8" + "node": ">=6" } }, - "node_modules/conventional-commits-parser/node_modules/type-fest": { - "version": "0.18.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", - "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "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, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/conventional-commits-parser/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "node_modules/ansi-escapes/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" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/cookies": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/cookies/-/cookies-0.8.0.tgz", - "integrity": "sha512-8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==", - "dev": true, - "dependencies": { - "depd": "~2.0.0", - "keygrip": "~1.1.0" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/copy-props": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", - "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", - "dev": true, - "dependencies": { - "each-props": "^1.3.2", - "is-plain-object": "^5.0.0" - } - }, - "node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", - "hasInstallScript": true - }, - "node_modules/core-js-bundle": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js-bundle/-/core-js-bundle-3.22.4.tgz", - "integrity": "sha512-KJUSA8TzvcHsLfbjo3GErcl7NqI5eceERXNAJSaTQ53qtPJdM6n8T02zYn39iEetceIKKtw+pANINDznzvk1+g==", - "dev": true, - "hasInstallScript": true, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/core-js-compat": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.4.tgz", - "integrity": "sha512-dIWcsszDezkFZrfm1cnB4f/J85gyhiCpxbgBdohWCDtSVuAaChTSpPV7ldOQf/Xds2U5xCIJZOK82G4ZPAIswA==", + "node_modules/ansi-gray": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/ansi-gray/-/ansi-gray-0.1.1.tgz", + "integrity": "sha512-HrgGIZUl8h2EHuZaU9hTR/cU5nhKxpVE1V6kdGsQ8e4zirElJ5fvtfc8N7Q1oq1aatO275i8pUFUCpNWCAnVWw==", "dev": true, + "license": "MIT", "dependencies": { - "browserslist": "^4.20.3", - "semver": "7.0.0" + "ansi-wrap": "0.1.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-js-compat/node_modules/semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/core-js-pure": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.22.4.tgz", - "integrity": "sha512-4iF+QZkpzIz0prAFuepmxwJ2h5t4agvE8WPYqs2mjLJMNNwJOnpch76w2Q7bUfCPEv/V7wpvOfog0w273M+ZSw==", - "dev": true, - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=0.10.0" } }, - "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==", - "dev": true - }, - "node_modules/cosmiconfig": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", - "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "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==", "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/cosmiconfig/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==", + "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==", "dev": true, + "license": "MIT", "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" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/cosmiconfig/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/ansi-wrap": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz", + "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/crelt": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz", - "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==" - }, - "node_modules/cross-fetch": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", - "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "node_modules/ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha512-QXu7BPrP29VllRxH8GwB7x5iX5qWKAAMLqKQGWTeLWVlNHNOpVMJ91dsxQAIWXpjuW5wqvxu3Jd/nRjrJ+0pqg==", "dev": true, - "dependencies": { - "node-fetch": "2.6.7" - } + "license": "MIT" }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "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==", "dev": true, + "license": "ISC", "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, "engines": { "node": ">= 8" } }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/append-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/append-buffer/-/append-buffer-1.0.2.tgz", + "integrity": "sha512-WLbYiXzD3y/ATLZFufV/rZvWdZOs+Z/+5v1rBZ463Jn398pa6kcde27cvozYnBoxXblGZTFfoPpsaEw0orU5BA==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "buffer-equal": "^1.0.0" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", "dev": true, - "engines": { - "node": ">=8" - } + "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/css-tree": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", - "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", - "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" - } + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==", + "dev": true, + "license": "MIT" }, - "node_modules/css-tree/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==", - "engines": { - "node": ">=0.10.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==", + "dev": true, + "license": "Python-2.0" }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true + "node_modules/argv-formatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", + "integrity": "sha512-F2+Hkm9xFaRg+GkaNnbwXNDV5O6pnCFEmqyhvfC/Ic5LbgOWjJh3L+mN/s91rxVL3znE7DYVpW0GJFT+4YBgWw==", + "dev": true, + "license": "MIT" }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, + "license": "MIT", "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" + "node": ">=0.10.0" } }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/arr-filter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/arr-filter/-/arr-filter-1.1.2.tgz", + "integrity": "sha512-A2BETWCqhsecSvCkWAeVBFLH6sXEUGASuzkpjL3GR1SlL/PWL6M3J8EAAld2Uubmh39tvkJTqC9LeLHCUKmFXA==", "dev": true, + "license": "MIT", "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" + "make-iterator": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/data-urls/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/arr-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/arr-map/-/arr-map-2.0.2.tgz", + "integrity": "sha512-tVqVTHt+Q5Xb09qRkbu+DidW1yYzz5izWS2Xm2yFm7qJnmUfz4HPzNxbHkdRJbz2lrqI7S+z17xNYdFcBBO8Hw==", "dev": true, + "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "make-iterator": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/datalist-ajax": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/datalist-ajax/-/datalist-ajax-1.0.2.tgz", - "integrity": "sha512-3rgGr9dGOIPked6INxjCUMENlHpZhokqpqKtssLrUY8p5jt82D+hdv+Ip4i+eahEYmIe0Hhf9E0hlRxTsUlSWw==" - }, - "node_modules/dateformat": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", - "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", "dev": true, + "license": "MIT", "engines": { - "node": "*" - } - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "dev": true - }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" + "node": ">=0.10.0" } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "node_modules/array-each": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz", + "integrity": "sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/decamelize-keys": { + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-initial": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", - "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "resolved": "https://registry.npmjs.org/array-initial/-/array-initial-1.1.0.tgz", + "integrity": "sha512-BC4Yl89vneCYfpLrs5JU2aAu9/a+xWbeKhvISg9PT7eWFB9UlRvI+rKEtk6mgxWr3dSkk9gQ8hCrdqt06NXPdw==", "dev": true, + "license": "MIT", "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" + "array-slice": "^1.0.0", + "is-number": "^4.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "node_modules/array-initial/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.10.0" } }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-eql": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", - "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", + "node_modules/array-last": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/array-last/-/array-last-1.3.0.tgz", + "integrity": "sha512-eOCut5rXlI6aCOS7Z7kCplKRKyiFQ6dHFBem4PwlwKeNFk2/XxTrhRh5T9PyaEWGy/NHTZWbY+nsZlNFJu9rYg==", "dev": true, + "license": "MIT", "dependencies": { - "type-detect": "^4.0.0" + "is-number": "^4.0.0" }, "engines": { - "node": ">=0.12" + "node": ">=0.10.0" } }, - "node_modules/deep-equal": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", - "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", - "dev": true - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "node_modules/array-last/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "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==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "node_modules/array-slice": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz", + "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/default-compare": { + "node_modules/array-sort": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", - "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", + "resolved": "https://registry.npmjs.org/array-sort/-/array-sort-1.0.0.tgz", + "integrity": "sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg==", "dev": true, + "license": "MIT", "dependencies": { + "default-compare": "^1.0.0", + "get-value": "^2.0.6", "kind-of": "^5.0.2" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-resolution": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", - "integrity": "sha1-vLgrqnKtebQmp2cy8aga1t8m1oQ=", - "dev": true, - "engines": { - "node": ">= 0.10" + "node": ">=0.10.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", "dev": true, - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", "dev": true, - "dependencies": { - "is-descriptor": "^0.1.0" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/del": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/del/-/del-6.0.0.tgz", - "integrity": "sha512-1shh9DQ23L16oXSZKB2JxpL7iMy2E0S9d517ptA1P8iw0alkPtQcrKH7ru31rYtKwF499HkTu+DRzq3TCKDFRQ==", + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", "dev": true, + "license": "MIT", "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "safer-buffer": "~2.1.0" } }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT", + "engines": { + "node": ">=0.8" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, + "node_modules/assertion-error": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=12" } }, - "node_modules/delegates": { + "node_modules/assign-symbols": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=", - "dev": true - }, - "node_modules/delete": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/delete/-/delete-1.1.0.tgz", - "integrity": "sha512-bdhJatRNYsJnOhSRx9Eej3ABBtxQQw/uz2RprpYL5R3jCC2XMYVBcQWwvQLl+iNDk4LCLEKhdIP3uZSqRWi/tw==", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", "dev": true, - "dependencies": { - "async-each": "^1.0.1", - "extend-shallow": "^2.0.1", - "matched": "^1.0.2", - "rimraf": "^2.6.1" - }, + "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">=0.10.0" } }, - "node_modules/depd": { + "node_modules/astral-regex": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "node_modules/async-array-reduce": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/async-array-reduce/-/async-array-reduce-0.2.1.tgz", + "integrity": "sha512-/ywTADOcaEnwiAnOEi0UB/rAcIq5bTFfCV9euv3jLYFUMmy6KvKccTQUnLlp8Ensmfj43wHSmbGiPqjsZ6RhNA==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.6.0" + "node": ">=0.10.0" } }, - "node_modules/deprecation": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", - "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", - "dev": true - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/async-done": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/async-done/-/async-done-1.3.2.tgz", + "integrity": "sha512-uYkTP8dw2og1tu1nmza1n1CMW0qb8gWWlwqMmLb7MhBVs4BXrFziT6HXUd+/RlRA/i4H9AkofYloUbs1fwMqlw==", "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.2", + "process-nextick-args": "^2.0.0", + "stream-exhaust": "^1.0.1" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">= 0.10" } }, - "node_modules/detect-file": { + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT" + }, + "node_modules/async-settle": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", - "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=", + "resolved": "https://registry.npmjs.org/async-settle/-/async-settle-1.0.0.tgz", + "integrity": "sha512-VPXfB4Vk49z1LHHodrEQ6Xf7W4gg1w0dAPROHngx7qgDjqmIQ+fXmwgGXTW/ITLai0YLSvWepJOP9EVpMnEAcw==", "dev": true, + "license": "MIT", + "dependencies": { + "async-done": "^1.2.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/devtools-protocol": { - "version": "0.0.981744", - "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.981744.tgz", - "integrity": "sha512-0cuGS8+jhR67Fy7qG3i3Pc7Aw494sb9yG9QgpG97SFVWwolgYjlhJg7n+UaHxOQT30d1TYu/EYe9k01ivLErIg==", - "dev": true + "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/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", "dev": true, + "license": "ISC", "engines": { - "node": ">=0.3.1" + "node": ">= 4.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", "dev": true, - "dependencies": { - "path-type": "^4.0.0" + "license": "(MIT OR Apache-2.0)", + "bin": { + "atob": "bin/atob.js" }, "engines": { - "node": ">=8" + "node": ">= 4.5.0" } }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "node_modules/aws4": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", "dev": true, - "dependencies": { - "esutils": "^2.0.2" + "license": "MIT" + }, + "node_modules/b4a": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.7.3.tgz", + "integrity": "sha512-5Q2mfq2WfGuFp3uS//0s6baOJLMoVduPYVeNmDYxu5OUA1/cBfvr2RIS7vi62LdNj/urk1hfmj867I3qt6uZ7Q==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "react-native-b4a": "*" }, - "engines": { - "node": ">=6.0.0" + "peerDependenciesMeta": { + "react-native-b4a": { + "optional": true + } } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/bach": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/bach/-/bach-1.2.0.tgz", + "integrity": "sha512-bZOOfCb3gXBXbTFXq3OZtGR88LwGeJvzu6szttaIzymOTS4ZttBNOWSv7aLZja2EMycKtRYV0Oa8SNKH/zkxvg==", "dev": true, + "license": "MIT", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "arr-filter": "^1.1.1", + "arr-flatten": "^1.0.1", + "arr-map": "^2.0.0", + "array-each": "^1.0.0", + "array-initial": "^1.0.0", + "array-last": "^1.1.1", + "async-done": "^1.2.2", + "async-settle": "^1.0.0", + "now-and-later": "^2.0.0" }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "engines": { + "node": ">= 0.10" } }, - "node_modules/dom-serializer/node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "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==", "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "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==", + "dev": true, + "license": "Apache-2.0", + "peerDependencies": { + "bare-abort-controller": "*" + }, + "peerDependenciesMeta": { + "bare-abort-controller": { + "optional": true + } } }, - "node_modules/dom5": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dom5/-/dom5-3.0.1.tgz", - "integrity": "sha512-JPFiouQIr16VQ4dX6i0+Hpbg3H2bMKPmZ+WZgBOSSvOPx9QHwwY8sPzeM2baUtViESYto6wC2nuZOMC/6gulcA==", + "node_modules/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", "dev": true, + "license": "MIT", "dependencies": { - "@types/parse5": "^2.2.34", - "clone": "^2.1.0", - "parse5": "^4.0.0" + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/dom5/node_modules/@types/parse5": { - "version": "2.2.34", - "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-2.2.34.tgz", - "integrity": "sha1-44cKEOgnNacg9i1x3NGDunjvOp0=", + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*" + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/dom5/node_modules/parse5": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "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==", "dev": true, "funding": [ { - "type": "github", - "url": "https://github.com/sponsors/fb55" + "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/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" + "tweetnacl": "^0.14.3" } }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "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": "Apache-2.0" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/binaryextensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-2.3.0.tgz", + "integrity": "sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg==", "dev": true, - "dependencies": { - "domelementtype": "^2.2.0" - }, + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.8" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://bevry.me/fund" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "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==", "dev": true, + "license": "MIT", + "optional": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "file-uri-to-path": "1.0.0" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/bottleneck": { + "version": "2.19.5", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.19.5.tgz", + "integrity": "sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==", + "dev": true, + "license": "MIT" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/dot-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "is-obj": "^2.0.0" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/duplexer2": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", - "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "node_modules/browser-fs-access": { + "version": "0.34.1", + "resolved": "https://registry.npmjs.org/browser-fs-access/-/browser-fs-access-0.34.1.tgz", + "integrity": "sha512-HPaRf2yimp8kWSuWJXc8Mi78dPbDzfduA+Gyq14H4jlMvd6XNfIRm36Y2yRLaa4x0gwcGuepj4zf14oiTlxrxQ==", + "license": "Apache-2.0" + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "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": { - "readable-stream": "^2.0.2" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "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, - "dependencies": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "license": "MIT", + "engines": { + "node": "*" } }, - "node_modules/dynamic-import-polyfill": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/dynamic-import-polyfill/-/dynamic-import-polyfill-0.1.1.tgz", - "integrity": "sha512-m953zv0w5oDagTItWm6Auhmk/pY7EiejaqiVbnzSS3HIjh1FCUeK7WzuaVtWPNs58A+/xpIE+/dVk6pKsrua8g==", - "dev": true - }, - "node_modules/each-props": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", - "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", + "node_modules/buffer-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal/-/buffer-equal-1.0.1.tgz", + "integrity": "sha512-QoV3ptgEaQpvVwbXdSO39iqPQTCxSF7A5U99AxbHYqUdCizL/lH2Z0A2y6nbZucxMEOtNyZfG2s6gsVugGpKkg==", "dev": true, - "dependencies": { - "is-plain-object": "^2.0.1", - "object.defaults": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/each-props/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", "dev": true, + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.132", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.132.tgz", - "integrity": "sha512-JYdZUw/1068NWN+SwXQ7w6Ue0bWYGihvSUNNQwurvcDV/SM7vSiGZ3NuFvFgoEiCs4kB8xs3cX2an3wB7d4TBw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.8" + "node": ">=14.16" } }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.4.0" + "@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/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "node_modules/cacheable-request/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, - "dependencies": { - "ansi-colors": "^4.1.1" - }, + "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/enquirer/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/entities": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", - "integrity": "sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q==", + "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": { + "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.12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/env-ci": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-5.5.0.tgz", - "integrity": "sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==", + "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": { - "execa": "^5.0.0", - "fromentries": "^1.3.2", - "java-properties": "^1.0.0" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" }, "engines": { - "node": ">=10.17" + "node": ">= 0.4" } }, - "node_modules/env-ci/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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", "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" + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/env-ci/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==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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": ">=10.17.0" + "node": ">=6" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", "dev": true, + "license": "MIT", "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/errorstacks": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/errorstacks/-/errorstacks-2.4.0.tgz", - "integrity": "sha512-5ecWhU5gt0a5G05nmQcgCxP5HperSMxLDzvWlT5U+ZSKkuDK0rJ3dbCQny6/vSCIXjwrhwSecXBbw1alr295hQ==", - "dev": true - }, - "node_modules/es-abstract": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.5.tgz", - "integrity": "sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.2", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "is-string": "^1.0.7", - "is-weakref": "^1.0.2", - "object-inspect": "^1.12.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-dev-server": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-dev-server/-/es-dev-server-2.1.0.tgz", - "integrity": "sha512-Vrq/4PyMzWz33QmOdSncvoWLTJVcv2e96z8FLHQwP9zK7DyLeDZCckII8VTW+btUGtM7aErvLH/d/R2pjjjs8w==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.1", - "@babel/plugin-proposal-dynamic-import": "^7.10.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.10.4", - "@babel/plugin-proposal-optional-chaining": "^7.11.0", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/preset-env": "^7.9.0", - "@koa/cors": "^3.1.0", - "@open-wc/building-utils": "^2.18.3", - "@rollup/plugin-node-resolve": "^11.0.0", - "@rollup/pluginutils": "^3.0.0", - "@types/babel__core": "^7.1.3", - "@types/browserslist": "^4.8.0", - "@types/browserslist-useragent": "^3.0.0", - "@types/caniuse-api": "^3.0.0", - "@types/command-line-args": "^5.0.0", - "@types/command-line-usage": "^5.0.1", - "@types/debounce": "^1.2.0", - "@types/koa": "^2.0.48", - "@types/koa__cors": "^3.0.1", - "@types/koa-compress": "^2.0.9", - "@types/koa-etag": "^3.0.0", - "@types/koa-static": "^4.0.1", - "@types/lru-cache": "^5.1.0", - "@types/mime-types": "^2.1.0", - "@types/minimatch": "^3.0.3", - "@types/path-is-inside": "^1.0.0", - "@types/whatwg-url": "^6.4.0", - "browserslist": "^4.9.1", - "browserslist-useragent": "^3.0.2", - "builtin-modules": "^3.1.0", - "camelcase": "^5.3.1", - "caniuse-api": "^3.0.0", - "caniuse-lite": "^1.0.30001033", - "chokidar": "^3.0.0", - "command-line-args": "^5.0.2", - "command-line-usage": "^6.1.0", - "debounce": "^1.2.0", - "deepmerge": "^4.2.2", - "es-module-lexer": "^0.3.13", - "get-stream": "^5.1.0", - "is-stream": "^2.0.0", - "isbinaryfile": "^4.0.2", - "koa": "^2.7.0", - "koa-compress": "^3.0.0", - "koa-etag": "^3.0.0", - "koa-static": "^5.0.0", - "lru-cache": "^5.1.1", - "mime-types": "^2.1.27", - "minimatch": "^3.0.4", - "open": "^7.0.3", - "parse5": "^5.1.1", - "path-is-inside": "^1.0.2", - "polyfills-loader": "^1.7.4", - "portfinder": "^1.0.21", - "rollup": "^2.7.2", - "strip-ansi": "^5.2.0", - "systemjs": "^6.3.1", - "tslib": "^1.11.1", - "useragent": "^2.3.0", - "whatwg-url": "^7.0.0" - }, - "bin": { - "es-dev-server": "dist/cli.js" - }, + "node_modules/camelcase-keys/node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/es-dev-server/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "node_modules/cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha512-JSr5eOgoEymtYHBjNWyjrMqet9Am2miJhlfKNdqLp6zoeAh0KN5dRAcxlecj5mAJrmQomgiOBj35xHLrFjqBpw==", "dev": true, + "license": "MIT", "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" + "bin": { + "cdl": "bin/cdl.js" } }, - "node_modules/es-dev-server/node_modules/ansi-regex": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", - "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "Apache-2.0" }, - "node_modules/es-dev-server/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, + "node_modules/chai": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.3.3.tgz", + "integrity": "sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==", + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/es-dev-server/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/es-dev-server/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/chalk/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==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/es-dev-server/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, + "node_modules/check-error": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 16" } }, - "node_modules/es-dev-server/node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], + "license": "MIT", "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -8992,105 +3462,126 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } }, - "node_modules/es-dev-server/node_modules/es-module-lexer": { - "version": "0.3.26", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.3.26.tgz", - "integrity": "sha512-Va0Q/xqtrss45hWzP8CZJwzGSZJjDM5/MJRE3IXXnUCcVLElR9BRaE9F62BopysASyc4nM3uwhSW7FFB9nlWAA==", - "dev": true - }, - "node_modules/es-dev-server/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/es-dev-server/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=0.10.0" } }, - "node_modules/es-dev-server/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==", + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "is-descriptor": "^0.1.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/es-dev-server/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, + "license": "MIT", "dependencies": { - "binary-extensions": "^2.0.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/es-dev-server/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==", + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.12.0" + "node": ">=6" } }, - "node_modules/es-dev-server/node_modules/koa-etag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-3.0.0.tgz", - "integrity": "sha1-nvc4Ld1agqsN6xU0FckVg293HT8=", + "node_modules/clear-cut": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/clear-cut/-/clear-cut-2.0.2.tgz", + "integrity": "sha512-WVgn/gSejQ+0aoR8ucbKIdo6icduPZW6AbWwyUmAUgxy63rUYjwa5rj/HeoNPhf0/XPrl82X8bO/hwBkSmsFtg==", + "license": "MIT" + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, + "license": "MIT", "dependencies": { - "etag": "^1.3.0", - "mz": "^2.1.0" + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/es-dev-server/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==", + "node_modules/cli-table3": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", + "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^3.0.2" + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "colors": "1.4.0" } }, - "node_modules/es-dev-server/node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", "dev": true, + "license": "MIT", "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" }, "engines": { "node": ">=8" @@ -9099,724 +3590,693 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-dev-server/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "node_modules/es-dev-server/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "node_modules/cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha512-0yayqDxWQbqk3ojkYqUKqaAQ6AfNKeKWRNA8kR0WXzAsdHpP4BIaOmMAG87JGuO6qcobyW4GjxHd9PmhEd+T9w==", "dev": true, + "license": "ISC", "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" } }, - "node_modules/es-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/cliui/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, + "license": "MIT", "engines": { - "node": ">=8.10.0" + "node": ">=0.10.0" } }, - "node_modules/es-dev-server/node_modules/strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^4.1.0" + "number-is-nan": "^1.0.0" }, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/es-dev-server/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==", + "node_modules/cliui/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/es-dev-server/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/es-dev-server/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", - "dev": true - }, - "node_modules/es-dev-server/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dev": true, - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "node": ">=0.10.0" } }, - "node_modules/es-dev-server/node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/es-module-shims": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/es-module-shims/-/es-module-shims-0.4.7.tgz", - "integrity": "sha512-0LTiSQoPWwdcaTVIQXhGlaDwTneD0g9/tnH1PNs3zHFFH+xoCeJclDM3rQeqF9nurXPfMKm3l9+kfPRa5VpbKg==", - "dev": true - }, - "node_modules/es-shim-unscopables": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz", - "integrity": "sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==", + "node_modules/cliui/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==", "dev": true, + "license": "MIT", "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/es5-ext": { - "version": "0.10.60", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.60.tgz", - "integrity": "sha512-jpKNXIt60htYG59/9FGf2PYT3pwMpnEbNKysU+k/4FGwyGtMotOvcZOuW+EmXXYASRqYSXQfGL5cVIthOTgbkg==", - "hasInstallScript": true, - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10" + "node": ">=0.8" } }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" + "node_modules/clone-buffer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-buffer/-/clone-buffer-1.0.0.tgz", + "integrity": "sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "node_modules/clone-stats": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/clone-stats/-/clone-stats-1.0.0.tgz", + "integrity": "sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/cloneable-readable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/cloneable-readable/-/cloneable-readable-1.1.3.tgz", + "integrity": "sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==", + "dev": true, + "license": "MIT", "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" + "inherits": "^2.0.1", + "process-nextick-args": "^2.0.0", + "readable-stream": "^2.3.5" } }, - "node_modules/es6-weak-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", - "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "node_modules/cloneable-readable/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==", "dev": true, + "license": "MIT", "dependencies": { - "d": "1", - "es5-ext": "^0.10.46", - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.1" + "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/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/cloneable-readable/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==", "dev": true, - "engines": { - "node": ">=6" - } + "license": "MIT" }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true + "node_modules/cloneable-readable/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "node_modules/code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.8.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, + "node_modules/codemirror": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-6.0.2.tgz", + "integrity": "sha512-VhydHotNW5w1UGK0Qj96BwSk/Zqbp9WbnyK2W/eVMv4QyF41INRGpjUhFJY7/uDNuudSc33a/PKr4iDqRduvHw==", + "license": "MIT", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/commands": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/search": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0" } }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/collection-map": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-map/-/collection-map-1.0.0.tgz", + "integrity": "sha512-5D2XXSpkOnleOI21TG7p3T0bGAsZ/XknZpKBmGYyluO8pw4zA3K8ZlrBIbC4FXg3m6z/RNFiUFfT2sQK01+UHA==", "dev": true, + "license": "MIT", + "dependencies": { + "arr-map": "^2.0.2", + "for-own": "^1.0.0", + "make-iterator": "^1.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", "dev": true, + "license": "MIT", "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 0.8.0" + "node": ">=7.0.0" } }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "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==", "dev": true, - "engines": { - "node": ">= 0.8.0" + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "license": "ISC", + "bin": { + "color-support": "bin.js" } }, - "node_modules/escodegen/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==", + "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/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", "dev": true, + "license": "MIT", "optional": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.1.90" } }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "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": { - "prelude-ls": "~1.1.2" + "delayed-stream": "~1.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.8" } }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", "dev": true, - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, + "license": "MIT", "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" } }, - "node_modules/eslint-config-airbnb-base": { - "version": "14.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-14.2.1.tgz", - "integrity": "sha512-GOrQyDtVEc1Xy20U7vsB2yAoB4nBlfH5HZJeatRXHleO+OS5Ot+MWij4Dpltw4/DyIkqUfqz1epfhVR5XWWQPA==", + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", "dev": true, + "license": "MIT", "dependencies": { - "confusing-browser-globals": "^1.0.10", - "object.assign": "^4.1.2", - "object.entries": "^1.1.2" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "eslint": "^5.16.0 || ^6.8.0 || ^7.2.0", - "eslint-plugin-import": "^2.22.1" + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" } }, - "node_modules/eslint-config-prettier": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.5.0.tgz", - "integrity": "sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==", + "node_modules/compare-versions": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", + "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" + "license": "MIT" + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true, - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } + "license": "MIT" }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", "dev": true, + "engines": [ + "node >= 0.8" + ], + "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/eslint-import-resolver-node/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==", - "dev": true - }, - "node_modules/eslint-module-utils": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz", - "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==", + "node_modules/concat-stream/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==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" + "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/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/concat-stream/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-stream/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==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "^2.1.1" + "safe-buffer": "~5.1.0" } }, - "node_modules/eslint-module-utils/node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/construct-style-sheets-polyfill": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/construct-style-sheets-polyfill/-/construct-style-sheets-polyfill-3.1.0.tgz", + "integrity": "sha512-HBLKP0chz8BAY6rBdzda11c3wAZeCZ+kIG4weVC2NM3AXzxx09nhe8t0SQNdloAvg5GLuHwq/0SPOOSPvtCcKw==", + "license": "MIT" + }, + "node_modules/conventional-changelog-angular": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz", + "integrity": "sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==", "dev": true, + "license": "ISC", "dependencies": { - "locate-path": "^2.0.0" + "compare-func": "^2.0.0", + "q": "^1.5.1" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/eslint-module-utils/node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "node_modules/conventional-changelog-writer": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.1.0.tgz", + "integrity": "sha512-WwKcUp7WyXYGQmkLsX4QmU42AZ1lqlvRW9mqoyiQzdD+rJWbTepdWoKJuwXTS+yq79XKnQNa93/roViPQrAQgw==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "compare-func": "^2.0.0", + "conventional-commits-filter": "^2.0.7", + "dateformat": "^3.0.0", + "handlebars": "^4.7.6", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "semver": "^6.0.0", + "split": "^1.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-changelog-writer": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/eslint-module-utils/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==", - "dev": true + "node_modules/conventional-changelog-writer/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/eslint-module-utils/node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/conventional-commits-filter": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz", + "integrity": "sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^1.0.0" + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/eslint-module-utils/node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/conventional-commits-parser": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz", + "integrity": "sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^1.1.0" + "is-text-path": "^1.0.1", + "JSONStream": "^1.0.4", + "lodash": "^4.17.15", + "meow": "^8.0.0", + "split2": "^3.0.0", + "through2": "^4.0.0" + }, + "bin": { + "conventional-commits-parser": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/eslint-module-utils/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "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, - "engines": { - "node": ">=4" - } + "license": "MIT" }, - "node_modules/eslint-module-utils/node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/eslint-plugin-html": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-html/-/eslint-plugin-html-6.2.0.tgz", - "integrity": "sha512-vi3NW0E8AJombTvt8beMwkL1R/fdRWl4QSNRNMhVQKWm36/X0KF0unGNAY4mqUF06mnwVWZcIcerrCnfn9025g==", + "node_modules/copy-props": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/copy-props/-/copy-props-2.0.5.tgz", + "integrity": "sha512-XBlx8HSqrT0ObQwmSzM7WE5k8FxTV75h1DX1Z3n6NhQ/UYYAvInWYmG06vFt7hQZArE2fuO62aihiWIVQwh1sw==", "dev": true, + "license": "MIT", "dependencies": { - "htmlparser2": "^7.1.2" + "each-props": "^1.3.2", + "is-plain-object": "^5.0.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.26.0.tgz", - "integrity": "sha512-hYfi3FXaM8WPLf4S1cikh/r4IxnO6zrhZbEGz2b660EJRbuxgpDS5gkCuYgGWg2xxh2rBuIr4Pvhve/7c31koA==", + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true, + "license": "MIT" + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", "dev": true, - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.3", - "has": "^1.0.3", - "is-core-module": "^2.8.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.values": "^1.1.5", - "resolve": "^1.22.0", - "tsconfig-paths": "^3.14.1" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } + "license": "MIT" }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dev": true, + "license": "MIT", "dependencies": { - "esutils": "^2.0.2" + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/eslint-plugin-lit": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-lit/-/eslint-plugin-lit-1.6.1.tgz", - "integrity": "sha512-BpPoWVhf8dQ/Sz5Pi9NlqbGoH5BcMcVyXhi2XTx2XGMAO9U2lS+GTSsqJjI5hL3OuxCicNiUEWXazAwi9cAGxQ==", + "node_modules/crelt": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz", + "integrity": "sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "requireindex": "^1.2.0" + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "eslint": ">= 5" - } - }, - "node_modules/eslint-plugin-lit-a11y": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-lit-a11y/-/eslint-plugin-lit-a11y-1.1.0.tgz", - "integrity": "sha512-reJqT0UG/Y8OC2z7pfgm0ODK1D6o5TgQpGdlgN1ja0HjdREXLqFVoYiEv013oNx3kBhTUaLlic64rRNw+386xw==", - "dev": true, - "dependencies": { - "aria-query": "^4.2.2", - "axe-core": "^4.3.3", - "axobject-query": "^2.2.0", - "dom5": "^3.0.1", - "emoji-regex": "^9.2.0", - "eslint": "^7.6.0", - "eslint-rule-extender": "0.0.1", - "intl-list-format": "^1.0.3", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "requireindex": "~1.2.0" - }, - "peerDependencies": { - "eslint": ">= 5" + "node": ">= 8" } }, - "node_modules/eslint-plugin-lit-a11y/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==", - "dev": true - }, - "node_modules/eslint-plugin-lit-a11y/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "node_modules/eslint-plugin-no-only-tests": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-no-only-tests/-/eslint-plugin-no-only-tests-2.6.0.tgz", - "integrity": "sha512-T9SmE/g6UV1uZo1oHAqOvL86XWl7Pl2EpRpnLI8g/bkJu+h7XBCB+1LnubRZ2CUQXj805vh4/CYZdnqtVaEo2Q==", + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4.0.0" + "node": ">=8" } }, - "node_modules/eslint-plugin-wc": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-wc/-/eslint-plugin-wc-1.3.2.tgz", - "integrity": "sha512-/Tt3kIXBp1jh06xYtRqPwAvpNxVVk9YtbcFCKEgLa5l3GY+urZyn376pISaaZxkm9HVD3AIPOF5i9/uFwyF0Zw==", - "dev": true, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "license": "MIT", "dependencies": { - "is-valid-element-name": "^1.0.0", - "js-levenshtein-esm": "^1.2.0" + "mdn-data": "2.0.14", + "source-map": "^0.6.1" }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-rule-composer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", - "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", - "dev": true, - "peer": true, "engines": { - "node": ">=4.0.0" + "node": ">=8.0.0" } }, - "node_modules/eslint-rule-extender": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/eslint-rule-extender/-/eslint-rule-extender-0.0.1.tgz", - "integrity": "sha512-F0j1Twve3lamL3J0rRSVAynlp58sDPG39JFcQrM+u9Na7PmCgiPHNODh6YE9mduaGcsn3NBqbf6LZRj0cLr8Ng==", + "node_modules/cypress": { + "version": "15.7.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-15.7.1.tgz", + "integrity": "sha512-U3sYnJ+Cnpgr6IPycxsznTg//mGVXfPGeGV+om7VQCyp5XyVkhG4oPr3X3hTq1+OB0Om0O5DxusYmt7cbvwqMQ==", "dev": true, - "engines": { - "node": ">=10" + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@cypress/request": "^3.0.9", + "@cypress/xvfb": "^1.2.4", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "@types/tmp": "^0.2.3", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.7.1", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "ci-info": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-table3": "0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "hasha": "5.2.2", + "is-installed-globally": "~0.4.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "supports-color": "^8.1.1", + "systeminformation": "5.27.7", + "tmp": "~0.2.4", + "tree-kill": "1.2.2", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kaicataldo" + "engines": { + "node": "^20.1.0 || ^22.0.0 || >=24.0.0" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/cypress/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", "dev": true, + "license": "MIT", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8.0.0" + "node": ">=10" } }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "license": "ISC", "dependencies": { - "eslint-visitor-keys": "^1.1.0" + "es5-ext": "^0.10.64", + "type": "^2.7.2" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" + "node": ">=0.12" } }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", "dev": true, + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0" + }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "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==", + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.10.4" + "node": "*" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "license": "MIT" }, - "node_modules/eslint/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -9827,80 +4287,75 @@ } } }, - "node_modules/eslint/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==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.13.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.13.0.tgz", - "integrity": "sha512-EQ7Q18AJlPwp3vUDL4mKA0KXrXyNIQyWon6T6XQiBQF0XHvRsiCSrWmmeATpUzdJN2HhWZU6Pdl0a9zdep5p6A==", + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", "dev": true, + "license": "MIT", "dependencies": { - "type-fest": "^0.20.2" + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/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==", + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/eslint/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=0.10" } }, - "node_modules/eslint/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==", + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "mimic-response": "^3.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -9908,538 +4363,565 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/deep-eql": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/default-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/default-compare/-/default-compare-1.0.0.tgz", + "integrity": "sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ==", "dev": true, + "license": "MIT", "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" + "kind-of": "^5.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10.0" } }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "node_modules/default-resolution": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/default-resolution/-/default-resolution-2.0.0.tgz", + "integrity": "sha512-2xaP6GiwVwOEbXCGoJ4ufgC76m8cj805jrghScewJC2ZDsb9U0b4BIrba+xt/Uytyd0HvQ6+WymSRTfnYj59GQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">= 0.10" } }, - "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==", + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "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": { - "estraverse": "^5.1.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=0.10" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "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": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=4.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", "dev": true, + "license": "MIT", "dependencies": { - "estraverse": "^5.2.0" + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" }, "engines": { - "node": ">=4.0" + "node": ">=0.10.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", "dev": true, + "license": "MIT", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, "engines": { - "node": ">=4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/del/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "engines": { - "node": ">=4.0" + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "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": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.4.0" } }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "node_modules/delete": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/delete/-/delete-1.1.0.tgz", + "integrity": "sha512-bdhJatRNYsJnOhSRx9Eej3ABBtxQQw/uz2RprpYL5R3jCC2XMYVBcQWwvQLl+iNDk4LCLEKhdIP3uZSqRWi/tw==", "dev": true, + "license": "MIT", + "dependencies": { + "async-each": "^1.0.1", + "extend-shallow": "^2.0.1", + "matched": "^1.0.2", + "rimraf": "^2.6.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.12.0" } }, - "node_modules/event-emitter": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", - "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", - "dependencies": { - "d": "1", - "es5-ext": "~0.10.14" - } + "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/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==", + "node_modules/detect-file": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz", + "integrity": "sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, + "license": "MIT", "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "node": ">=8" } }, - "node_modules/execa/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==", + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", "dev": true, + "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "is-obj": "^2.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/execa/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" } }, - "node_modules/expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "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": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/expand-tilde": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", - "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=", + "node_modules/duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" + "readable-stream": "^2.0.2" } }, - "node_modules/ext": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", - "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "node_modules/duplexer2/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==", + "dev": true, + "license": "MIT", "dependencies": { - "type": "^2.5.0" + "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/ext/node_modules/type": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", - "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/duplexer2/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==", + "dev": true, + "license": "MIT" }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "node_modules/duplexer2/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==", "dev": true, + "license": "MIT", "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "node_modules/duplexify": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.3.tgz", + "integrity": "sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==", "dev": true, + "license": "MIT", "dependencies": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.2" } }, - "node_modules/extglob/node_modules/define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "node_modules/each-props": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/each-props/-/each-props-1.3.2.tgz", + "integrity": "sha512-vV0Hem3zAGkJAyU7JSjixeU66rwdynTAa1vofCrSA5fEln+m67Az9CcnkVD776/fsN/UjIWmBDoNRS6t6G9RfA==", "dev": true, + "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" + "is-plain-object": "^2.0.1", + "object.defaults": "^1.1.0" } }, - "node_modules/extglob/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/each-props/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/extglob/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/extglob/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "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==", + "dev": true, + "license": "MIT" + }, + "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": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "once": "^1.4.0" } }, - "node_modules/extglob/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6" } }, - "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==", + "node_modules/env-ci": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-5.5.0.tgz", + "integrity": "sha512-o0JdWIbOLP+WJKIUt36hz1ImQQFuN92nhsfTkHHap+J8CiI8WgGpH/a9jEGHh4/TU5BUUGjlnKXNoDb57+ne+A==", "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1", - "get-stream": "^5.1.0", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" + "execa": "^5.0.0", + "fromentries": "^1.3.2", + "java-properties": "^1.0.0" }, "engines": { - "node": ">= 10.17.0" - }, - "optionalDependencies": { - "@types/yauzl": "^2.9.1" + "node": ">=10.17" } }, - "node_modules/extract-zip/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/env-ci/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": { - "ms": "2.1.2" + "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": ">=6.0" + "node": ">=10" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "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==", + "node_modules/env-ci/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, - "dependencies": { - "pump": "^3.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "node_modules/env-ci/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": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } }, - "node_modules/extract-zip/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "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": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" + "is-arrayish": "^0.2.1" } }, - "node_modules/fancy-log": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", - "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", + "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, - "dependencies": { - "ansi-gray": "^0.1.1", - "color-support": "^1.1.3", - "parse-node-version": "^1.0.0", - "time-stamp": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">= 0.4" } }, - "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==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "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, - "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.4" - }, + "license": "MIT", "engines": { - "node": ">=8.6.0" + "node": ">= 0.4" } }, - "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==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", - "integrity": "sha1-5qdUzI8V5YmHqpy9J69m/W9OWvk=", - "dev": true - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "node_modules/es-html-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/es-html-parser/-/es-html-parser-0.3.1.tgz", + "integrity": "sha512-YTEasG4xt7FEN4b6qJIPbFo/fzQ5kjRMEQ33QMqSXTvfXqAbC2rHxo32x2/1Rhq7Mlu6wI3MIpM5Kf2VHPXrUQ==", "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } + "license": "MIT" }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=", + "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": { - "pend": "~1.2.0" + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" } }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "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": { - "escape-string-regexp": "^1.0.5" + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.4" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, + "license": "ISC", "dependencies": { - "flat-cache": "^3.0.4" + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10" } }, - "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==", - "dev": true, - "optional": true + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } }, - "node_modules/fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "license": "ISC", "dependencies": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" + "d": "^1.0.2", + "ext": "^1.7.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.12" } }, - "node_modules/find-replace": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-replace/-/find-replace-3.0.0.tgz", - "integrity": "sha512-6Tb2myMioCAgv5kfvP5/PkZZ/ntTpVK39fHY7WkWBgvbeE+VHd/tZuZ4mrC+bxh4cfOZeYKVPaJIZtZXV7GNCQ==", + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", "dev": true, + "license": "ISC", "dependencies": { - "array-back": "^3.0.1" - }, - "engines": { - "node": ">=4.0.0" + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" } }, - "node_modules/find-up": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", - "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "dependencies": { - "path-exists": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/find-versions": { + "node_modules/escape-string-regexp": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", - "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "dependencies": { - "semver-regex": "^3.1.2" - }, + "license": "MIT", "engines": { "node": ">=10" }, @@ -10447,1750 +4929,1682 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/findup-sync": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", - "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", + "node_modules/eslint": { + "version": "9.39.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", + "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { - "detect-file": "^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.1", + "@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", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "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" }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/findup-sync/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/findup-sync/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" + "funding": { + "url": "https://eslint.org/donate" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } } }, - "node_modules/findup-sync/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "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, - "dependencies": { - "kind-of": "^6.0.0" + "license": "MIT", + "peer": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">=0.10.0" + "funding": { + "url": "https://opencollective.com/eslint-config-prettier" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/findup-sync/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/eslint-plugin-cypress": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-5.2.0.tgz", + "integrity": "sha512-vuCUBQloUSILxtJrUWV39vNIQPlbg0L7cTunEAzvaUzv9LFZZym+KFLH18n9j2cZuFPdlxOqTubCvg5se0DyGw==", "dev": true, + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "globals": "^16.2.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "eslint": ">=9" } }, - "node_modules/findup-sync/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/eslint-plugin-prettier": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.4.tgz", + "integrity": "sha512-swNtI95SToIz05YINMA6Ox5R057IMAmWZ26GqPxusAp1TZzj+IdY9tXNWWD3vkF/wEqydCONcwjTFpxybBqZsg==", "dev": true, + "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.11.7" }, "engines": { - "node": ">=0.10.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/findup-sync/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "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==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "isobject": "^3.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/findup-sync/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "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==", "dev": true, + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/findup-sync/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/eslint/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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "@types/json-schema": "^7.0.15" }, "engines": { - "node": ">=0.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/fined": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", - "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", + "node_modules/eslint/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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "expand-tilde": "^2.0.2", - "is-plain-object": "^2.0.3", - "object.defaults": "^1.1.0", - "object.pick": "^1.2.0", - "parse-filepath": "^1.0.1" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">= 0.10" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/fined/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/eslint/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==", "dev": true, + "license": "ISC", "dependencies": { - "isobject": "^3.0.1" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/flagged-respawn": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", - "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" + "node": ">=10.13.0" } }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "license": "ISC", "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=0.10" } }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "glob": "^7.1.3" + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" }, - "bin": { - "rimraf": "bin.js" + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "url": "https://opencollective.com/eslint" } }, - "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "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, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fontoxpath": { - "version": "3.33.0", - "resolved": "https://registry.npmjs.org/fontoxpath/-/fontoxpath-3.33.0.tgz", - "integrity": "sha512-jfueYCE58Sf+huy9puHo2usUBtkJ6+02zqTu0KOqqMfQa1Ov8WQMrxbJojFwNwxoUK8bNK1cANZxsjzqVCgUCQ==", - "dependencies": { - "prsc": "4.0.0", - "xspattern": "^3.1.0" - } - }, - "node_modules/for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/for-own": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", - "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=", + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "for-in": "^1.0.1" + "estraverse": "^5.1.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.10" } }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "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==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "estraverse": "^5.2.0" }, "engines": { - "node": ">= 6" + "node": ">=4.0" } }, - "node_modules/fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "dependencies": { - "map-cache": "^0.2.2" - }, + "license": "BSD-2-Clause", "engines": { - "node": ">=0.10.0" + "node": ">=4.0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, + "license": "BSD-2-Clause", "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", - "dev": true, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "license": "MIT", "dependencies": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "d": "1", + "es5-ext": "~0.10.14" } }, - "node_modules/fromentries": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", - "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", - "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" - } - ] - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", - "dev": true - }, - "node_modules/fs-extra": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", - "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, + "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", "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/fs-mkdirp-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", - "integrity": "sha1-C3gV/DIBxqaeFNuYzgmMFpNSWes=", + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.11", - "through2": "^2.0.3" - }, - "engines": { - "node": ">= 0.10" - } + "license": "MIT" }, - "node_modules/fs-mkdirp-stream/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/events-universal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/events-universal/-/events-universal-1.0.1.tgz", + "integrity": "sha512-LUd5euvbMLpwOF8m6ivPCbhQeSiYVNb8Vs0fQ8QjXo0JTkEHpz8pxdQf0gStltaPpw0Cca8b39KxvK9cfKRiAw==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "bare-events": "^2.7.0" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true - }, - "node_modules/fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "deprecated": "fsevents 1 will break on node v14+ and could be using insecure binaries. Upgrade to fsevents 2.", + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", "dependencies": { - "bindings": "^1.5.0", - "nan": "^2.12.1" + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" }, "engines": { - "node": ">= 4.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "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==", + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.2.0" + }, "engines": { - "node": ">=6.9.0" + "node": ">=4" } }, - "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==", + "node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, "engines": { - "node": "6.* || 8.* || >= 10.*" + "node": ">=0.10.0" } }, - "node_modules/get-func-name": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", + "node_modules/expand-brackets/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "engines": { - "node": "*" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "is-descriptor": "^0.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-own-enumerable-property-symbols": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", - "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", - "dev": true - }, - "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, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "node_modules/expand-brackets/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, + "license": "MIT" + }, + "node_modules/expand-tilde": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz", + "integrity": "sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/git-log-parser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", - "integrity": "sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo=", - "dev": true, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "license": "ISC", "dependencies": { - "argv-formatter": "~1.0.0", - "spawn-error-forwarder": "~1.0.0", - "split2": "~1.0.0", - "stream-combiner2": "~1.1.1", - "through2": "~2.0.0", - "traverse": "~0.6.6" + "type": "^2.7.2" } }, - "node_modules/git-log-parser/node_modules/split2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", - "integrity": "sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ=", + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true, - "dependencies": { - "through2": "~2.0.0" - } + "license": "MIT" }, - "node_modules/git-log-parser/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" }, "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": ">=0.10.0" } }, - "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==", + "node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^4.0.1" + "is-descriptor": "^1.0.0" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/glob-stream": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", - "integrity": "sha1-cEXJlBOz65SIjYOrRtC0BMx73eQ=", + "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": "BSD-2-Clause", "dependencies": { - "extend": "^3.0.0", - "glob": "^7.1.1", - "glob-parent": "^3.1.0", - "is-negated-glob": "^1.0.0", - "ordered-read-streams": "^1.0.0", - "pumpify": "^1.3.5", - "readable-stream": "^2.1.5", - "remove-trailing-separator": "^1.0.1", - "to-absolute-glob": "^2.0.0", - "unique-stream": "^2.0.2" + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" }, "engines": { - "node": ">= 0.10" + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" } }, - "node_modules/glob-stream/node_modules/glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", "dev": true, - "dependencies": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - } + "engines": [ + "node >=0.6.0" + ], + "license": "MIT" }, - "node_modules/glob-stream/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/fancy-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-2.0.0.tgz", + "integrity": "sha512-9CzxZbACXMUXW13tS0tI8XsGGmxWzO2DmYrGuBJOJ8k8q2K7hwfJA5qHjuPPe8wtsco33YR9wc+Rlr5wYFvhSA==", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^2.1.0" + "color-support": "^1.1.3" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/glob-watcher": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", - "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", + "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==", "dev": true, - "dependencies": { - "anymatch": "^2.0.0", - "async-done": "^1.2.0", - "chokidar": "^2.0.0", - "is-negated-glob": "^1.0.0", - "just-debounce": "^1.0.0", - "normalize-path": "^3.0.0", - "object.defaults": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } + "license": "MIT" }, - "node_modules/global-modules": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", - "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", + "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": "Apache-2.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==", + "dev": true, + "license": "MIT" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "global-prefix": "^1.0.1", - "is-windows": "^1.0.1", - "resolve-dir": "^1.0.0" + "@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" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.6.0" } }, - "node_modules/global-prefix": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", - "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=", + "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==", + "dev": 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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", + "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", "dev": true, + "license": "ISC", "dependencies": { - "expand-tilde": "^2.0.2", - "homedir-polyfill": "^1.0.1", - "ini": "^1.3.4", - "is-windows": "^1.0.1", - "which": "^1.2.14" - }, - "engines": { - "node": ">=0.10.0" + "reusify": "^1.0.4" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "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, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "pend": "~1.2.0" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "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" + "escape-string-regexp": "^1.0.5" }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 4" + "node": ">=0.8.0" } }, - "node_modules/glogg": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", - "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "sparkles": "^1.0.0" + "flat-cache": "^4.0.0" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.10", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", - "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", - "dev": true - }, - "node_modules/gridjs": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/gridjs/-/gridjs-5.0.2.tgz", - "integrity": "sha512-7EaMc4/IhqRcSbdOYvHOlHETciWmbbhMU6rDr2e0UfzIXSkb7X3Lhf9+bGv+v4JaWnJW5GBillgIIHrAvIIoFg==", - "dependencies": { - "preact": "^10.5.12", - "tslib": "^2.0.1" + "node": ">=16.0.0" } }, - "node_modules/gridjs/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" - }, - "node_modules/growl": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", + "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==", "dev": true, - "engines": { - "node": ">=4.x" - } + "license": "MIT", + "optional": true }, - "node_modules/gulp": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", - "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "glob-watcher": "^5.0.3", - "gulp-cli": "^2.2.0", - "undertaker": "^1.2.1", - "vinyl-fs": "^3.0.0" - }, - "bin": { - "gulp": "bin/gulp.js" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "node_modules/gulp-cli": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", - "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-colors": "^1.0.1", - "archy": "^1.0.0", - "array-sort": "^1.0.0", - "color-support": "^1.1.3", - "concat-stream": "^1.6.0", - "copy-props": "^2.0.1", - "fancy-log": "^1.3.2", - "gulplog": "^1.0.0", - "interpret": "^1.4.0", - "isobject": "^3.0.1", - "liftoff": "^3.1.0", - "matchdep": "^2.0.0", - "mute-stdout": "^1.0.0", - "pretty-hrtime": "^1.0.0", - "replace-homedir": "^1.0.0", - "semver-greatest-satisfied-range": "^1.1.0", - "v8flags": "^3.2.0", - "yargs": "^7.1.0" - }, - "bin": { - "gulp": "bin/gulp.js" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gulp-cli/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "node_modules/find-versions": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-4.0.0.tgz", + "integrity": "sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==", "dev": true, + "license": "MIT", + "dependencies": { + "semver-regex": "^3.1.2" + }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gulp-cli/node_modules/cliui": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", - "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "node_modules/findup-sync": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-3.0.0.tgz", + "integrity": "sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wrap-ansi": "^2.0.0" + "detect-file": "^1.0.0", + "is-glob": "^4.0.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/gulp-cli/node_modules/get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true - }, - "node_modules/gulp-cli/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "node_modules/findup-sync/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", "dependencies": { - "number-is-nan": "^1.0.0" + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/gulp-cli/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "node_modules/findup-sync/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/gulp-cli/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/findup-sync/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": "^2.0.0" + "is-plain-object": "^2.0.4" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/gulp-cli/node_modules/wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "node_modules/findup-sync/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/gulp-cli/node_modules/y18n": { + "node_modules/findup-sync/node_modules/is-number/node_modules/kind-of": { "version": "3.2.2", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", - "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", - "dev": true - }, - "node_modules/gulp-cli/node_modules/yargs": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", - "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^3.0.0", - "cliui": "^3.2.0", - "decamelize": "^1.1.1", - "get-caller-file": "^1.0.1", - "os-locale": "^1.4.0", - "read-pkg-up": "^1.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^1.0.2", - "which-module": "^1.0.0", - "y18n": "^3.2.1", - "yargs-parser": "^5.0.1" + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/gulp-cli/node_modules/yargs-parser": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", - "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "node_modules/findup-sync/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^3.0.0", - "object.assign": "^4.1.0" + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/gulp-rename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.0.0.tgz", - "integrity": "sha512-97Vba4KBzbYmR5VBs9mWmK+HwIf5mj+/zioxfZhOKeXtx5ZjBk57KFlePf5nxq9QsTtFl0ejnHE3zTC9MHXqyQ==", + "node_modules/findup-sync/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "node_modules/gulp-replace": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.3.tgz", - "integrity": "sha512-HcPHpWY4XdF8zxYkDODHnG2+7a3nD/Y8Mfu3aBgMiCFDW3X2GiOKXllsAmILcxe3KZT2BXoN18WrpEFm48KfLQ==", + "node_modules/findup-sync/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "^14.14.41", - "@types/vinyl": "^2.0.4", - "istextorbinary": "^3.0.0", - "replacestream": "^4.0.3", - "yargs-parser": ">=5.0.0-security.0" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/gulp-replace/node_modules/@types/node": { - "version": "14.18.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.16.tgz", - "integrity": "sha512-X3bUMdK/VmvrWdoTkz+VCn6nwKwrKCFTHtqwBIaQJNx4RUIBBUFXM00bqPz/DsDd+Icjmzm6/tyYZzeGVqb6/Q==", - "dev": true - }, - "node_modules/gulp-zip": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.1.0.tgz", - "integrity": "sha512-XZr/y91IliK/SpR74g3TkZejGkGEmK7CSDjSghT1jXshgO+dFvpLIz9w9fpuwkew6i7k4F+G24TubNgq1ISzEw==", + "node_modules/findup-sync/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { - "get-stream": "^5.2.0", - "plugin-error": "^1.0.1", - "through2": "^3.0.1", - "vinyl": "^2.1.0", - "yazl": "^2.5.1" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "peerDependencies": { - "gulp": ">=4" - }, - "peerDependenciesMeta": { - "gulp": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/gulp-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==", + "node_modules/findup-sync/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "dependencies": { - "pump": "^3.0.0" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gulp-zip/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/gulp-zip/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" + "node": ">=0.10.0" } }, - "node_modules/gulplog": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", - "integrity": "sha1-4oxNRdBey77YGDY86PnFkmIp/+U=", + "node_modules/fined": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fined/-/fined-1.2.0.tgz", + "integrity": "sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==", "dev": true, + "license": "MIT", "dependencies": { - "glogg": "^1.0.0" + "expand-tilde": "^2.0.2", + "is-plain-object": "^2.0.3", + "object.defaults": "^1.1.0", + "object.pick": "^1.2.0", + "parse-filepath": "^1.0.1" }, "engines": { "node": ">= 0.10" } }, - "node_modules/handlebars": { - "version": "4.7.7", - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", - "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "node_modules/fined/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.0", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" + "isobject": "^3.0.1" }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/handlebars/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==", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", - "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "node_modules/flagged-respawn": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz", + "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 0.10" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": ">= 0.4.0" + "node": ">=16" } }, - "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "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==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "node_modules/flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", "dev": true, - "engines": { - "node": ">=4" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" } }, - "node_modules/has-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz", - "integrity": "sha1-mqqe7b/7G6OZCnsAEPtnjuAIEgc=", + "node_modules/flush-write-stream/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==", "dev": true, + "license": "MIT", "dependencies": { - "is-glob": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" + "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/has-glob/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/flush-write-stream/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==", "dev": true, - "dependencies": { - "is-extglob": "^2.1.0" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "node_modules/flush-write-stream/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==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "safe-buffer": "~5.1.0" } }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/fontoxpath": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/fontoxpath/-/fontoxpath-3.33.2.tgz", + "integrity": "sha512-MVtx/RYKiF91uDzcWsNmhKP4suRI+VLbR8ppB9Q1h9rhC0I48TgPh0U7JFGKAxFH70aJYr3/m3zBBKfATO52hQ==", + "license": "MIT", + "dependencies": { + "prsc": "4.0.0", + "xspattern": "^3.1.0" } }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", "dev": true, - "dependencies": { - "has-symbols": "^1.0.2" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/has-value": { + "node_modules/for-own": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz", + "integrity": "sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==", "dev": true, + "license": "MIT", "dependencies": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "for-in": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, + "license": "Apache-2.0", "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/has-values/node_modules/kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "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": { - "is-buffer": "^1.1.5" + "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": ">=0.10.0" + "node": ">= 6" } }, - "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==", + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", "dev": true, - "bin": { - "he": "bin/he" + "license": "MIT", + "engines": { + "node": ">= 14.17" } }, - "node_modules/homedir-polyfill": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", - "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", "dev": true, + "license": "MIT", "dependencies": { - "parse-passwd": "^1.0.0" + "map-cache": "^0.2.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/hook-std": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", - "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", + "node_modules/from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==", "dev": true, - "engines": { - "node": ">=8" + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" } }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true - }, - "node_modules/hotkeys-js": { - "version": "3.8.9", - "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.8.9.tgz", - "integrity": "sha512-R73wV21xjHq+sJcBhh+LJGvfZO5+p1vGFtEwCc6sCj5nnTyiZKBa1knge6LNBxHmlRe55PVBXNNM/4lJOIVAwQ==" - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "node_modules/from2/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==", "dev": true, + "license": "MIT", "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" + "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/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 + "node_modules/from2/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==", + "dev": true, + "license": "MIT" }, - "node_modules/html-minifier-terser": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", - "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "node_modules/from2/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==", "dev": true, + "license": "MIT", "dependencies": { - "camel-case": "^4.1.1", - "clean-css": "^4.2.3", - "commander": "^4.1.1", - "he": "^1.2.0", - "param-case": "^3.0.3", - "relateurl": "^0.2.7", - "terser": "^4.6.3" - }, - "bin": { - "html-minifier-terser": "cli.js" - }, - "engines": { - "node": ">=6" + "safe-buffer": "~5.1.0" } }, - "node_modules/htmlparser2": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-7.2.0.tgz", - "integrity": "sha512-H7MImA4MS6cw7nbyURtLPO1Tms7C5H602LRETv95z1MxO/7CP7rDVROehUYeYBUYEON94NXXDEPmZuq+hX4sog==", + "node_modules/fromentries": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/fromentries/-/fromentries-1.3.2.tgz", + "integrity": "sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==", "dev": true, "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", { "type": "github", - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } ], - "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.2", - "domutils": "^2.8.0", - "entities": "^3.0.1" - } + "license": "MIT" }, - "node_modules/http-assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/http-assert/-/http-assert-1.5.0.tgz", - "integrity": "sha512-uPpH7OKX4H25hBmU6G1jWNaqJGpTXxey+YOUizJUAgu0AjLUeC8D73hTrhvDS5D+GJN1DN1+hhc/eF/wpxtp0w==", + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dev": true, + "license": "MIT", "dependencies": { - "deep-equal": "~1.0.1", - "http-errors": "~1.8.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">= 0.8" + "node": ">=12" } }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "node_modules/fs-mkdirp-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-mkdirp-stream/-/fs-mkdirp-stream-1.0.0.tgz", + "integrity": "sha512-+vSd9frUnapVC2RZYfL3FCB2p3g4TBhaUmrsWlSudsGdnxIuUvBB2QM1VZeBtc49QFwrp+wQLrDs3+xxDgI5gQ==", "dev": true, + "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" + "graceful-fs": "^4.1.11", + "through2": "^2.0.3" }, "engines": { - "node": ">= 0.6" + "node": ">= 0.10" } }, - "node_modules/http-errors/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/fs-mkdirp-stream/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==", "dev": true, - "engines": { - "node": ">= 0.6" + "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" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "node_modules/fs-mkdirp-stream/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/fs-mkdirp-stream/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==", "dev": true, + "license": "MIT", "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" + "safe-buffer": "~5.1.0" } }, - "node_modules/http-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/fs-mkdirp-stream/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/http-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "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/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 6" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/https-proxy-agent/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/https-proxy-agent/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "node_modules/get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", "dev": true, - "engines": { - "node": ">=8.12.0" - } + "license": "ISC" }, - "node_modules/husky": { - "version": "4.3.8", - "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", - "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", + "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, - "hasInstallScript": true, + "license": "MIT", "dependencies": { - "chalk": "^4.0.0", - "ci-info": "^2.0.0", - "compare-versions": "^3.6.0", - "cosmiconfig": "^7.0.0", - "find-versions": "^4.0.0", - "opencollective-postinstall": "^2.0.2", - "pkg-dir": "^5.0.0", - "please-upgrade-node": "^3.2.0", - "slash": "^3.0.0", - "which-pm-runs": "^1.0.0" - }, - "bin": { - "husky-run": "bin/run.js", - "husky-upgrade": "lib/upgrader/bin.js" + "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": { - "type": "opencollective", - "url": "https://opencollective.com/husky" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/husky/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true, + "license": "ISC" + }, + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.4" } }, - "node_modules/husky/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==", + "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/husky/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==", + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/i18next": { - "version": "19.8.1", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.8.1.tgz", - "integrity": "sha512-uDOyiSExuqIOoF1G5hzgyaPkds5RgOlLmklw/wR7vlsbmQ8lBuzjoV2qiL2H0jMp+xkdrHHjt0w00H0fuHpVWw==", + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.10.1" + "assert-plus": "^1.0.0" } }, - "node_modules/i18next-browser-languagedetector": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.4.tgz", - "integrity": "sha512-wukWnFeU7rKIWT66VU5i8I+3Zc4wReGcuDK2+kuFhtoxBRGWGdvYI9UQmqNL/yQH1KogWwh+xGEaIPH8V/i2Zg==", + "node_modules/git-log-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.1.tgz", + "integrity": "sha512-PI+sPDvHXNPl5WNOErAK05s3j0lgwUzMN6o8cyQrDaKfT3qd7TmNJKeXX+SknI5I0QhG5fVPAEwSY4tRGDtYoQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.14.6" + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "0.6.8" } }, - "node_modules/i18next-browser-languagedetector/node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "node_modules/git-log-parser/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==", + "dev": true, + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" + "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/i18next-chained-backend": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/i18next-chained-backend/-/i18next-chained-backend-2.1.0.tgz", - "integrity": "sha512-Cr9+kA0mIGZJHLliSdRfoAlrRbKrqWV2+73NXoq6dToC6RhoAJS3fR0E/UdXFMpQJuNdVr2i8VeO6pt6kqyQAQ==", + "node_modules/git-log-parser/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/git-log-parser/node_modules/split2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", + "integrity": "sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==", + "dev": true, + "license": "ISC", "dependencies": { - "@babel/runtime": "^7.13.10" + "through2": "~2.0.0" } }, - "node_modules/i18next-chained-backend/node_modules/@babel/runtime": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.9.tgz", - "integrity": "sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg==", + "node_modules/git-log-parser/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==", + "dev": true, + "license": "MIT", "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/i18next-xhr-backend": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/i18next-xhr-backend/-/i18next-xhr-backend-3.2.2.tgz", - "integrity": "sha512-OtRf2Vo3IqAxsttQbpjYnmMML12IMB5e0fc5B7qKJFLScitYaXa1OhMX0n0X/3vrfFlpHL9Ro/H+ps4Ej2j7QQ==", - "deprecated": "replaced by i18next-http-backend", + "node_modules/git-log-parser/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.5.5" + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "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==", + "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": "ISC", "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "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": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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==", "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": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "node_modules/glob-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-7.0.0.tgz", + "integrity": "sha512-evR4kvr6s0Yo5t4CD4H171n4T8XcnPFznvsbeN8K9FPzc0Q0wYqcOWyGtck2qcvJSLXKnU6DnDyfmbDDabYvRQ==", "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.2", + "glob": "^7.2.0", + "glob-parent": "^6.0.2", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.1", + "pumpify": "^2.0.1", + "readable-stream": "^3.6.0", + "remove-trailing-separator": "^1.1.0", + "to-absolute-glob": "^2.0.2", + "unique-stream": "^2.3.1" + }, "engines": { - "node": ">= 4" + "node": ">=10.13.0" } }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "node_modules/glob-stream/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==", "dev": true, + "license": "ISC", "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10.13.0" } }, - "node_modules/import-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", - "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", + "node_modules/glob-watcher": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/glob-watcher/-/glob-watcher-5.0.5.tgz", + "integrity": "sha512-zOZgGGEHPklZNjZQaZ9f41i7F2YwE+tS5ZHrDhbBCk3stwahn5vQxnFmBJZHoYdusR6R1bLSXeGUy/BhctwKzw==", "dev": true, + "license": "MIT", "dependencies": { - "resolve-from": "^5.0.0" + "anymatch": "^2.0.0", + "async-done": "^1.2.0", + "chokidar": "^2.0.0", + "is-negated-glob": "^1.0.0", + "just-debounce": "^1.0.0", + "normalize-path": "^3.0.0", + "object.defaults": "^1.1.0" }, "engines": { - "node": ">=8" + "node": ">= 0.10" } }, - "node_modules/import-from/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==", + "node_modules/glob-watcher/node_modules/anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", "dev": true, - "engines": { - "node": ">=8" + "license": "ISC", + "dependencies": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" } }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "node_modules/glob-watcher/node_modules/anymatch/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, "engines": { - "node": ">=0.8.19" + "node": ">=0.10.0" } }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "node_modules/glob-watcher/node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/inflation": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/inflation/-/inflation-2.0.0.tgz", - "integrity": "sha1-i0F+R8KPklpFEz2RTKH9OJEH8w8=", + "node_modules/glob-watcher/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, "engines": { - "node": ">= 0.8.0" + "node": ">=0.10.0" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "node_modules/glob-watcher/node_modules/chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, + "license": "MIT", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "optionalDependencies": { + "fsevents": "^1.2.7" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", - "dev": true - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "node_modules/glob-watcher/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", "dev": true, + "license": "MIT", "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=0.10.0" } }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "node_modules/glob-watcher/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "Upgrade to fsevents v2 to mitigate potential security issues", "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, "engines": { - "node": ">= 0.10" + "node": ">= 4.0" } }, - "node_modules/intersection-observer": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.7.0.tgz", - "integrity": "sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==", - "dev": true + "node_modules/glob-watcher/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } }, - "node_modules/intl-list-format": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/intl-list-format/-/intl-list-format-1.0.3.tgz", - "integrity": "sha512-VNF1Mh0K1xALXkz/5QsK1gfKRvEQO/jWaniTGAzQvbzGr5uyGDskQrRjnf6Qnbc9/JRbNE8BQtTg6iWuFrZorw==", + "node_modules/glob-watcher/node_modules/glob-parent/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, "engines": { - "node": ">=4.0.0" + "node": ">=0.10.0" } }, - "node_modules/into-stream": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", - "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==", + "node_modules/glob-watcher/node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", "dev": true, + "license": "MIT", "dependencies": { - "from2": "^2.3.0", - "p-is-promise": "^3.0.0" + "binary-extensions": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.10.0" } }, - "node_modules/invert-kv": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", - "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=", + "node_modules/glob-watcher/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "node_modules/is-absolute": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", - "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", + "node_modules/glob-watcher/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { - "is-relative": "^1.0.0", - "is-windows": "^1.0.1" + "kind-of": "^3.0.2" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/glob-watcher/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-accessor-descriptor/node_modules/kind-of": { + "node_modules/glob-watcher/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -12198,1523 +6612,1416 @@ "node": ">=0.10.0" } }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/glob-watcher/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "dependencies": { - "has-bigints": "^1.0.1" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "node_modules/glob-watcher/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { - "binary-extensions": "^1.0.0" + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "node_modules/glob-watcher/node_modules/micromatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true + "node_modules/glob-watcher/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==", + "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" + } }, - "node_modules/is-builtin-module": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.1.0.tgz", - "integrity": "sha512-OV7JjAgOTfAFJmHZLvpSTb4qi0nIILDV1gWPYDnDJUTNFM5aGlRAhk4QcT8i7TuAleeEV5Fdkqn3t4mS+Q11fg==", + "node_modules/glob-watcher/node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", "dev": true, + "license": "MIT", "dependencies": { - "builtin-modules": "^3.0.0" + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" }, "engines": { - "node": ">=6" + "node": ">=0.10" } }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "node_modules/glob-watcher/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==", "dev": true, - "engines": { - "node": ">= 0.4" + "license": "MIT" + }, + "node_modules/glob-watcher/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/glob-watcher/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", "dev": true, + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/global-modules": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz", + "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "global-prefix": "^1.0.1", + "is-windows": "^1.0.1", + "resolve-dir": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-data-descriptor/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/global-prefix": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz", + "integrity": "sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "expand-tilde": "^2.0.2", + "homedir-polyfill": "^1.0.1", + "ini": "^1.3.4", + "is-windows": "^1.0.1", + "which": "^1.2.14" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "node_modules/global-prefix/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", "dev": true, - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "license": "ISC" }, - "node_modules/is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/global-prefix/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": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "isexe": "^2.0.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "which": "bin/which" } }, - "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==", + "node_modules/globals": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.5.0.tgz", + "integrity": "sha512-c/c15i26VrJ4IRt5Z89DnIzCGDn9EcebibhAOjw5ibqEHsE1wLUgkPn9RDmNcUKyU87GeaL633nyJ+pplFR2ZQ==", "dev": true, - "bin": { - "is-docker": "cli.js" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "node_modules/glogg": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/glogg/-/glogg-1.0.2.tgz", + "integrity": "sha512-5mwUoSuBk44Y4EshyiqcH95ZntbDdTQqA3QYSrxmzj28Ai0vXBGMH1ApSANH14j2sIRtqCEyg6PfsuP7ElOEDA==", "dev": true, + "license": "MIT", + "dependencies": { + "sparkles": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "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==", + "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", "engines": { - "node": ">=8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "@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" }, "engines": { - "node": ">= 0.4" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/got?sponsor=1" } }, - "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==", + "node_modules/got/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, - "dependencies": { - "is-extglob": "^2.1.1" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "node_modules/is-negated-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", - "integrity": "sha1-aRC8pdqMleeEtXUbl2z1oQ/uNtI=", + "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==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "ISC" + }, + "node_modules/gridjs": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gridjs/-/gridjs-5.1.0.tgz", + "integrity": "sha512-ElT4RccHVZXR6mAn0Neh7jRv0yLPYLl9tWr9EC1tIJ7UC035kScGc/VMSJlPmOTyUU6qPUz1mtmzg/i8+IT24g==", + "license": "MIT", + "dependencies": { + "preact": "^10.10.6" } }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "node_modules/gulp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/gulp/-/gulp-4.0.2.tgz", + "integrity": "sha512-dvEs27SCZt2ibF29xYgmnwwCYZxdxhQ/+LFWlbAW8y7jt68L/65402Lz3+CKy0Ov4rOs+NERmDq7YlZaDqUIfA==", "dev": true, - "engines": { - "node": ">= 0.4" + "license": "MIT", + "dependencies": { + "glob-watcher": "^5.0.3", + "gulp-cli": "^2.2.0", + "undertaker": "^1.2.1", + "vinyl-fs": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "gulp": "bin/gulp.js" + }, + "engines": { + "node": ">= 0.10" } }, - "node_modules/is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "node_modules/gulp-cli": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/gulp-cli/-/gulp-cli-2.3.0.tgz", + "integrity": "sha512-zzGBl5fHo0EKSXsHzjspp3y5CONegCm8ErO5Qh0UzFzk2y4tMvzLWhoDokADbarfZRL2pGpRp7yt6gfJX4ph7A==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.0.2" + "ansi-colors": "^1.0.1", + "archy": "^1.0.0", + "array-sort": "^1.0.0", + "color-support": "^1.1.3", + "concat-stream": "^1.6.0", + "copy-props": "^2.0.1", + "fancy-log": "^1.3.2", + "gulplog": "^1.0.0", + "interpret": "^1.4.0", + "isobject": "^3.0.1", + "liftoff": "^3.1.0", + "matchdep": "^2.0.0", + "mute-stdout": "^1.0.0", + "pretty-hrtime": "^1.0.0", + "replace-homedir": "^1.0.0", + "semver-greatest-satisfied-range": "^1.1.0", + "v8flags": "^3.2.0", + "yargs": "^7.1.0" + }, + "bin": { + "gulp": "bin/gulp.js" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/is-number-object": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", - "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "node_modules/gulp-cli/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" + "ansi-wrap": "^0.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=0.10.0" } }, - "node_modules/is-number/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/gulp-cli/node_modules/fancy-log": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/fancy-log/-/fancy-log-1.3.3.tgz", + "integrity": "sha512-k9oEhlyc0FrVh25qYuSELjr8oxsCoc4/LEZfg2iJJrfEk/tZL9bCoJE47gqAvI2m/AUjluCS4+3I0eTx8n3AEw==", "dev": true, + "license": "MIT", "dependencies": { - "is-buffer": "^1.1.5" + "ansi-gray": "^0.1.1", + "color-support": "^1.1.3", + "parse-node-version": "^1.0.0", + "time-stamp": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "node_modules/gulp-rename": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/gulp-rename/-/gulp-rename-2.1.0.tgz", + "integrity": "sha512-dGuzuH8jQGqCMqC544IEPhs5+O2l+IkdoSZsgd4kY97M1CxQeI3qrmweQBIrxLBbjbe/8uEWK8HHcNBc3OCy4g==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "node_modules/gulp-replace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/gulp-replace/-/gulp-replace-1.1.4.tgz", + "integrity": "sha512-SVSF7ikuWKhpAW4l4wapAqPPSToJoiNKsbDoUnRrSgwZHH7lH8pbPeQj1aOVYQrbZKhfSVBxVW+Py7vtulRktw==", "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/vinyl": "^2.0.4", + "istextorbinary": "^3.0.0", + "replacestream": "^4.0.3", + "yargs-parser": ">=5.0.0-security.0" + }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "node_modules/gulp-zip": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/gulp-zip/-/gulp-zip-5.1.0.tgz", + "integrity": "sha512-XZr/y91IliK/SpR74g3TkZejGkGEmK7CSDjSghT1jXshgO+dFvpLIz9w9fpuwkew6i7k4F+G24TubNgq1ISzEw==", "dev": true, + "license": "MIT", + "dependencies": { + "get-stream": "^5.2.0", + "plugin-error": "^1.0.1", + "through2": "^3.0.1", + "vinyl": "^2.1.0", + "yazl": "^2.5.1" + }, "engines": { "node": ">=8" + }, + "peerDependencies": { + "gulp": ">=4" + }, + "peerDependenciesMeta": { + "gulp": { + "optional": true + } } }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "node_modules/gulp-zip/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-wrap": "^0.1.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/is-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "node_modules/gulp-zip/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-potential-custom-element-name": { + "node_modules/gulp-zip/node_modules/is-extendable": { "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 - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" + "is-plain-object": "^2.0.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regexp": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", - "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", - "dev": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-relative": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", - "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "node_modules/gulp-zip/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "is-unc-path": "^1.0.0" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", - "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "node_modules/gulp-zip/node_modules/plugin-error": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", + "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", "dev": true, + "license": "MIT", "dependencies": { - "call-bind": "^1.0.2" + "ansi-colors": "^1.0.1", + "arr-diff": "^4.0.0", + "arr-union": "^3.1.0", + "extend-shallow": "^3.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.10" } }, - "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==", + "node_modules/gulp-zip/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.10" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/gulp-zip/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "inherits": "^2.0.4", + "readable-stream": "2 || 3" } }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "node_modules/gulp-zip/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, + "license": "MIT", "dependencies": { - "has-symbols": "^1.0.2" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.10" } }, - "node_modules/is-text-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", - "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "node_modules/gulplog": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz", + "integrity": "sha512-hm6N8nrm3Y08jXie48jsC55eCZz9mnb4OirAStEk2deqeyhXU3C1otDVh+ccttMuc1sBi6RX6ZJ720hs9RCvgw==", "dev": true, + "license": "MIT", "dependencies": { - "text-extensions": "^1.0.0" + "glogg": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/is-unc-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", - "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", "dev": true, + "license": "MIT", "dependencies": { - "unc-path-regex": "^0.1.2" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": ">=0.10.0" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/is-utf8": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", - "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=", - "dev": true + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/is-valid-element-name": { + "node_modules/has-glob": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-element-name/-/is-valid-element-name-1.0.0.tgz", - "integrity": "sha1-Ju8/12zfHxItEFQG4y01sN4AWYE=", + "resolved": "https://registry.npmjs.org/has-glob/-/has-glob-1.0.0.tgz", + "integrity": "sha512-D+8A457fBShSEI3tFCj65PAbT++5sKiFtdCdOam0gnfBgw9D277OERk+HM9qYJXmdVLZ/znez10SqHN0BBQ50g==", "dev": true, + "license": "MIT", "dependencies": { - "is-potential-custom-element-name": "^1.0.0" + "is-glob": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/is-valid-glob": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", - "integrity": "sha1-Kb8+/3Ab4tTTFdusw5vDn+j2Aao=", + "node_modules/has-glob/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-weakref": { + "node_modules/has-property-descriptors": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "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": { - "call-bind": "^1.0.2" + "es-define-property": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "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.10.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": "MIT", "dependencies": { - "is-docker": "^2.0.0" + "has-symbols": "^1.0.3" }, "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "engines": { - "node": ">= 8.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/gjtorikian/" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", "dev": true, + "license": "MIT", + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/issue-parser": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", - "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", "dev": true, + "license": "MIT", "dependencies": { - "lodash.capitalize": "^4.2.1", - "lodash.escaperegexp": "^4.1.2", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.uniqby": "^4.7.0" + "is-number": "^3.0.0", + "kind-of": "^4.0.0" }, "engines": { - "node": ">=10.13" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report": { + "node_modules/has-values/node_modules/is-number": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/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==", - "dev": true, - "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", "dev": true, + "license": "MIT", "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istextorbinary": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", - "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", + "node_modules/hasha": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/hasha/-/hasha-5.2.2.tgz", + "integrity": "sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==", "dev": true, + "license": "MIT", "dependencies": { - "binaryextensions": "^2.2.0", - "textextensions": "^3.2.0" + "is-stream": "^2.0.0", + "type-fest": "^0.8.0" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://bevry.me/fund" - } - }, - "node_modules/java-properties": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", - "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", - "dev": true, - "engines": { - "node": ">= 0.6.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/js-cookie": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", - "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" - }, - "node_modules/js-levenshtein-esm": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/js-levenshtein-esm/-/js-levenshtein-esm-1.2.0.tgz", - "integrity": "sha512-fzreKVq1eD7eGcQr7MtRpQH94f8gIfhdrc7yeih38xh684TNMK9v5aAu2wxfIRMk/GpAJRrzcirMAPIaSDaByQ==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, + "license": "MIT", "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "function-bind": "^1.1.2" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">= 0.4" } }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "node_modules/homedir-polyfill": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", + "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", "dev": true, + "license": "MIT", "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "parse-passwd": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/jsdom/node_modules/acorn": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "node_modules/hook-std": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-2.0.0.tgz", + "integrity": "sha512-zZ6T5WcuBMIUVh49iPQS9t977t7C0l7OtHrpeMb5uk48JdflRX0NSFvCekfYNmGQETnLq9W/isMyHl69kxGi8g==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, + "license": "MIT", "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/jsdom/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", "dev": true, + "license": "ISC", "dependencies": { - "punycode": "^2.1.1" + "lru-cache": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + } + }, + "node_modules/hotkeys-js": { + "version": "3.13.15", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.13.15.tgz", + "integrity": "sha512-gHh8a/cPTCpanraePpjRxyIlxDFrIhYqjuh01UHWEwDpglJKCnvLW8kqSx5gQtOuSsJogNZXLhOdbSExpgUiqg==", + "license": "MIT", + "funding": { + "url": "https://jaywcjlove.github.io/#/sponsor" } }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "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-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "dev": true, + "license": "MIT", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" }, "engines": { - "node": ">=10" + "node": ">= 6" } }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "node_modules/http-signature": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", + "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", "dev": true, - "bin": { - "jsesc": "bin/jsesc" + "license": "MIT", + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.18.0" }, "engines": { - "node": ">=4" + "node": ">=0.10" } }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "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 - }, - "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==", - "dev": true - }, - "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": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "node_modules/json5": { + "node_modules/http2-wrapper": { "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", "dev": true, - "bin": { - "json5": "lib/cli.js" + "license": "MIT", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" }, "engines": { - "node": ">=6" + "node": ">=10.19.0" } }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dev": true, + "license": "MIT", "dependencies": { - "universalify": "^2.0.0" + "agent-base": "6", + "debug": "4" }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "engines": { + "node": ">= 6" } }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", "dev": true, - "engines": [ - "node >= 0.2.0" - ] + "license": "Apache-2.0", + "engines": { + "node": ">=8.12.0" + } }, - "node_modules/JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/husky": { + "version": "4.3.8", + "resolved": "https://registry.npmjs.org/husky/-/husky-4.3.8.tgz", + "integrity": "sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==", "dev": true, + "hasInstallScript": true, + "license": "MIT", "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "compare-versions": "^3.6.0", + "cosmiconfig": "^7.0.0", + "find-versions": "^4.0.0", + "opencollective-postinstall": "^2.0.2", + "pkg-dir": "^5.0.0", + "please-upgrade-node": "^3.2.0", + "slash": "^3.0.0", + "which-pm-runs": "^1.0.0" }, "bin": { - "JSONStream": "bin.js" + "husky-run": "bin/run.js", + "husky-upgrade": "lib/upgrader/bin.js" }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/husky" } }, - "node_modules/just-debounce": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", - "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", - "dev": true - }, - "node_modules/keygrip": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/keygrip/-/keygrip-1.1.0.tgz", - "integrity": "sha512-iYSchDJ+liQ8iwbSI2QqsQOvqv58eJCEanyJPJi+Khyu8smkcKSFUCbPwzFcL7YVtZ6eONjqRX/38caJ7QjRAQ==", + "node_modules/husky/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", "dev": true, + "license": "MIT" + }, + "node_modules/i18next": { + "version": "19.8.1", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-19.8.1.tgz", + "integrity": "sha512-uDOyiSExuqIOoF1G5hzgyaPkds5RgOlLmklw/wR7vlsbmQ8lBuzjoV2qiL2H0jMp+xkdrHHjt0w00H0fuHpVWw==", + "license": "MIT", "dependencies": { - "tsscmp": "1.0.6" - }, - "engines": { - "node": ">= 0.6" + "@babel/runtime": "^7.10.1" } }, - "node_modules/kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "node_modules/i18next-browser-languagedetector": { + "version": "6.1.8", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-6.1.8.tgz", + "integrity": "sha512-Svm+MduCElO0Meqpj1kJAriTC6OhI41VhlT/A0UPjGoPZBhAHIaGE5EfsHlTpgdH09UVX7rcc72pSDDBeKSQQA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.19.0" + } + }, + "node_modules/i18next-chained-backend": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/i18next-chained-backend/-/i18next-chained-backend-2.1.0.tgz", + "integrity": "sha512-Cr9+kA0mIGZJHLliSdRfoAlrRbKrqWV2+73NXoq6dToC6RhoAJS3fR0E/UdXFMpQJuNdVr2i8VeO6pt6kqyQAQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" } }, - "node_modules/koa": { - "version": "2.13.4", - "resolved": "https://registry.npmjs.org/koa/-/koa-2.13.4.tgz", - "integrity": "sha512-43zkIKubNbnrULWlHdN5h1g3SEKXOEzoAlRsHOTFpnlDu8JlAOZSMJBLULusuXRequboiwJcj5vtYXKB3k7+2g==", - "dev": true, + "node_modules/i18next-xhr-backend": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/i18next-xhr-backend/-/i18next-xhr-backend-3.2.2.tgz", + "integrity": "sha512-OtRf2Vo3IqAxsttQbpjYnmMML12IMB5e0fc5B7qKJFLScitYaXa1OhMX0n0X/3vrfFlpHL9Ro/H+ps4Ej2j7QQ==", + "deprecated": "replaced by i18next-http-backend", + "license": "MIT", "dependencies": { - "accepts": "^1.3.5", - "cache-content-type": "^1.0.0", - "content-disposition": "~0.5.2", - "content-type": "^1.0.4", - "cookies": "~0.8.0", - "debug": "^4.3.2", - "delegates": "^1.0.0", - "depd": "^2.0.0", - "destroy": "^1.0.4", - "encodeurl": "^1.0.2", - "escape-html": "^1.0.3", - "fresh": "~0.5.2", - "http-assert": "^1.3.0", - "http-errors": "^1.6.3", - "is-generator-function": "^1.0.7", - "koa-compose": "^4.1.0", - "koa-convert": "^2.0.0", - "on-finished": "^2.3.0", - "only": "~0.0.2", - "parseurl": "^1.3.2", - "statuses": "^1.5.0", - "type-is": "^1.6.16", - "vary": "^1.1.2" - }, - "engines": { - "node": "^4.8.4 || ^6.10.1 || ^7.10.1 || >= 8.1.4" - } - }, - "node_modules/koa-compose": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", - "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", - "dev": true + "@babel/runtime": "^7.5.5" + } }, - "node_modules/koa-compress": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/koa-compress/-/koa-compress-3.1.0.tgz", - "integrity": "sha512-0m24/yS/GbhWI+g9FqtvStY+yJwTObwoxOvPok6itVjRen7PBWkjsJ8pre76m+99YybXLKhOJ62mJ268qyBFMQ==", + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "dev": true, - "dependencies": { - "bytes": "^3.0.0", - "compressible": "^2.0.0", - "koa-is-json": "^1.0.0", - "statuses": "^1.0.0" - }, + "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==", + "dev": true, + "license": "MIT", "engines": { - "node": ">= 8.0.0" + "node": ">= 4" } }, - "node_modules/koa-convert": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/koa-convert/-/koa-convert-2.0.0.tgz", - "integrity": "sha512-asOvN6bFlSnxewce2e/DK3p4tltyfC4VM7ZwuTuepI7dEQVcvpyFuBcEARu1+Hxg8DIwytce2n7jrZtRlPrARA==", + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { - "co": "^4.6.0", - "koa-compose": "^4.1.0" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, "engines": { - "node": ">= 10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/koa-etag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/koa-etag/-/koa-etag-4.0.0.tgz", - "integrity": "sha512-1cSdezCkBWlyuB9l6c/IFoe1ANCDdPBxkDkRiaIup40xpUub6U/wwRXoKBZw/O5BifX9OlqAjYnDyzM6+l+TAg==", + "node_modules/import-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-3.0.0.tgz", + "integrity": "sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==", "dev": true, + "license": "MIT", "dependencies": { - "etag": "^1.8.1" + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/koa-is-json": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/koa-is-json/-/koa-is-json-1.0.0.tgz", - "integrity": "sha1-JzwH7c3Ljfaiwat9We52SRRR7BQ=", - "dev": true - }, - "node_modules/koa-send": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/koa-send/-/koa-send-5.0.1.tgz", - "integrity": "sha512-tmcyQ/wXXuxpDxyNXv5yNNkdAMdFRqwtegBXUaowiQzUKqJehttS0x2j0eOZDQAyloAth5w6wwBImnFzkUz3pQ==", + "node_modules/import-from/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, - "dependencies": { - "debug": "^4.1.1", - "http-errors": "^1.7.3", - "resolve-path": "^1.4.0" - }, + "license": "MIT", "engines": { - "node": ">= 8" + "node": ">=8" } }, - "node_modules/koa-send/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, + "license": "MIT", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.8.19" } }, - "node_modules/koa-send/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/koa-static": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/koa-static/-/koa-static-5.0.0.tgz", - "integrity": "sha512-UqyYyH5YEXaJrf9S8E23GoJFQZXkBVJ9zYYMPGz919MSX1KuvAcycIuS0ci150HCoPf4XQVhQ84Qf8xRPWxFaQ==", + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "dev": true, - "dependencies": { - "debug": "^3.1.0", - "koa-send": "^5.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 7.6.0" + "node": ">=8" } }, - "node_modules/koa-static/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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": { - "ms": "^2.1.1" + "once": "^1.3.0", + "wrappy": "1" } }, - "node_modules/koa-static/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==", - "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==", + "dev": true, + "license": "ISC" }, - "node_modules/koa/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, + "license": "ISC", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=10" } }, - "node_modules/koa/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/last-run": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", - "integrity": "sha1-RblpQsF7HHnHchmCWbqUO+v4yls=", + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "dev": true, - "dependencies": { - "default-resolution": "^2.0.0", - "es6-weak-map": "^2.0.1" - }, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/lazystream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", - "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", + "node_modules/into-stream": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-6.0.0.tgz", + "integrity": "sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==", "dev": true, + "license": "MIT", "dependencies": { - "readable-stream": "^2.0.5" + "from2": "^2.3.0", + "p-is-promise": "^3.0.0" }, "engines": { - "node": ">= 0.6.3" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lcid": { + "node_modules/invert-kv": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", - "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha512-xgs2NH9AE66ucSq4cNG1nhSFghr5l6tdL15Pk+jl46bmmBapgoaY/AacXyaDznAqmGL99TiLSQgO/XazFSKYeQ==", "dev": true, - "dependencies": { - "invert-kv": "^1.0.0" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/lead": { + "node_modules/is-absolute": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", - "integrity": "sha1-bxT5mje+Op3XhPVJVpDlkDRm7kI=", + "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", + "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==", "dev": true, + "license": "MIT", "dependencies": { - "flush-write-stream": "^1.0.2" + "is-relative": "^1.0.0", + "is-windows": "^1.0.1" }, "engines": { - "node": ">= 0.10" - } - }, - "node_modules/leaflet": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", - "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==" - }, - "node_modules/leaflet.markercluster": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", - "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", - "peerDependencies": { - "leaflet": "^1.3.1" + "node": ">=0.10.0" } }, - "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==", + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", "dev": true, + "license": "MIT", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "hasown": "^2.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 0.10" } }, - "node_modules/liftoff": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", - "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", + "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, - "dependencies": { - "extend": "^3.0.0", - "findup-sync": "^3.0.0", - "fined": "^1.0.1", - "flagged-respawn": "^1.0.0", - "is-plain-object": "^2.0.4", - "object.map": "^1.0.0", - "rechoir": "^0.6.2", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">= 0.8" - } + "license": "MIT" }, - "node_modules/liftoff/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "binary-extensions": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/lighthouse-logger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.3.0.tgz", - "integrity": "sha512-BbqAKApLb9ywUli+0a+PcV04SyJ/N1q/8qgCNe6U97KbPCS1BTksEuHFLYdvc8DltuhfxIUBqDZsC0bBGtl3lA==", + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", "dev": true, - "dependencies": { - "debug": "^2.6.9", - "marky": "^1.2.2" - } - }, - "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 - }, - "node_modules/lint-staged": { - "version": "10.5.4", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", - "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", + "license": "MIT" + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "chalk": "^4.1.0", - "cli-truncate": "^2.1.0", - "commander": "^6.2.0", - "cosmiconfig": "^7.0.0", - "debug": "^4.2.0", - "dedent": "^0.7.0", - "enquirer": "^2.3.6", - "execa": "^4.1.0", - "listr2": "^3.2.2", - "log-symbols": "^4.0.0", - "micromatch": "^4.0.2", - "normalize-path": "^3.0.0", - "please-upgrade-node": "^3.2.0", - "string-argv": "0.3.1", - "stringify-object": "^3.3.0" + "hasown": "^2.0.2" }, - "bin": { - "lint-staged": "bin/lint-staged.js" + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/lint-staged" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "hasown": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "engines": { + "node": ">= 0.4" } }, - "node_modules/lint-staged/node_modules/commander": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", - "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/lint-staged/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, + "license": "MIT", "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/lint-staged/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==", + "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, - "node_modules/lint-staged/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/lint-staged/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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "is-extglob": "^2.1.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/listr2": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", - "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", "dev": true, + "license": "MIT", "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.1", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" }, "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" + "node": ">=10" }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/lit": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/lit/-/lit-2.2.3.tgz", - "integrity": "sha512-5/v+r9dH3Pw/o0rhp/qYk3ERvOUclNF31bWb0FiW6MPgwdQIr+/KCt/p3zcd8aPl8lIGnxdGrVcZA+gWS6oFOQ==", + "node_modules/is-negated-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-negated-glob/-/is-negated-glob-1.0.0.tgz", + "integrity": "sha512-czXVVn/QEmgvej1f50BZ648vUI+em0xqMq2Sn+QncCLN4zj1UAxlT+kw/6ggQTOaZPd1HqKQGEqbpQVtJucWug==", "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.3.0", - "lit-element": "^3.2.0", - "lit-html": "^2.2.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lit-element": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.0.tgz", - "integrity": "sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g==", + "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==", "dev": true, - "dependencies": { - "@lit/reactive-element": "^1.3.0", - "lit-html": "^2.2.0" + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, - "node_modules/lit-element/node_modules/lit-html": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.2.2.tgz", - "integrity": "sha512-cJofCRXuizwyaiGt9pJjJOcauezUlSB6t87VBXsPwRhbzF29MgD8GH6fZ0BuZdXAAC02IRONZBd//VPUuU8QbQ==", + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/lit-html": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz", - "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA==" + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "node_modules/lit/node_modules/lit-html": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.2.3.tgz", - "integrity": "sha512-vI4j3eWwtQaR8q/O63juZVliBIFMio716X719/lSsGH4UWPy2/7Qf377jsNs4cx3gCHgIbx8yxFgXFQ/igZyXQ==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "dependencies": { - "@types/trusted-types": "^2.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/load-json-file": { + "node_modules/is-plain-obj": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", - "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^2.2.0", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "strip-bom": "^2.0.0" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/locate-path": { + "node_modules/is-plain-object": { "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.assign": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", - "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=", - "dev": true - }, - "node_modules/lodash.capitalize": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", - "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=", - "dev": true - }, - "node_modules/lodash.escaperegexp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", - "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", - "dev": true - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", - "integrity": "sha1-dWy1FQyjum8RCFp4hJZF8Yj4Xzc=", - "dev": true - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", - "dev": true - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", - "dev": true - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=", - "dev": true - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true - }, - "node_modules/lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/lodash.uniqby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", - "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", - "dev": true + "node_modules/is-relative": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz", + "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-unc-path": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "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==", "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "text-extensions": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/log-symbols/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==", + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/log-symbols/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==", + "node_modules/is-unc-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz", + "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "unc-path-regex": "^0.1.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", "dev": true, - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, + "license": "MIT", "engines": { "node": ">=10" }, @@ -13722,1107 +8029,1285 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, + "license": "MIT" + }, + "node_modules/is-valid-glob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-1.0.0.tgz", + "integrity": "sha512-AhiROmoEFDSsjx8hW+5sGwgKVIORcXnrlAx/R0ZSeaPw70Vw0CqkGBBhHGL58Uox2eXnU1AnvXJl1XlyedO5bA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/log-update/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==", + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/loupe": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", - "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.0" - } + "license": "MIT" }, - "node_modules/lower-case": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", - "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "dependencies": { - "tslib": "^2.0.3" + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "node_modules/lower-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true, + "license": "MIT" }, - "node_modules/lru-cache": { + "node_modules/issue-parser": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-6.0.0.tgz", + "integrity": "sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==", "dev": true, + "license": "MIT", "dependencies": { - "yallist": "^4.0.0" + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" }, "engines": { - "node": ">=10" + "node": ">=10.13" } }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "node_modules/istextorbinary": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-3.3.0.tgz", + "integrity": "sha512-Tvq1W6NAcZeJ8op+Hq7tdZ434rqnMx4CCZ7H0ff83uEloDvVbqAwaMTZcafKGJT0VHkYzuXUiCY4hlXQg6WfoQ==", "dev": true, + "license": "MIT", "dependencies": { - "semver": "^6.0.0" + "binaryextensions": "^2.2.0", + "textextensions": "^3.2.0" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://bevry.me/fund" } }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/java-properties": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-1.0.2.tgz", + "integrity": "sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==", + "license": "MIT" + }, + "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==", + "dev": true, + "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==", "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, "bin": { - "semver": "bin/semver.js" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/make-iterator": { + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": 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/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true, + "license": "(AFL-2.1 OR BSD-3-Clause)" + }, + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", - "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true, + "license": "ISC" + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.2" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "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/JSONStream": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", + "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "dev": true, + "license": "(MIT OR Apache-2.0)", + "dependencies": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + }, + "bin": { + "JSONStream": "bin.js" }, "engines": { - "node": ">=0.10.0" + "node": "*" } }, - "node_modules/make-iterator/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", "dev": true, - "engines": { - "node": ">=0.10.0" + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" } }, - "node_modules/map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "node_modules/just-debounce": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/just-debounce/-/just-debounce-1.1.0.tgz", + "integrity": "sha512-qpcRocdkUmf+UTNBYx5w6dexX5J31AKK1OmPwH630a83DdVVUIngk55RSAiIGpQyoH0dlr872VHfPjnQnK1qDQ==", "dev": true, - "engines": { - "node": ">=0.10.0" - } + "license": "MIT" }, - "node_modules/map-obj": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", - "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "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==", "dev": true, - "engines": { - "node": ">=0.10.0" + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" } }, - "node_modules/map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", "dev": true, - "dependencies": { - "object-visit": "^1.0.0" - }, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/marked": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", - "integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==", - "bin": { - "marked": "bin/marked" + "node_modules/last-run": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/last-run/-/last-run-1.1.1.tgz", + "integrity": "sha512-U/VxvpX4N/rFvPzr3qG5EtLKEnNI0emvIQB3/ecEwv+8GHaUKbIB8vxv1Oai5FAF0d0r7LXHhLLe5K/yChm5GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "default-resolution": "^2.0.0", + "es6-weak-map": "^2.0.1" }, "engines": { - "node": ">= 8.16.2" + "node": ">= 0.10" } }, - "node_modules/marked-terminal": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.2.0.tgz", - "integrity": "sha512-DQfNRV9svZf0Dm9Cf5x5xaVJ1+XjxQW6XjFJ5HFkVyK52SDpj5PCBzS5X5r2w9nHr3mlB0T5201UMLue9fmhUw==", + "node_modules/lazystream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/lazystream/-/lazystream-1.0.1.tgz", + "integrity": "sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-escapes": "^4.3.1", - "cardinal": "^2.1.1", - "chalk": "^4.1.0", - "cli-table3": "^0.6.0", - "node-emoji": "^1.10.0", - "supports-hyperlinks": "^2.1.0" + "readable-stream": "^2.0.5" }, - "peerDependencies": { - "marked": "^1.0.0 || ^2.0.0" + "engines": { + "node": ">= 0.6.3" } }, - "node_modules/marked-terminal/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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==", "dev": 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" + "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/marked-terminal/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==", + "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==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/marked-terminal/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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "safe-buffer": "~5.1.0" } }, - "node_modules/marky": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/marky/-/marky-1.2.4.tgz", - "integrity": "sha512-zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==", - "dev": true - }, - "node_modules/matchdep": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", - "integrity": "sha1-xvNINKDY28OzfCfui7yyfHd1WC4=", + "node_modules/lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha512-YiGkH6EnGrDGqLMITnGjXtGmNtjoXw9SVUzcaos8RBi7Ps0VBylkq+vOcY9QE5poLasPCR849ucFUkl0UzUyOw==", "dev": true, + "license": "MIT", "dependencies": { - "findup-sync": "^2.0.0", - "micromatch": "^3.0.4", - "resolve": "^1.4.0", - "stack-trace": "0.0.10" + "invert-kv": "^1.0.0" }, "engines": { - "node": ">= 0.10.0" + "node": ">=0.10.0" } }, - "node_modules/matchdep/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/lead": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lead/-/lead-1.0.0.tgz", + "integrity": "sha512-IpSVCk9AYvLHo5ctcIXxOBpMWUe+4TKN3VPWAKUbJikkmsGp0VrSM8IttVc32D6J4WUsiPE6aEFRNmIoF/gdow==", "dev": true, + "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "flush-write-stream": "^1.0.2" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10" } }, - "node_modules/matchdep/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/leaflet": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/leaflet/-/leaflet-1.9.4.tgz", + "integrity": "sha512-nxS1ynzJOmOlHp+iL3FyWqK89GtNL8U8rvlMOsQdTTssxZwCXh8N2NB3GDQOL+YR3XnWyZAxwQixURb+FA74PA==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/leaflet.markercluster": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/leaflet.markercluster/-/leaflet.markercluster-1.5.3.tgz", + "integrity": "sha512-vPTw/Bndq7eQHjLBVlWpnGeLa3t+3zGiuM7fJwCkiMFq+nmRuG3RI3f7f4N4TDX7T4NpbAXpR2+NTRSEGfCSeA==", + "license": "MIT", + "peerDependencies": { + "leaflet": "^1.3.1" + } + }, + "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==", "dev": true, + "license": "MIT", "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.8.0" } }, - "node_modules/matchdep/node_modules/findup-sync": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", - "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=", + "node_modules/liftoff": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-3.1.0.tgz", + "integrity": "sha512-DlIPlJUkCV0Ips2zf2pJP0unEoT1kwYhiiPUGF3s/jtxTCjziNLoiVVh+jqWOWeFi6mmwQ5fNxvAUyPad4Dfog==", "dev": true, + "license": "MIT", "dependencies": { - "detect-file": "^1.0.0", - "is-glob": "^3.1.0", - "micromatch": "^3.0.4", - "resolve-dir": "^1.0.1" + "extend": "^3.0.0", + "findup-sync": "^3.0.0", + "fined": "^1.0.1", + "flagged-respawn": "^1.0.0", + "is-plain-object": "^2.0.4", + "object.map": "^1.0.0", + "rechoir": "^0.6.2", + "resolve": "^1.1.7" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.8" } }, - "node_modules/matchdep/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/liftoff/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "isobject": "^3.0.1" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/matchdep/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "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" + }, + "node_modules/lint-staged": { + "version": "10.5.4", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.4.tgz", + "integrity": "sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "chalk": "^4.1.0", + "cli-truncate": "^2.1.0", + "commander": "^6.2.0", + "cosmiconfig": "^7.0.0", + "debug": "^4.2.0", + "dedent": "^0.7.0", + "enquirer": "^2.3.6", + "execa": "^4.1.0", + "listr2": "^3.2.2", + "log-symbols": "^4.0.0", + "micromatch": "^4.0.2", + "normalize-path": "^3.0.0", + "please-upgrade-node": "^3.2.0", + "string-argv": "0.3.1", + "stringify-object": "^3.3.0" }, - "engines": { - "node": ">=0.10.0" + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" } }, - "node_modules/matchdep/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", "dev": true, + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } } }, - "node_modules/matchdep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, + "node_modules/lit-element": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", + "integrity": "sha512-ogu7PiJTA33bEK0xGu1dmaX5vhcRjBXCFexPja0e7P7jqLhTpNKYRPmE+GmiCaRVAbiQKGkUgkh/i6+bh++dPQ==", + "license": "BSD-3-Clause", "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "lit-html": "^1.1.1" } }, - "node_modules/matchdep/node_modules/is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "node_modules/lit-html": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-1.4.1.tgz", + "integrity": "sha512-B9btcSgPYb1q4oSOb/PrOT6Z/H+r6xuNzfH4lFli/AWhYwdtrgQkQWBbIc6mdnf6E2IL3gDXdkkqNktpU0OZQA==", + "license": "BSD-3-Clause" + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", "dev": true, + "license": "MIT", "dependencies": { - "is-extglob": "^2.1.0" + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/matchdep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/load-json-file/node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", "dev": true, + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/matchdep/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/load-json-file/node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, - "node_modules/matchdep/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "p-locate": "^5.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/matched": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/matched/-/matched-1.0.2.tgz", - "integrity": "sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha512-hFuH8TY+Yji7Eja3mGiuAxBqLagejScbG8GbG0j6o9vzn0YL14My+ktnqtZgFTosKymC9/44wP6s7xyuLfnClw==", "dev": true, - "dependencies": { - "arr-union": "^3.1.0", - "async-array-reduce": "^0.2.1", - "glob": "^7.1.2", - "has-glob": "^1.0.0", - "is-valid-glob": "^1.0.0", - "resolve-dir": "^1.0.0" - }, - "engines": { - "node": ">= 0.12.0" - } + "license": "MIT" }, - "node_modules/mdn-data": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", - "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + "node_modules/lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==", + "dev": true, + "license": "MIT" }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "node_modules/lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==", "dev": true, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "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==", - "dev": true + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "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==", + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", "dev": true, - "engines": { - "node": ">= 8" - } + "license": "MIT" }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } + "license": "MIT" }, - "node_modules/micromatch/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "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==", "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/micromatch/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, - "node_modules/micromatch/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==", + "node_modules/lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==", "dev": true, - "engines": { - "node": ">=0.12.0" - } + "license": "MIT" }, - "node_modules/micromatch/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==", + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=8.0" - } - }, - "node_modules/mime": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, - "bin": { - "mime": "cli.js" + "node": ">=10" }, - "engines": { - "node": ">=10.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", "dev": true, + "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "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==", + "node_modules/log-update/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": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "node_modules/loupe": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.2.1.tgz", + "integrity": "sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==", + "license": "MIT" + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "license": "ISC", "dependencies": { - "brace-expansion": "^1.1.7" + "yallist": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=10" } }, - "node_modules/minimist": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", - "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", - "dev": true - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", - "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "node_modules/make-iterator": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz", + "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==", "dev": true, + "license": "MIT", "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" + "kind-of": "^6.0.2" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/minimist-options/node_modules/arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "node_modules/make-iterator/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/minimist-options/node_modules/is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/minimist-options/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", "dev": true, + "license": "MIT", "dependencies": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" + "object-visit": "^1.0.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/mixin-deep/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/marked": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz", + "integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw==", + "license": "MIT", + "peer": true, + "bin": { + "marked": "bin/marked" + }, + "engines": { + "node": ">= 8.16.2" + } + }, + "node_modules/marked-terminal": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.2.0.tgz", + "integrity": "sha512-DQfNRV9svZf0Dm9Cf5x5xaVJ1+XjxQW6XjFJ5HFkVyK52SDpj5PCBzS5X5r2w9nHr3mlB0T5201UMLue9fmhUw==", "dev": true, + "license": "MIT", "dependencies": { - "is-plain-object": "^2.0.4" + "ansi-escapes": "^4.3.1", + "cardinal": "^2.1.1", + "chalk": "^4.1.0", + "cli-table3": "^0.6.0", + "node-emoji": "^1.10.0", + "supports-hyperlinks": "^2.1.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "marked": "^1.0.0 || ^2.0.0" } }, - "node_modules/mixin-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/matchdep": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/matchdep/-/matchdep-2.0.0.tgz", + "integrity": "sha512-LFgVbaHIHMqCRuCZyfCtUOq9/Lnzhi7Z0KFUE2fhD54+JN2jLh3hC02RLkqauJ3U4soU6H1J3tfj/Byk7GoEjA==", "dev": true, + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "findup-sync": "^2.0.0", + "micromatch": "^3.0.4", + "resolve": "^1.4.0", + "stack-trace": "0.0.10" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.10.0" } }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "node_modules/matchdep/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" + "license": "MIT", + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", - "dev": true - }, - "node_modules/mocha": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.4.0.tgz", - "integrity": "sha512-hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==", - "dev": true, - "dependencies": { - "@ungap/promise-all-settled": "1.1.2", - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", - "chokidar": "3.5.1", - "debug": "4.3.1", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "7.1.6", - "growl": "1.10.5", - "he": "1.2.0", - "js-yaml": "4.0.0", - "log-symbols": "4.0.0", - "minimatch": "3.0.4", - "ms": "2.1.3", - "nanoid": "3.1.20", - "serialize-javascript": "5.0.1", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "which": "2.0.2", - "wide-align": "1.1.3", - "workerpool": "6.1.0", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" - }, - "bin": { - "_mocha": "bin/_mocha", - "mocha": "bin/mocha" + "node_modules/matchdep/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" }, "engines": { - "node": ">= 10.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mochajs" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "node_modules/matchdep/node_modules/findup-sync": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz", + "integrity": "sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==", "dev": true, + "license": "MIT", + "dependencies": { + "detect-file": "^1.0.0", + "is-glob": "^3.1.0", + "micromatch": "^3.0.4", + "resolve-dir": "^1.0.1" + }, "engines": { - "node": ">=6" + "node": ">= 0.10" } }, - "node_modules/mocha/node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "node_modules/matchdep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "is-plain-object": "^2.0.4" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/mocha/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==", - "dev": true - }, - "node_modules/mocha/node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "node_modules/matchdep/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.0" + }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/matchdep/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", "dev": true, + "license": "MIT", "dependencies": { - "fill-range": "^7.0.1" + "kind-of": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/matchdep/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "is-buffer": "^1.1.5" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/chalk/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==", + "node_modules/matchdep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/chokidar": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", - "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "node_modules/matchdep/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, - "dependencies": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - }, + "license": "MIT", "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.1" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", - "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "node_modules/matchdep/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", "dev": true, + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mocha/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==", + "node_modules/matchdep/node_modules/micromatch/node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, - "engines": { - "node": ">=10" + "license": "MIT", + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/matchdep/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", "dev": true, + "license": "MIT", "dependencies": { - "to-regex-range": "^5.0.1" + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/mocha/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==", + "node_modules/matched": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/matched/-/matched-1.0.2.tgz", + "integrity": "sha512-7ivM1jFZVTOOS77QsR+TtYHH0ecdLclMkqbf5qiJdX2RorqfhsL65QHySPZgDE0ZjHoh+mQUNHTanNXIlzXd0Q==", "dev": true, + "license": "MIT", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "arr-union": "^3.1.0", + "async-array-reduce": "^0.2.1", + "glob": "^7.1.2", + "has-glob": "^1.0.0", + "is-valid-glob": "^1.0.0", + "resolve-dir": "^1.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.12.0" } }, - "node_modules/mocha/node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "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, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], + "license": "MIT", "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 0.4" } }, - "node_modules/mocha/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "license": "CC0-1.0" + }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", "dev": true, + "license": "MIT", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" }, "engines": { - "node": "*" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/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==", + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/mocha/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==", + "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==", "dev": true, - "engines": { - "node": ">=0.12.0" - } + "license": "MIT" }, - "node_modules/mocha/node_modules/js-yaml": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.0.0.tgz", - "integrity": "sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q==", + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "license": "MIT", + "engines": { + "node": ">= 8" } }, - "node_modules/mocha/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==", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "p-locate": "^5.0.0" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8.6" } }, - "node_modules/mocha/node_modules/log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "node_modules/mime": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", "dev": true, - "dependencies": { - "chalk": "^4.0.0" + "license": "MIT", + "bin": { + "mime": "cli.js" }, "engines": { - "node": ">=10" + "node": ">=10.0.0" } }, - "node_modules/mocha/node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "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, - "dependencies": { - "brace-expansion": "^1.1.7" - }, + "license": "MIT", "engines": { - "node": "*" + "node": ">= 0.6" } }, - "node_modules/mocha/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==", - "dev": true - }, - "node_modules/mocha/node_modules/nanoid": { - "version": "3.1.20", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.20.tgz", - "integrity": "sha512-a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==", + "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, - "bin": { - "nanoid": "bin/nanoid.cjs" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.6" } }, - "node_modules/mocha/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==", + "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, - "dependencies": { - "yocto-queue": "^0.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/mocha/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==", + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mocha/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==", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=4" } }, - "node_modules/mocha/node_modules/readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, + "license": "ISC", "dependencies": { - "picomatch": "^2.2.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8.10.0" + "node": "*" } }, - "node_modules/mocha/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==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, + "license": "MIT", "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mocha/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==", + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", "dev": true, + "license": "MIT", "dependencies": { - "is-number": "^7.0.0" + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" }, "engines": { - "node": ">=8.0" + "node": ">= 6" } }, - "node_modules/mocha/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/minimist-options/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", "dev": true, + "license": "MIT", "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" }, "engines": { - "node": ">= 8" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "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-plain-object": "^2.0.4" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "node_modules/mixin-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, "node_modules/modify-values": { @@ -14830,66 +9315,42 @@ "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" }, "node_modules/mute-stdout": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/mute-stdout/-/mute-stdout-1.0.1.tgz", "integrity": "sha512-kDcwXR4PS7caBpuRYYBUz9iVixUk3anO3f5OYFiIPwK/20vCzKCHyKoulbiDY1S53zD2bxUpxN/IJ+TnXjfvxg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.24.0.tgz", + "integrity": "sha512-Vpf9qnVW1RaDkoNKFUvfxqAbtI8ncb8OJlqZ9wwpXzWPEsvsB1nvdUi6oYrHIkQ1Y/tMDnr1h4nczS0VB9Xykg==", "dev": true, + "license": "MIT", "optional": true }, - "node_modules/nanocolors": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/nanocolors/-/nanocolors-0.2.13.tgz", - "integrity": "sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "dev": true, - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", "dev": true, + "license": "MIT", "dependencies": { "arr-diff": "^4.0.0", "array-unique": "^0.3.2", @@ -14907,24 +9368,12 @@ "node": ">=0.10.0" } }, - "node_modules/nanomatch/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nanomatch/node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -14933,49 +9382,12 @@ "node": ">=0.10.0" } }, - "node_modules/nanomatch/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nanomatch/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/nanomatch/node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -14988,6 +9400,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -15000,6 +9413,7 @@ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -15007,64 +9421,45 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/nerf-dart": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", - "integrity": "sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=", - "dev": true + "integrity": "sha512-EZSPZB70jiVsivaBLYDCyntd5eH8NTSMOn3rB+HxwdmKThGELLdYv8qVIMWvZEFy9w8ZZpW9h9OB32l1rGtj7g==", + "dev": true, + "license": "MIT" }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" - }, - "node_modules/no-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", - "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", - "dev": true, - "dependencies": { - "lower-case": "^2.0.2", - "tslib": "^2.0.3" - } - }, - "node_modules/no-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC" }, "node_modules/node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", "dev": true, + "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "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": { "whatwg-url": "^5.0.0" }, @@ -15080,41 +9475,20 @@ } } }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "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": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "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": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.4.tgz", - "integrity": "sha512-gbMzqQtTtDz/00jQzZ21PQzdI9PyLYqUSvD0p3naOhX4odFji0ZxYdnVwPTxmSwkmxhcFImpozceidSG+AgoPQ==", - "dev": true - }, "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" } }, "node_modules/normalize-path": { @@ -15122,17 +9496,19 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/normalize-url": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", - "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.1.0.tgz", + "integrity": "sha512-X06Mfd/5aKsRHc0O0J5CUedwnPmnDtLF2+nq+KN9KSDlJHkPuh0JUviWjEWMe0SW/9TDdSLVPuk7L5gGTIA1/w==", "dev": true, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=14.16" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -15143,6 +9519,7 @@ "resolved": "https://registry.npmjs.org/now-and-later/-/now-and-later-2.0.1.tgz", "integrity": "sha512-KGvQ0cB70AQfg107Xvs/Fbu+dGmZoTRJp2TaPwcwQm3/7PteUyN2BCgk8KBMPGBUXZdVwyWS8fDCGFygBm19UQ==", "dev": true, + "license": "MIT", "dependencies": { "once": "^1.3.2" }, @@ -15224,181 +9601,14 @@ "treeverse", "validate-npm-package-name", "which", - "write-file-atomic", - "@gar/promisify", - "@npmcli/disparity-colors", - "@npmcli/fs", - "@npmcli/git", - "@npmcli/installed-package-contents", - "@npmcli/metavuln-calculator", - "@npmcli/move-file", - "@npmcli/name-from-folder", - "@npmcli/node-gyp", - "@npmcli/promise-spawn", - "@tootallnate/once", - "agent-base", - "agentkeepalive", - "aggregate-error", - "ajv", - "ansi-regex", - "ansi-styles", - "aproba", - "are-we-there-yet", - "asap", - "asn1", - "assert-plus", - "asynckit", - "aws-sign2", - "aws4", - "balanced-match", - "bcrypt-pbkdf", - "bin-links", - "binary-extensions", - "brace-expansion", - "builtins", - "caseless", - "cidr-regex", - "clean-stack", - "clone", - "cmd-shim", - "code-point-at", - "color-convert", - "color-name", - "color-support", - "colors", - "combined-stream", - "common-ancestor-path", - "concat-map", - "console-control-strings", - "core-util-is", - "dashdash", - "debug", - "debuglog", - "defaults", - "delayed-stream", - "delegates", - "depd", - "dezalgo", - "diff", - "ecc-jsbn", - "emoji-regex", - "encoding", - "env-paths", - "err-code", - "extend", - "extsprintf", - "fast-deep-equal", - "fast-json-stable-stringify", - "forever-agent", - "fs-minipass", - "fs.realpath", - "function-bind", - "gauge", - "getpass", - "har-schema", - "har-validator", - "has", - "has-flag", - "has-unicode", - "http-cache-semantics", - "http-proxy-agent", - "http-signature", - "https-proxy-agent", - "humanize-ms", - "iconv-lite", - "ignore-walk", - "imurmurhash", - "indent-string", - "infer-owner", - "inflight", - "inherits", - "ip", - "ip-regex", - "is-core-module", - "is-fullwidth-code-point", - "is-lambda", - "is-typedarray", - "isexe", - "isstream", - "jsbn", - "json-schema", - "json-schema-traverse", - "json-stringify-nice", - "json-stringify-safe", - "jsonparse", - "jsprim", - "just-diff", - "just-diff-apply", - "lru-cache", - "mime-db", - "mime-types", - "minimatch", - "minipass-collect", - "minipass-fetch", - "minipass-flush", - "minipass-json-stream", - "minipass-sized", - "minizlib", - "mute-stream", - "negotiator", - "normalize-package-data", - "npm-bundled", - "npm-normalize-package-bin", - "npm-packlist", - "number-is-nan", - "oauth-sign", - "object-assign", - "once", - "p-map", - "path-is-absolute", - "performance-now", - "proc-log", - "promise-all-reject-late", - "promise-call-limit", - "promise-inflight", - "promise-retry", - "promzard", - "psl", - "punycode", - "qs", - "read-cmd-shim", - "readable-stream", - "request", - "retry", - "safe-buffer", - "safer-buffer", - "set-blocking", - "signal-exit", - "smart-buffer", - "socks", - "socks-proxy-agent", - "spdx-correct", - "spdx-exceptions", - "spdx-expression-parse", - "spdx-license-ids", - "sshpk", - "string_decoder", - "string-width", - "stringify-package", - "strip-ansi", - "supports-color", - "tunnel-agent", - "tweetnacl", - "typedarray-to-buffer", - "unique-filename", - "unique-slug", - "uri-js", - "util-deprecate", - "uuid", - "validate-npm-package-license", - "verror", - "walk-up-path", - "wcwidth", - "wide-align", - "wrappy", - "yallist" + "write-file-atomic" ], "dev": true, + "license": "Artistic-2.0", + "workspaces": [ + "docs", + "packages/*" + ], "dependencies": { "@isaacs/string-locale-compare": "*", "@npmcli/arborist": "*", @@ -15484,6 +9694,7 @@ "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" }, @@ -18245,23 +12456,19 @@ "node_modules/number-is-nan": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "integrity": "sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -18269,8 +12476,9 @@ "node_modules/object-copy": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", "dev": true, + "license": "MIT", "dependencies": { "copy-descriptor": "^0.1.0", "define-property": "^0.2.5", @@ -18280,11 +12488,39 @@ "node": ">=0.10.0" } }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/object-copy/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -18293,10 +12529,14 @@ } }, "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "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", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -18306,6 +12546,7 @@ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" } @@ -18313,8 +12554,9 @@ "node_modules/object-visit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.0" }, @@ -18323,14 +12565,17 @@ } }, "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "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": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.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": { @@ -18343,8 +12588,9 @@ "node_modules/object.defaults": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz", - "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=", + "integrity": "sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==", "dev": true, + "license": "MIT", "dependencies": { "array-each": "^1.0.1", "array-slice": "^1.0.0", @@ -18355,25 +12601,12 @@ "node": ">=0.10.0" } }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/object.map": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz", - "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=", + "integrity": "sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==", "dev": true, + "license": "MIT", "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" @@ -18385,8 +12618,9 @@ "node_modules/object.pick": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -18397,8 +12631,9 @@ "node_modules/object.reduce": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/object.reduce/-/object.reduce-1.0.1.tgz", - "integrity": "sha1-b+NI8qx/oPlcpiEiZZkJaCW7A60=", + "integrity": "sha512-naLhxxpUESbNkRqc35oQ2scZSJueHGQNUfMW/0U37IgN6tE2dgDWg3whf+NEliy3F/QysrO48XKUz/nGPe+AQw==", "dev": true, + "license": "MIT", "dependencies": { "for-own": "^1.0.0", "make-iterator": "^1.0.0" @@ -18407,40 +12642,12 @@ "node": ">=0.10.0" } }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -18450,6 +12657,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -18460,156 +12668,83 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/only": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/only/-/only-0.0.2.tgz", - "integrity": "sha1-Kv3oTQPlC5qO3EROMGEKcCle37Q=", - "dev": true - }, - "node_modules/open": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", - "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/openapi-response-validator": { - "version": "3.8.2", - "resolved": "https://registry.npmjs.org/openapi-response-validator/-/openapi-response-validator-3.8.2.tgz", - "integrity": "sha512-SZY8uHRcphr/4SdzvLDTyJ7P/f34E/ApCnp2A3S0cG1FkESa5qPg+4bA7z1YLsr1IglimdP+fVGA68aMLNk9mg==", - "dev": true, - "dependencies": { - "ajv": "^6.5.4", - "openapi-types": "1.3.5" - } - }, - "node_modules/openapi-schema-validator": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/openapi-schema-validator/-/openapi-schema-validator-3.0.3.tgz", - "integrity": "sha512-KKpeNEvAmpy6B2JCfyrM4yWjL6vggDCVbBoR8Yfkj0Jltc6PCW+dBbcg+1yrTCuDv80qBQJ6w0ejA71DlOFegA==", - "dev": true, - "dependencies": { - "ajv": "^6.5.2", - "lodash.merge": "^4.6.1", - "openapi-types": "1.3.4", - "swagger-schema-official": "2.0.0-bab6bed" - } - }, - "node_modules/openapi-schema-validator/node_modules/openapi-types": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.4.tgz", - "integrity": "sha512-h8rADpW3k/wepLdERKF0VKMAPdoFYNQCLGPmc/f8sgQ2dxUy+7sY4WAX2XDUDjhKTjbJVbxxofLkzy7f1/tE4g==", - "dev": true - }, - "node_modules/openapi-types": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/openapi-types/-/openapi-types-1.3.5.tgz", - "integrity": "sha512-11oi4zYorsgvg5yBarZplAqbpev5HkuVNPlZaPTknPDzAynq+lnJdXAmruGWP0s+dNYZS7bjM+xrTpJw7184Fg==", - "dev": true - }, - "node_modules/openapi-validator": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/openapi-validator/-/openapi-validator-0.9.0.tgz", - "integrity": "sha512-o2CuyMYujx0e2nKsq+lB8N40knEyxpGdH5pKFuTJzVeT4U1oLbSn9viejzfP5sHZqZIgluJXPlHv51Bzhkfibg==", - "dev": true, - "dependencies": { - "compress-tag": "^2.0.0", - "fs-extra": "^8.0.1", - "js-yaml": "^3.13.1", - "openapi-response-validator": "^3.8.1", - "openapi-schema-validator": "^3.0.3", - "path-parser": "^4.2.0", - "typeof": "^1.0.0" - } - }, - "node_modules/openapi-validator/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/openapi-validator/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/openapi-validator/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "node_modules/opencollective-postinstall": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", "dev": true, + "license": "MIT", "bin": { "opencollective-postinstall": "index.js" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": 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.3" + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" } }, - "node_modules/optionator/node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, "node_modules/ordered-read-streams": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-1.0.1.tgz", - "integrity": "sha1-d8DLN8QVJdZBZtmQ/61+xqDhNj4=", + "integrity": "sha512-Z87aSjx3r5c0ZB7bcJqIgIRX5bxR7A4aSzvIbaxd0oTkWBCOoKfuGHiKj60CHVUgg1Phm5yMZzBdt8XqRs73Mw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "^2.0.1" } }, + "node_modules/ordered-read-streams/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==", + "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" + } + }, + "node_modules/ordered-read-streams/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/ordered-read-streams/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/os-locale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", - "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "integrity": "sha512-PRT7ZORmwu2MEFt4/fv3Q+mEfN4zetKxufQrkShY2oGvUms9r8otu5HfdyIFHkYXjO7laNsoVGmM2MANfuTA8g==", "dev": true, + "license": "MIT", "dependencies": { "lcid": "^1.0.0" }, @@ -18617,13 +12752,21 @@ "node": ">=0.10.0" } }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=12.20" } }, "node_modules/p-each-series": { @@ -18631,6 +12774,7 @@ "resolved": "https://registry.npmjs.org/p-each-series/-/p-each-series-2.2.0.tgz", "integrity": "sha512-ycIL2+1V32th+8scbpTvyHNaHe02z0sjgh91XXjAk+ZeXoPN4Z46DVUnzdso0aX4KckKw0FNNFHdjZ2UsZvxiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -18643,6 +12787,7 @@ "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-2.1.0.tgz", "integrity": "sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==", "dev": true, + "license": "MIT", "dependencies": { "p-map": "^2.0.0" }, @@ -18655,6 +12800,7 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -18664,35 +12810,41 @@ "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-3.0.0.tgz", "integrity": "sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "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==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { - "p-try": "^2.0.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "p-limit": "^2.2.0" + "p-limit": "^3.0.2" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/p-map": { @@ -18700,6 +12852,7 @@ "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, + "license": "MIT", "dependencies": { "aggregate-error": "^3.0.0" }, @@ -18715,6 +12868,7 @@ "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-2.1.0.tgz", "integrity": "sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -18724,6 +12878,7 @@ "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/retry": "0.12.0", "retry": "^0.13.1" @@ -18733,18 +12888,20 @@ } }, "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==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==", "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">=4" } }, "node_modules/pagedjs": { "version": "0.4.3", "resolved": "https://registry.npmjs.org/pagedjs/-/pagedjs-0.4.3.tgz", "integrity": "sha512-YtAN9JAjsQw1142gxEjEAwXvOF5nYQuDwnQ67RW2HZDkMLI+b4RsBE37lULZa9gAr6kDAOGBOhXI4wGMoY3raw==", + "license": "MIT", "dependencies": { "@babel/polyfill": "^7.10.1", "@babel/runtime": "^7.21.0", @@ -18753,43 +12910,12 @@ "event-emitter": "^0.3.5" } }, - "node_modules/pagedjs/node_modules/@babel/runtime": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.10.tgz", - "integrity": "sha512-21t/fkKLMZI4pqP2wlmsQAWnYW1PDyKyyUV4vCi+B25ydmdaYTKXPwCj0BzSUnZf4seIiYvSA3jcZ3gdsMFkLQ==", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/pagedjs/node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", - "dev": true, - "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/param-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "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==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -18800,8 +12926,9 @@ "node_modules/parse-filepath": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz", - "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=", + "integrity": "sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==", "dev": true, + "license": "MIT", "dependencies": { "is-absolute": "^1.0.0", "map-cache": "^0.2.0", @@ -18812,15 +12939,22 @@ } }, "node_modules/parse-json": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", - "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "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": { - "error-ex": "^1.2.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": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/parse-node-version": { @@ -18828,6 +12962,7 @@ "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -18835,57 +12970,19 @@ "node_modules/parse-passwd": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", - "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=", + "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dev": true, - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/pascal-case": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", - "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", - "dev": true, - "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/pascal-case/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "node_modules/pascalcase": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -18893,41 +12990,36 @@ "node_modules/path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "integrity": "sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==", + "dev": true, + "license": "MIT" }, "node_modules/path-exists": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", - "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, - "dependencies": { - "pinkie-promise": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "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": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true - }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -18936,22 +13028,15 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/path-parser/-/path-parser-4.2.0.tgz", - "integrity": "sha512-MPPZiWTTp2I72VXmGQQfsn2ohrbd9QTbZSLYNS+HXsnQ37VbiLR/szO2R7DHaZA1V1scYxuxgyQerj+6kMTXtA==", "dev": true, - "dependencies": { - "search-params": "2.1.3" - } + "license": "MIT" }, "node_modules/path-root": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz", - "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=", + "integrity": "sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==", "dev": true, + "license": "MIT", "dependencies": { "path-root-regex": "^0.1.0" }, @@ -18962,57 +13047,65 @@ "node_modules/path-root-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz", - "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=", + "integrity": "sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-to-regexp": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.1.tgz", - "integrity": "sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==" + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", + "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", + "license": "MIT" }, "node_modules/path-type": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", - "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", + "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", + "license": "MIT", "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=", - "dev": true + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true, + "license": "MIT" + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true, + "license": "MIT" }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.6" }, @@ -19023,8 +13116,9 @@ "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -19032,8 +13126,9 @@ "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "integrity": "sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -19041,8 +13136,9 @@ "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "integrity": "sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==", "dev": true, + "license": "MIT", "dependencies": { "pinkie": "^2.0.0" }, @@ -19053,8 +13149,9 @@ "node_modules/pkg-conf": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", - "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", + "integrity": "sha512-C+VUP+8jis7EsQZIhDYmS5qlNtjv2yP4SNtjXK9AP1ZcTRlnSfuumaTnRfYZnYgUUYVIKqL0fRvmUGDV2fmp6g==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^2.0.0", "load-json-file": "^4.0.0" @@ -19066,8 +13163,9 @@ "node_modules/pkg-conf/node_modules/find-up": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "integrity": "sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^2.0.0" }, @@ -19075,26 +13173,12 @@ "node": ">=4" } }, - "node_modules/pkg-conf/node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/pkg-conf/node_modules/locate-path": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "integrity": "sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -19108,6 +13192,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^1.0.0" }, @@ -19118,8 +13203,9 @@ "node_modules/pkg-conf/node_modules/p-locate": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "integrity": "sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^1.1.0" }, @@ -19127,51 +13213,12 @@ "node": ">=4" } }, - "node_modules/pkg-conf/node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/pkg-conf/node_modules/path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-conf/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -19181,6 +13228,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^5.0.0" }, @@ -19188,223 +13236,57 @@ "node": ">=10" } }, - "node_modules/pkg-dir/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==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/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==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/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==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/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==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/please-upgrade-node": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz", "integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==", "dev": true, + "license": "MIT", "dependencies": { "semver-compare": "^1.0.0" } }, "node_modules/plugin-error": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-1.0.1.tgz", - "integrity": "sha512-L1zP0dk7vGweZME2i+EeakvUNqSrdiI3F91TwEoYiGrAfUXmVv6fJIq4g82PAXxNsWOp0J7ZqQy/3Szz0ajTxA==", - "dev": true, - "dependencies": { - "ansi-colors": "^1.0.1", - "arr-diff": "^4.0.0", - "arr-union": "^3.1.0", - "extend-shallow": "^3.0.2" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/plugin-error/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "dependencies": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/plugin-error/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/plugin-error/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-2.0.1.tgz", + "integrity": "sha512-zMakqvIDyY40xHOvzXka0kUvf40nYIuwRE8dWhti2WtjQZ31xAgBZBhxsK7vK3QbRXS1Xms/LO7B5cuAsfB2Gg==", "dev": true, + "license": "MIT", "dependencies": { - "isobject": "^3.0.1" + "ansi-colors": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/polyfills-loader": { - "version": "1.7.6", - "resolved": "https://registry.npmjs.org/polyfills-loader/-/polyfills-loader-1.7.6.tgz", - "integrity": "sha512-AiLIgmGFmzcvsqewyKsqWb7H8CnWNTSQBoM0u+Mauzmp0DsjObXmnZdeqvTn0HNwc1wYHHTOta82WjSjG341eQ==", + "node_modules/plugin-error/node_modules/ansi-colors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-1.1.0.tgz", + "integrity": "sha512-SFKX67auSNoVR38N3L+nvsPjOE0bybKTYbkf5tRvushrAPQ9V75huw0ZxBkKVeRU9kqH3d6HA4xTckbwZ4ixmA==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/core": "^7.11.1", - "@open-wc/building-utils": "^2.18.3", - "@webcomponents/webcomponentsjs": "^2.4.0", - "abortcontroller-polyfill": "^1.4.0", - "core-js-bundle": "^3.6.0", - "deepmerge": "^4.2.2", - "dynamic-import-polyfill": "^0.1.1", - "es-module-shims": "^0.4.6", - "intersection-observer": "^0.7.0", - "parse5": "^5.1.1", - "regenerator-runtime": "^0.13.3", - "resize-observer-polyfill": "^1.5.1", - "systemjs": "^6.3.1", - "terser": "^4.6.7", - "whatwg-fetch": "^3.0.0" + "ansi-wrap": "^0.1.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/polyfills-loader/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "dev": true - }, - "node_modules/portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "dependencies": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" - }, - "engines": { - "node": ">= 0.12.0" - } - }, - "node_modules/portfinder/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/portfinder/node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/portfinder/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==", - "dev": true - }, "node_modules/posix-character-classes": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/preact": { - "version": "10.8.2", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.8.2.tgz", - "integrity": "sha512-AKGt0BsDSiAYzVS78jZ9qRwuorY2CoSZtf1iOC6gLb/3QyZt+fLT09aYJBjRc/BEcRc4j+j3ggERMdNE43i1LQ==", + "version": "10.28.0", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.28.0.tgz", + "integrity": "sha512-rytDAoiXr3+t6OIP3WGlDd0ouCUG1iCWzkcY3++Nreuoi17y6T5i/zRhe6uYfoVcxq6YU+sBtJouuRDsq8vvqA==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/preact" @@ -19415,243 +13297,156 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8.0" } }, "node_modules/prettier": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", - "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.7.4.tgz", + "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, + "license": "MIT", + "peer": true, "bin": { - "prettier": "bin-prettier.js" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">=10.13.0" + "node": ">=14" }, "funding": { "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/pretty-hrtime": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha1-t+PqQkNaTJsnWdmeDyAesZWALuE=", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/prismjs": { - "version": "1.29.0", - "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", - "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", "engines": { "node": ">=6" } }, + "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==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, "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==", - "dev": true - }, - "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, - "engines": { - "node": ">=0.4.0" - } + "license": "MIT" }, "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 + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true, + "license": "MIT" }, "node_modules/prsc": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/prsc/-/prsc-4.0.0.tgz", - "integrity": "sha512-OmXQ2v76RlXNx/gqv7+oB6jyKnudJ/rsMfAIVexhbDFxXAJPoWKMxJkZU2ohlu4miCiSQCG+horf2DV4/kNc1Q==" - }, - "node_modules/pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true + "integrity": "sha512-OmXQ2v76RlXNx/gqv7+oB6jyKnudJ/rsMfAIVexhbDFxXAJPoWKMxJkZU2ohlu4miCiSQCG+horf2DV4/kNc1Q==", + "license": "MIT" }, "node_modules/pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "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": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "node_modules/pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-2.0.1.tgz", + "integrity": "sha512-m7KOje7jZxrmutanlkS1daj1dS6z6BgslzOXmcSEpIlCxM3VJH7lG5QLeck/6hgF6F4crFf01UtQmNsJfweTAw==", "dev": true, + "license": "MIT", "dependencies": { - "duplexify": "^3.6.0", + "duplexify": "^4.1.1", "inherits": "^2.0.3", - "pump": "^2.0.0" + "pump": "^3.0.0" } }, "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, - "node_modules/puppeteer-core": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.7.0.tgz", - "integrity": "sha512-rXja4vcnAzFAP1OVLq/5dWNfwBGuzcOARJ6qGV7oAZhnLmVRU8G5MsdeQEAOy332ZhkIOnn9jp15R89LKHyp2Q==", - "dev": true, - "dependencies": { - "cross-fetch": "3.1.5", - "debug": "4.3.4", - "devtools-protocol": "0.0.981744", - "extract-zip": "2.0.1", - "https-proxy-agent": "5.0.1", - "pkg-dir": "4.2.0", - "progress": "2.0.3", - "proxy-from-env": "1.1.0", - "rimraf": "3.0.2", - "tar-fs": "2.1.1", - "unbzip2-stream": "1.4.3", - "ws": "8.5.0" - }, - "engines": { - "node": ">=10.18.1" - } - }, - "node_modules/puppeteer-core/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/puppeteer-core/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, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/puppeteer-core/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/puppeteer-core/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/puppeteer-core/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, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/puppeteer-core/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "8.5.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", - "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, "node_modules/q": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.0", "teleport": ">=0.2.0" } }, "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -19678,64 +13473,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ] + ], + "license": "MIT" }, "node_modules/quick-lru": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", - "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, + "license": "MIT", "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "node": ">=10" }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/rc": { @@ -19743,6 +13494,7 @@ "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dev": true, + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -19753,196 +13505,195 @@ "rc": "cli.js" } }, + "node_modules/rc/node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true, + "license": "ISC" + }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/read-pkg": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", - "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", "dev": true, + "license": "MIT", "dependencies": { - "load-json-file": "^1.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^1.0.0" + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, "node_modules/read-pkg-up": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", - "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", "dev": true, + "license": "MIT", "dependencies": { - "find-up": "^1.0.0", - "read-pkg": "^1.0.0" + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/read-pkg-up/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": { - "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" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "node_modules/read-pkg-up/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": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" + "p-locate": "^4.1.0" }, "engines": { - "node": ">=0.10" + "node": ">=8" } }, - "node_modules/readdirp/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/read-pkg-up/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": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "p-try": "^2.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/readdirp/node_modules/extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "node_modules/read-pkg-up/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": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" + "p-limit": "^2.2.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/readdirp/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/read-pkg-up/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, - "dependencies": { - "kind-of": "^6.0.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "node_modules/readdirp/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } + "license": "ISC" }, - "node_modules/readdirp/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/readdirp/node_modules/is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "node_modules/read-pkg/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, - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" + "license": "ISC", + "bin": { + "semver": "bin/semver" } }, - "node_modules/readdirp/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/readdirp/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, - "node_modules/readdirp/node_modules/micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, + "license": "MIT", "dependencies": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" + "picomatch": "^2.2.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.10.0" } }, "node_modules/rechoir": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", "dev": true, "dependencies": { "resolve": "^1.1.6" @@ -19951,61 +13702,42 @@ "node": ">= 0.10" } }, - "node_modules/redeyed": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", "dev": true, + "license": "MIT", "dependencies": { - "esprima": "~4.0.0" - } - }, - "node_modules/reduce-flatten": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/reduce-flatten/-/reduce-flatten-2.0.0.tgz", - "integrity": "sha512-EJ4UNY/U1t2P/2k6oqotuX2Cc3T6nxJwsM0N0asT7dhrtH1ltUxDn4NalSYmPE2rCkVpcf/X6R0wDwcFpzhd4w==", - "dev": true, + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", - "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "node_modules/redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha512-FNpGGo1DycYAdnrKFxCMmKYgo/mILAqtRYbkdQD8Ep/Hk2PQ5+aEAEx+IU713RTDmuBaH0c8P5ZozurNu5ObRQ==", "dev": true, + "license": "MIT", "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" + "esprima": "~4.0.0" } }, "node_modules/regenerator-runtime": { "version": "0.13.11", "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" - }, - "node_modules/regenerator-transform": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", - "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT" }, "node_modules/regex-not": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.2", "safe-regex": "^1.1.0" @@ -20017,8 +13749,9 @@ "node_modules/regex-not/node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -20032,6 +13765,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -20044,6 +13778,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -20051,88 +13786,25 @@ "node": ">=0.10.0" } }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/regexpu-core": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", - "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.0.1", - "regjsgen": "^0.6.0", - "regjsparser": "^0.8.2", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/registry-auth-token": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.1.tgz", - "integrity": "sha512-6gkSb4U6aWJB4SF2ZvLb76yCBjcvufXBqvvEx1HbmKPkutswjW1xNVRY0+daljIYRbogN7O0etYSlbiaEQyMyw==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-4.2.2.tgz", + "integrity": "sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==", "dev": true, + "license": "MIT", "dependencies": { - "rc": "^1.2.8" + "rc": "1.2.8" }, "engines": { "node": ">=6.0.0" } }, - "node_modules/regjsgen": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", - "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", - "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, "node_modules/remove-bom-buffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/remove-bom-buffer/-/remove-bom-buffer-3.0.0.tgz", "integrity": "sha512-8v2rWhaakv18qcvNeli2mZ/TMTL2nEyAKRvzo1WtnZBl15SHyEhrCu2/xKlJyUFKHiHgfXIyuY6g2dObJJycXQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5", "is-utf8": "^0.2.1" @@ -20144,8 +13816,9 @@ "node_modules/remove-bom-stream": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/remove-bom-stream/-/remove-bom-stream-1.2.0.tgz", - "integrity": "sha1-BfGlk/FuQuH7kOv1nejlaVJflSM=", + "integrity": "sha512-wigO8/O08XHb8YPzpDDT+QmRANfW6vLqxfaXm1YXhnFf3AkSLyjfG3GEFg4McZkmgL7KvCj5u2KczkvSP6NfHA==", "dev": true, + "license": "MIT", "dependencies": { "remove-bom-buffer": "^3.0.0", "safe-buffer": "^5.1.0", @@ -20155,11 +13828,45 @@ "node": ">= 0.10" } }, + "node_modules/remove-bom-stream/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==", + "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" + } + }, + "node_modules/remove-bom-stream/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/remove-bom-stream/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/remove-bom-stream/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -20168,14 +13875,16 @@ "node_modules/remove-trailing-separator": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "dev": true, + "license": "ISC" }, "node_modules/repeat-element": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -20183,26 +13892,29 @@ "node_modules/repeat-string": { "version": "1.6.1", "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, "node_modules/replace-ext": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", - "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-2.0.0.tgz", + "integrity": "sha512-UszKE5KVK6JvyD92nzMn9cDapSk6w/CaFZ96CnmDMUqH9oowfxF/ZjRITD25H4DnOQClLA4/j7jLGXXLVKxAug==", "dev": true, + "license": "MIT", "engines": { - "node": ">= 0.10" + "node": ">= 10" } }, "node_modules/replace-homedir": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/replace-homedir/-/replace-homedir-1.0.0.tgz", - "integrity": "sha1-6H9tUTuSjd6AgmDBK+f+xv9ueYw=", + "integrity": "sha512-CHPV/GAglbIB1tnQgaiysb8H2yCy8WQ7lcEwQ/eT+kLj0QHV8LnJW0zpqpE7RSkrMSRoa+EBoag86clf7WAgSg==", "dev": true, + "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1", "is-absolute": "^1.0.0", @@ -20217,26 +13929,72 @@ "resolved": "https://registry.npmjs.org/replacestream/-/replacestream-4.0.3.tgz", "integrity": "sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "escape-string-regexp": "^1.0.3", "object-assign": "^4.0.1", "readable-stream": "^2.0.2" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "node_modules/replacestream/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", "dev": true, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=0.8.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==", + "node_modules/replacestream/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==", + "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" + } + }, + "node_modules/replacestream/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/replacestream/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "throttleit": "^1.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==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -20244,46 +14002,44 @@ "node_modules/require-main-filename": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true - }, - "node_modules/requireindex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", - "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "integrity": "sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==", "dev": true, - "engines": { - "node": ">=0.10.5" - } - }, - "node_modules/resize-observer-polyfill": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", - "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==", - "dev": true + "license": "ISC" }, "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", "dev": true, + "license": "MIT", "dependencies": { - "is-core-module": "^2.8.1", + "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" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==", + "dev": true, + "license": "MIT" + }, "node_modules/resolve-dir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz", - "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=", + "integrity": "sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==", "dev": true, + "license": "MIT", "dependencies": { "expand-tilde": "^2.0.0", "global-modules": "^1.0.0" @@ -20297,6 +14053,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -20304,8 +14061,9 @@ "node_modules/resolve-options": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/resolve-options/-/resolve-options-1.1.0.tgz", - "integrity": "sha1-MrueOcBtZzONyTeMDW1gdFZq0TE=", + "integrity": "sha512-NYDgziiroVeDC29xq7bp/CacZERYsA9bXYd1ZmcJlF3BcrZv5pTb4NG7SjdyKDnXZ84aC4vo2u6sNKIA1LCu/A==", "dev": true, + "license": "MIT", "dependencies": { "value-or-function": "^3.0.0" }, @@ -20313,67 +14071,36 @@ "node": ">= 0.10" } }, - "node_modules/resolve-path": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/resolve-path/-/resolve-path-1.4.0.tgz", - "integrity": "sha1-xL2p9e+y/OZSR4c6s2u02DT+Fvc=", - "dev": true, - "dependencies": { - "http-errors": "~1.6.2", - "path-is-absolute": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/resolve-path/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", "dev": true, - "engines": { - "node": ">= 0.6" - } + "license": "MIT" }, - "node_modules/resolve-path/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", "dev": true, + "license": "MIT", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "lowercase-keys": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/resolve-path/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "node_modules/resolve-path/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "deprecated": "https://github.com/lydell/resolve-url#deprecated", - "dev": true - }, "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, + "license": "MIT", "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -20387,6 +14114,7 @@ "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12" } @@ -20396,31 +14124,36 @@ "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", "dev": true, + "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" } }, "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" }, "node_modules/rimraf": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -20428,35 +14161,6 @@ "rimraf": "bin.js" } }, - "node_modules/rollup": { - "version": "2.71.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.71.1.tgz", - "integrity": "sha512-lMZk3XfUBGjrrZQpvPSoXcZSfKcJ2Bgn+Z0L1MoW2V8Wh7BVM+LOBJTPo16yul2MwL59cXedzW1ruq3rCjSRgw==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup/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, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -20476,36 +14180,48 @@ "url": "https://feross.org/support" } ], + "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/rxjs": { - "version": "7.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.5.tgz", - "integrity": "sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==", + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "tslib": "^2.1.0" } }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "dev": true - }, "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==", - "dev": true + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-regex": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", "dev": true, + "license": "MIT", "dependencies": { "ret": "~0.1.10" } @@ -20514,37 +14230,23 @@ "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/search-params": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/search-params/-/search-params-2.1.3.tgz", - "integrity": "sha512-hHxU9ZGWpZ/lrFBIHndSnQae2in7ra+m+tBSoeAahSWDDgOgpZqs4bfaTZpljgNgAgTbjiQoJtZW6FKSsfEcDA==", - "dev": true + "license": "ISC" }, "node_modules/semantic-release": { "version": "17.4.7", "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-17.4.7.tgz", "integrity": "sha512-3Ghu8mKCJgCG3QzE5xphkYWM19lGE3XjFdOXQIKBM2PBpBvgFQ/lXv31oX0+fuN/UjNFO/dqhNs8ATLBhg6zBg==", "dev": true, + "license": "MIT", + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^8.0.0", "@semantic-release/error": "^2.2.0", @@ -20582,21 +14284,16 @@ "node": ">=10.19" } }, - "node_modules/semantic-release/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/semantic-release/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dev": true, + "license": "ISC", "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, "node_modules/semantic-release/node_modules/execa": { @@ -20604,6 +14301,7 @@ "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", @@ -20622,29 +14320,27 @@ "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/semantic-release/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==", + "node_modules/semantic-release/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==", "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, + "license": "ISC", "engines": { - "node": ">=8" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/semantic-release/node_modules/hosted-git-info": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", - "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "node_modules/semantic-release/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, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "MIT", "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/semantic-release/node_modules/human-signals": { @@ -20652,6 +14348,7 @@ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } @@ -20661,6 +14358,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-2.1.3.tgz", "integrity": "sha512-/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==", "dev": true, + "license": "MIT", "bin": { "marked": "bin/marked" }, @@ -20668,118 +14366,32 @@ "node": ">= 10" } }, - "node_modules/semantic-release/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/semantic-release/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, - "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" - } - }, - "node_modules/semantic-release/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/semantic-release/node_modules/read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", - "dev": true, - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/semantic-release/node_modules/read-pkg-up": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", - "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", - "dev": true, - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/semantic-release/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/semantic-release/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", "engines": { "node": ">=8" } }, - "node_modules/semantic-release/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "node_modules/semantic-release/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, + "license": "ISC", "engines": { "node": ">=10" } }, - "node_modules/semantic-release/node_modules/type-fest": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", - "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/semantic-release/node_modules/yargs": { "version": "16.2.0", "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^7.0.2", "escalade": "^3.1.1", @@ -20798,30 +14410,37 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } }, "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "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" + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/semver-compare": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=", - "dev": true + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==", + "dev": true, + "license": "MIT" }, "node_modules/semver-diff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", "integrity": "sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^6.3.0" }, @@ -20830,10 +14449,11 @@ } }, "node_modules/semver-diff/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "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" } @@ -20841,8 +14461,9 @@ "node_modules/semver-greatest-satisfied-range": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/semver-greatest-satisfied-range/-/semver-greatest-satisfied-range-1.1.0.tgz", - "integrity": "sha1-E+jCZYq5aRywzXEJMkAoDTb3els=", + "integrity": "sha512-Ny/iyOzSSa8M5ML46IAx3iXc6tfOsYU2R4AXi2UpHk60Zrgyq6eqPj/xiOfS0rRl/iiQ/rdJkVjw/5cdUyCntQ==", "dev": true, + "license": "MIT", "dependencies": { "sver-compat": "^1.5.0" }, @@ -20851,10 +14472,11 @@ } }, "node_modules/semver-regex": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.3.tgz", - "integrity": "sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==", + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-3.1.4.tgz", + "integrity": "sha512-6IiqeZNgq01qGf0TId0t3NvKzSvUsjcpdEO3AQNeIjR6A2+ckTnQlDpl4qu1bjRv0RzN3FP9hzFmws3lKqRWkA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -20862,26 +14484,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "dev": true + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "dev": true, + "license": "ISC" + }, + "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", + "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" + }, + "engines": { + "node": ">= 0.4" + } }, "node_modules/set-value": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^2.0.1", "is-extendable": "^0.1.1", @@ -20897,6 +14530,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -20904,23 +14538,12 @@ "node": ">=0.10.0" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shady-css-scoped-element": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/shady-css-scoped-element/-/shady-css-scoped-element-0.0.2.tgz", - "integrity": "sha512-Dqfl70x6JiwYDujd33ZTbtCK0t52E7+H2swdWQNSTzfsolSa6LJHnTpN4T9OpJJEq4bxuzHRLFO9RBcy/UfrMQ==", - "dev": true - }, "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==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -20933,19 +14556,82 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "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": { + "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": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.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": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -20955,13 +14641,15 @@ "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 + "dev": true, + "license": "ISC" }, "node_modules/signale": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/signale/-/signale-1.4.0.tgz", "integrity": "sha512-iuh+gPf28RkltuJC7W5MRi6XAjTDCAPC/prJUpQoG4vIP3MJZ+GTydVnodXA7pwvTKb2cA0m9OFZW/cdWy/I/w==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^2.3.2", "figures": "^2.0.0", @@ -20971,11 +14659,67 @@ "node": ">=6" } }, + "node_modules/signale/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/signale/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/signale/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/signale/node_modules/figures": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", - "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -20983,11 +14727,35 @@ "node": ">=4" } }, + "node_modules/signale/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/signale/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "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" } @@ -20997,6 +14765,7 @@ "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -21011,6 +14780,7 @@ "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", "dev": true, + "license": "MIT", "dependencies": { "base": "^0.11.1", "debug": "^2.2.0", @@ -21030,6 +14800,7 @@ "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^1.0.0", "isobject": "^3.0.0", @@ -21042,8 +14813,9 @@ "node_modules/snapdragon-node/node_modules/define-property": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", "dev": true, + "license": "MIT", "dependencies": { "is-descriptor": "^1.0.0" }, @@ -21051,82 +14823,91 @@ "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "kind-of": "^3.2.0" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "node_modules/snapdragon-util/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^6.0.0" + "is-buffer": "^1.1.5" }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-node/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "node_modules/snapdragon/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, + "license": "MIT", "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" + "ms": "2.0.0" } }, - "node_modules/snapdragon-node/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { "node": ">=0.10.0" } }, - "node_modules/snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", "dev": true, + "license": "MIT", "dependencies": { - "kind-of": "^3.2.0" + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4" } }, - "node_modules/snapdragon-util/node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "node_modules/snapdragon/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "dependencies": { - "is-buffer": "^1.1.5" - }, + "license": "MIT" + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, + "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" } @@ -21137,6 +14918,7 @@ "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", "dev": true, + "license": "MIT", "dependencies": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -21145,37 +14927,20 @@ "urix": "^0.1.0" } }, - "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, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/source-map-url": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", "deprecated": "See https://github.com/lydell/source-map-url#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/sparkles": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/sparkles/-/sparkles-1.0.1.tgz", "integrity": "sha512-dSO0DDYUahUt/0/pD/Is3VIm5TGJjludZ0HVymmhYF6eNA53PVLhnUk0znSYbH8IYBuJdCE+1luR22jNLMaQdw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } @@ -21183,46 +14948,52 @@ "node_modules/spawn-error-forwarder": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", - "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=", - "dev": true + "integrity": "sha512-gRjMgK5uFjbCvdibeGJuy3I5OYz6VLoVdsOJdA6wV0WlfQVLFueoqMxwwYD9RODdgb6oUIvlRlsyFSiQkMKu0g==", + "dev": true, + "license": "MIT" }, "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "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/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true + "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/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": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true + "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": "CC0-1.0" }, "node_modules/split": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", "dev": true, + "license": "MIT", "dependencies": { "through": "2" }, @@ -21235,6 +15006,7 @@ "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", "dev": true, + "license": "MIT", "dependencies": { "extend-shallow": "^3.0.0" }, @@ -21245,8 +15017,9 @@ "node_modules/split-string/node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -21260,6 +15033,7 @@ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -21272,6 +15046,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -21284,35 +15059,43 @@ "resolved": "https://registry.npmjs.org/split2/-/split2-3.2.2.tgz", "integrity": "sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==", "dev": true, + "license": "ISC", "dependencies": { "readable-stream": "^3.0.0" } }, - "node_modules/split2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" }, "engines": { - "node": ">= 6" + "node": ">=0.10.0" } }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", - "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=", + "integrity": "sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==", "dev": true, + "license": "MIT", "engines": { "node": "*" } @@ -21320,8 +15103,9 @@ "node_modules/static-extend": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^0.2.5", "object-copy": "^0.1.0" @@ -21330,44 +15114,111 @@ "node": ">=0.10.0" } }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", "dev": true, + "license": "MIT", + "dependencies": { + "is-descriptor": "^0.1.0" + }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/stream-combiner2": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", - "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "integrity": "sha512-3PnJbYgS56AeWgtKF5jtJRT6uFJe56Z0Hc5Ngg/6sI6rIt8iiMBTa9cvdyFfpMQjaVHr8dusbNeFGIIonxOvKw==", "dev": true, + "license": "MIT", "dependencies": { "duplexer2": "~0.1.0", "readable-stream": "^2.0.2" } }, + "node_modules/stream-combiner2/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==", + "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" + } + }, + "node_modules/stream-combiner2/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/stream-combiner2/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/stream-exhaust": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz", "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true, + "license": "MIT" + }, + "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==", + "dev": true, + "license": "MIT", + "dependencies": { + "events-universal": "^1.0.0", + "fast-fifo": "^1.3.2", + "text-decoder": "^1.1.0" + } }, "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==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "safe-buffer": "~5.1.0" + "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { @@ -21375,6 +15226,7 @@ "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.6.19" } @@ -21384,6 +15236,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -21393,39 +15246,12 @@ "node": ">=8" } }, - "node_modules/string.prototype.trimend": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", - "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", - "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "es-abstract": "^1.19.5" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/stringify-object": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "get-own-enumerable-property-symbols": "^3.0.0", "is-obj": "^1.0.1", @@ -21438,8 +15264,9 @@ "node_modules/stringify-object/node_modules/is-obj": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", - "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -21449,6 +15276,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -21457,15 +15285,13 @@ } }, "node_modules/strip-bom": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", - "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", "dev": true, - "dependencies": { - "is-utf8": "^0.2.0" - }, + "license": "MIT", "engines": { - "node": ">=0.10.0" + "node": ">=4" } }, "node_modules/strip-final-newline": { @@ -21473,15 +15299,30 @@ "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-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -21490,27 +15331,33 @@ } }, "node_modules/style-mod": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.2.tgz", - "integrity": "sha512-wnD1HyVqpJUI2+eKZ+eo1UwghftP6yuFheBqqe+bWCotBjC2K1YnteJILRMs3SM4V/0dLEW1SC27MWP5y+mwmw==" + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.1.3.tgz", + "integrity": "sha512-i/n8VsZydrugj3Iuzll8+x/00GH2vnYsk1eomD8QiRrSAeW6ItbCQDtfXCeJHd0iwiNagqjQkvpvREEPtW3IoQ==", + "license": "MIT" }, "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "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": { - "has-flag": "^3.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0", "supports-color": "^7.0.0" @@ -21519,20 +15366,12 @@ "node": ">=8" } }, - "node_modules/supports-hyperlinks/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/supports-hyperlinks/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==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -21545,6 +15384,7 @@ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -21555,169 +15395,65 @@ "node_modules/sver-compat": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/sver-compat/-/sver-compat-1.5.0.tgz", - "integrity": "sha1-PPh9/rTQe0o/FIJ7wYaz/QxkXNg=", + "integrity": "sha512-aFTHfmjwizMNlNE6dsGmoAM4lHjL0CyiobWaFiXWSlD7cIxshW422Nb8KbXCmR6z+0ZEPY+daXJrDyh/vuwTyg==", "dev": true, + "license": "MIT", "dependencies": { "es6-iterator": "^2.0.1", "es6-symbol": "^3.1.1" } }, - "node_modules/swagger-schema-official": { - "version": "2.0.0-bab6bed", - "resolved": "https://registry.npmjs.org/swagger-schema-official/-/swagger-schema-official-2.0.0-bab6bed.tgz", - "integrity": "sha1-cAcEaNbSl3ylI3suUZyn0Gouo/0=", - "dev": true - }, - "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 - }, - "node_modules/systemjs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/systemjs/-/systemjs-6.12.1.tgz", - "integrity": "sha512-hqTN6kW+pN6/qro6G9OZ7ceDQOcYno020zBQKpZQLsJhYTDMCMNfXi/Y8duF5iW+4WWZr42ry0MMkcRGpbwG2A==", - "dev": true - }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table-layout": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/table-layout/-/table-layout-1.0.2.tgz", - "integrity": "sha512-qd/R7n5rQTRFi+Zf2sk5XVVd9UQl6ZkduPFC3S7WEGJAmetDTjY3qPN50eSKzwuzEyQKy5TN2TiZdkIjos2L6A==", + "node_modules/synckit": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.11.tgz", + "integrity": "sha512-MeQTA1r0litLUf0Rp/iisCaL8761lKAZHaimlbGK4j0HysC4PLfqygQj9srcs0m2RdtDYnF8UuYyKpbjHYp7Jw==", "dev": true, + "license": "MIT", "dependencies": { - "array-back": "^4.0.1", - "deep-extend": "~0.6.0", - "typical": "^5.2.0", - "wordwrapjs": "^4.0.0" + "@pkgr/core": "^0.2.9" }, "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/table-layout/node_modules/array-back": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/array-back/-/array-back-4.0.2.tgz", - "integrity": "sha512-NbdMezxqf94cnNfWLL7V/im0Ub+Anbb0IoZhvzie8+4HJ4nMQuzHuy49FkGYCJK2yAloZ3meiB6AVMClbrI1vg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table-layout/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", - "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/synckit" } }, - "node_modules/table/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 - }, - "node_modules/table/node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "node_modules/systeminformation": { + "version": "5.27.7", + "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.27.7.tgz", + "integrity": "sha512-saaqOoVEEFaux4v0K8Q7caiauRwjXC4XbD2eH60dxHXbpKxQ8kH9Rf7Jh+nryKpOUSEFxtCdBlSUx0/lO6rwRg==", "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" + "license": "MIT", + "os": [ + "darwin", + "linux", + "win32", + "freebsd", + "openbsd", + "netbsd", + "sunos", + "android" + ], + "bin": { + "systeminformation": "lib/cli.js" }, "engines": { - "node": ">=10" + "node": ">=8.0.0" }, "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dev": true, - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dev": true, - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" + "type": "Buy me a coffee", + "url": "https://www.buymeacoffee.com/systeminfo" } }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "node_modules/teex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/teex/-/teex-1.0.1.tgz", + "integrity": "sha512-eYE6iEI62Ni1H8oIa7KlDU6uQBtqr4Eajni3wX7rpfXD8ysFx8z0+dri+KWEPWpBsxXfxu58x/0jvTVT1ekOSg==", "dev": true, + "license": "MIT", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" + "streamx": "^2.12.5" } }, "node_modules/temp-dir": { @@ -21725,6 +15461,7 @@ "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -21734,6 +15471,7 @@ "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", "dev": true, + "license": "MIT", "dependencies": { "del": "^6.0.0", "is-stream": "^2.0.0", @@ -21753,6 +15491,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -21760,36 +15499,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "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==", "dev": true, + "license": "Apache-2.0", "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/terser/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" + "b4a": "^1.6.4" } }, "node_modules/text-extensions": { @@ -21797,21 +15514,17 @@ "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.9.0.tgz", "integrity": "sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, "node_modules/textextensions": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-3.3.0.tgz", "integrity": "sha512-mk82dS8eRABNbeVJrEiN5/UMSCliINAuz8mkUwH4SwslkNP//gbEzlWNS5au0z5Dpx40SQxzqZevZkn+WYJ9Dw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -21819,38 +15532,29 @@ "url": "https://bevry.me/fund" } }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "node_modules/throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", "dev": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" }, "node_modules/through2": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "3" } @@ -21860,40 +15564,62 @@ "resolved": "https://registry.npmjs.org/through2-filter/-/through2-filter-3.0.0.tgz", "integrity": "sha512-jaRjI2WxN3W1V8/FMZ9HKIBXixtiqs3SQSX4/YGIiP3gL6djW48VoZq9tDqeCWs3MT8YY5wb/zli8VW8snY1CA==", "dev": true, + "license": "MIT", "dependencies": { "through2": "~2.0.0", "xtend": "~4.0.0" } }, + "node_modules/through2-filter/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==", + "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" + } + }, + "node_modules/through2-filter/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/through2-filter/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/through2-filter/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" } }, - "node_modules/through2/node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/tify": { "version": "0.28.1", "resolved": "https://registry.npmjs.org/tify/-/tify-0.28.1.tgz", "integrity": "sha512-9CWqBfYSPUaRFh9bE7yCYQ2GUHh6Cjln12RJO0VMhxIYAOJXVK7dKH+lJeJ4IkkWg7J2/PaVwHeoUbGZzkh4IQ==", "hasInstallScript": true, + "license": "AGPL-3.0", "engines": { "node": ">= 16", "npm": ">= 8" @@ -21902,8 +15628,9 @@ "node_modules/time-stamp": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-1.1.0.tgz", - "integrity": "sha1-dkpaEa9QVhkhsTPztE5hhofg9cM=", + "integrity": "sha512-gLCeArryy2yNTRzTGKbZbloctj64jkZ57hj5zdraXue6aFgd6PmvVtEyiUU+hvU0v7q08oVv8r8ev0tRo6bvgw==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -21912,42 +15639,47 @@ "version": "6.3.7", "resolved": "https://registry.npmjs.org/tippy.js/-/tippy.js-6.3.7.tgz", "integrity": "sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ==", + "license": "MIT", "dependencies": { "@popperjs/core": "^2.9.0" } }, - "node_modules/tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "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": { - "rimraf": "^3.0.0" + "tldts-core": "^6.1.86" }, - "engines": { - "node": ">=8.17.0" + "bin": { + "tldts": "bin/cli.js" } }, - "node_modules/tmp/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "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, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" } }, "node_modules/to-absolute-glob": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-2.0.2.tgz", - "integrity": "sha1-GGX0PZ50sIItufFFt4z/fQ98hJs=", + "integrity": "sha512-rtwLUQEwT8ZeKQbyFJyomBRYXyE16U5VKuy0ftxLMK/PZb2fkOsg5r9kHdauuVDbsNdIBoC/HCthpidamQFXYA==", "dev": true, + "license": "MIT", "dependencies": { "is-absolute": "^1.0.0", "is-negated-glob": "^1.0.0" @@ -21956,20 +15688,12 @@ "node": ">=0.10.0" } }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/to-object-path": { "version": "0.3.0", "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", "dev": true, + "license": "MIT", "dependencies": { "kind-of": "^3.0.2" }, @@ -21980,8 +15704,9 @@ "node_modules/to-object-path/node_modules/kind-of": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", "dev": true, + "license": "MIT", "dependencies": { "is-buffer": "^1.1.5" }, @@ -21994,6 +15719,7 @@ "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", "dev": true, + "license": "MIT", "dependencies": { "define-property": "^2.0.2", "extend-shallow": "^3.0.2", @@ -22005,36 +15731,24 @@ } }, "node_modules/to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "dependencies": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "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==", "dev": true, + "license": "MIT", "dependencies": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" + "is-number": "^7.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=8.0" } }, "node_modules/to-regex/node_modules/extend-shallow": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", "dev": true, + "license": "MIT", "dependencies": { "assign-symbols": "^1.0.0", "is-extendable": "^1.0.1" @@ -22043,49 +15757,12 @@ "node": ">=0.10.0" } }, - "node_modules/to-regex/node_modules/is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/to-regex/node_modules/is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "dependencies": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/to-regex/node_modules/is-extendable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", "dev": true, + "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4" }, @@ -22098,6 +15775,7 @@ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, + "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -22105,20 +15783,12 @@ "node": ">=0.10.0" } }, - "node_modules/to-regex/node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/to-through": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-through/-/to-through-2.0.0.tgz", - "integrity": "sha1-/JKtq6ByZHvAtn1rA2ZKoZUJOvY=", + "integrity": "sha512-+QIz37Ly7acM4EMdw2PRN389OneM5+d844tirkGp4dPKzI5OE72V9OsbFp+CIYJDahZ41ZV05hNtcPAQUAm9/Q==", "dev": true, + "license": "MIT", "dependencies": { "through2": "^2.0.3" }, @@ -22126,11 +15796,45 @@ "node": ">= 0.10" } }, + "node_modules/to-through/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==", + "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" + } + }, + "node_modules/to-through/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==", + "dev": true, + "license": "MIT" + }, + "node_modules/to-through/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/to-through/node_modules/through2": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", "dev": true, + "license": "MIT", "dependencies": { "readable-stream": "~2.3.6", "xtend": "~4.0.1" @@ -22139,24 +15843,17 @@ "node_modules/toastify-js": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/toastify-js/-/toastify-js-1.12.0.tgz", - "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==" - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.6" - } + "integrity": "sha512-HeMHCO9yLPvP9k0apGSdPUWrUbLnxUKNFzgUoZp1PHCLploIX/4DSQ7V8H25ef+h4iO9n0he7ImfcndnN6nDrQ==", + "license": "MIT" }, "node_modules/tom-select": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tom-select/-/tom-select-2.3.1.tgz", - "integrity": "sha512-QS4vnOcB6StNGqX4sGboGXL2fkhBF2gIBB+8Hwv30FZXYPn0CyYO8kkdATRvwfCTThxiR4WcXwKJZ3cOmtI9eg==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/tom-select/-/tom-select-2.4.3.tgz", + "integrity": "sha512-MFFrMxP1bpnAMPbdvPCZk0KwYxLqhYZso39torcdoefeV/NThNyDu8dV96/INJ5XQVTL3O55+GqQ78Pkj5oCfw==", + "license": "Apache-2.0", "dependencies": { - "@orchidjs/sifter": "^1.0.3", - "@orchidjs/unicode-variants": "^1.0.4" + "@orchidjs/sifter": "^1.1.0", + "@orchidjs/unicode-variants": "^1.1.2" }, "engines": { "node": "*" @@ -22167,104 +15864,96 @@ } }, "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", + "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": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" + "tldts": "^6.1.32" }, "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" + "node": ">=16" } }, "node_modules/tr46": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-3.0.0.tgz", - "integrity": "sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=12" - } + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" }, "node_modules/traverse": { - "version": "0.6.6", - "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", - "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", - "dev": true - }, - "node_modules/tsconfig-paths": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.1.tgz", - "integrity": "sha512-fxDhWnFSLt3VuTwtvJt5fpwxBHg5AdKWMsgcPOOIilyjymcYVZoCQF8fvFRezCNfblEXmi+PcM1eYHeOAgXCOQ==", + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.8.tgz", + "integrity": "sha512-aXJDbk6SnumuaZSANd21XAo15ucCDE38H4fkqiGsc3MhCK+wOlZvLP9cB/TvpHT0mOyWgC4Z8EwRlzqYSUzdsA==", "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, + "license": "MIT", "bin": { - "json5": "lib/cli.js" + "tree-kill": "cli.js" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", "dev": true, + "license": "MIT", "engines": { - "node": ">=4" + "node": ">=8" } }, "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 + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" }, - "node_modules/tsscmp": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.6.tgz", - "integrity": "sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA==", + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dev": true, + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, "engines": { - "node": ">=0.6.x" + "node": "*" } }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true, + "license": "Unlicense" + }, "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.3.tgz", + "integrity": "sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==", + "license": "ISC" }, "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==", "dev": true, + "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -22272,66 +15961,29 @@ "node": ">= 0.8.0" } }, - "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, - "engines": { - "node": ">=4" - } - }, "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, + "license": "(MIT OR CC0-1.0)", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, "node_modules/typedarray": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "node_modules/typeof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/typeof/-/typeof-1.0.0.tgz", - "integrity": "sha1-nIRAPyMjrlOZFnJ1SXY46h0vJEA=", - "dev": true - }, - "node_modules/typical": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-4.0.0.tgz", - "integrity": "sha512-VAH4IvQ7BDFYglMd7BPRDfLgxZZX4O4TFcRDA6EN5X7erNJJq+McIEp8np9aVtxrCJ6qx4GTYVfOWNjcqwZgRw==", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", "dev": true, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/uglify-js": { - "version": "3.15.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.4.tgz", - "integrity": "sha512-vMOPGDuvXecPs34V74qDKk4iJ/SN4vL3Ow/23ixafENYvtrNvtbcgUeugTcUGRGsOF/5fU8/NYSL5Hyb3l1OJA==", + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", "dev": true, + "license": "BSD-2-Clause", "optional": true, "bin": { "uglifyjs": "bin/uglifyjs" @@ -22340,36 +15992,12 @@ "node": ">=0.8.0" } }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unbzip2-stream": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", - "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", - "dev": true, - "dependencies": { - "buffer": "^5.2.1", - "through": "^2.3.8" - } - }, "node_modules/unc-path-regex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz", - "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=", + "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -22379,6 +16007,7 @@ "resolved": "https://registry.npmjs.org/undertaker/-/undertaker-1.3.0.tgz", "integrity": "sha512-/RXwi5m/Mu3H6IHQGww3GNt1PNXlbeCuclF2QYR14L/2CHPz3DFZkvB5hZ0N/QUkiXWCACML2jXViIQEQc2MLg==", "dev": true, + "license": "MIT", "dependencies": { "arr-flatten": "^1.0.1", "arr-map": "^2.0.0", @@ -22398,57 +16027,26 @@ "node_modules/undertaker-registry": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/undertaker-registry/-/undertaker-registry-1.0.1.tgz", - "integrity": "sha1-XkvaMI5KiirlhPm5pDWaSZglzFA=", + "integrity": "sha512-UR1khWeAjugW3548EfQmL9Z7pGMlBgXteQpr1IZeZBtnkCJQJIJ1Scj0mb9wQaPvUZ9Q17XqW6TIaPchJkyfqw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", - "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", - "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "node_modules/undertaker/node_modules/fast-levenshtein": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.4.tgz", + "integrity": "sha512-Ia0sQNrMPXXkqVFt6w6M1n1oKo3NfKs+mvaV811Jwir7vAk9a6PVV9VPYf6X3BU97QiLEmuW3uXH9u87zDFfdw==", "dev": true, - "engines": { - "node": ">=4" - } + "license": "MIT" }, "node_modules/union-value": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", "dev": true, + "license": "MIT", "dependencies": { "arr-union": "^3.1.0", "get-value": "^2.0.6", @@ -22460,18 +16058,20 @@ } }, "node_modules/uniqolor": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uniqolor/-/uniqolor-1.1.0.tgz", - "integrity": "sha512-j2XyokF24fsj+L5u6fbu4rM3RQc6VWJuAngYM2k0ZdG3yiVxt0smLkps2GmQIYqK8VkELGdM9vFU/HfOkK/zoQ==" + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/uniqolor/-/uniqolor-1.1.1.tgz", + "integrity": "sha512-HUwezlXCwm5bzsEXW7AP7ybezH13uWENRgYT+3dOdhJPvpYucSqvIGckMiLn+Uy2j0NVf3fPp43uZ4aun3t4Ww==", + "license": "MIT" }, "node_modules/unique-stream": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.3.1.tgz", - "integrity": "sha512-2nY4TnBE70yoxHkDli7DMazpWiP7xMdCYqU2nBRO0UB+ZpEkGsSija7MvmvnZFUeC+mrgiUfcHSr3LmRFIg4+A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/unique-stream/-/unique-stream-2.4.0.tgz", + "integrity": "sha512-V6QarSfeSgDipGA9EZdoIzu03ZDlOFkk+FbEP5cwgrZXN3iIkYR91IjU2EnM6rB835kGQsqHX8qncObTXV+6KA==", "dev": true, + "license": "MIT", "dependencies": { "json-stable-stringify-without-jsonify": "^1.0.1", - "through2-filter": "^3.0.0" + "through2-filter": "3.0.0" } }, "node_modules/unique-string": { @@ -22479,6 +16079,7 @@ "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", "dev": true, + "license": "MIT", "dependencies": { "crypto-random-string": "^2.0.0" }, @@ -22487,40 +16088,28 @@ } }, "node_modules/universal-user-agent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz", - "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==", - "dev": true + "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/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 10.0.0" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/unraw": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unraw/-/unraw-2.0.1.tgz", - "integrity": "sha512-tdOvLfRzHolwYcHS6HIX860MkK9LQ4+oLuNwFYL7bpgTEO64PZrcQxkisgwJYCfF8sKiWLwwu1c83DvMkbefIQ==", - "dev": true - }, "node_modules/unset-value": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", "dev": true, + "license": "MIT", "dependencies": { "has-value": "^0.3.1", "isobject": "^3.0.0" @@ -22532,8 +16121,9 @@ "node_modules/unset-value/node_modules/has-value": { "version": "0.3.1", "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", "dev": true, + "license": "MIT", "dependencies": { "get-value": "^2.0.3", "has-values": "^0.1.4", @@ -22546,8 +16136,9 @@ "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", "dev": true, + "license": "MIT", "dependencies": { "isarray": "1.0.0" }, @@ -22558,17 +16149,29 @@ "node_modules/unset-value/node_modules/has-values": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/upath": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true, + "license": "MIT", "engines": { "node": ">=4", "yarn": "*" @@ -22579,6 +16182,7 @@ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -22586,157 +16190,290 @@ "node_modules/urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", "deprecated": "Please see https://github.com/lydell/urix#deprecated", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/url-join": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/use": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, - "node_modules/useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", + "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==", + "dev": true, + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8flags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", + "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "dev": true, + "license": "MIT", + "dependencies": { + "homedir-polyfill": "^1.0.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "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": "Apache-2.0", "dependencies": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/value-or-function": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", + "integrity": "sha512-jdBB2FrWvQC/pnPtIqcLsMaQgjhdb6B7tk1MMyTKapox+tQZbdRP4uLxu/JY0t7fbfDCUMnuelzEYv5GsxHhdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/verovio": { + "version": "3.16.0", + "resolved": "https://registry.npmjs.org/verovio/-/verovio-3.16.0.tgz", + "integrity": "sha512-+fJaQVwHOWzq9q1H7VJWbhxTkQ4bijnBz7gvKFbJGx2DcpTsr1A0hUpZXelqc6+n+DC/rC8V1eaUPJKuOBdVyQ==", + "license": "LGPL-3.0-or-later", + "engines": { + "node": ">= 14.18.0" } }, - "node_modules/useragent/node_modules/lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", "dev": true, + "engines": [ + "node >=0.6.0" + ], + "license": "MIT", "dependencies": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" } }, - "node_modules/useragent/node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/vinyl": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-3.0.1.tgz", + "integrity": "sha512-0QwqXteBNXgnLCdWdvPQBX6FXRHtIH3VhJPTd5Lwn28tJXc34YqSCWUmkOvtJHBmB3gGoPtrOKk3Ts8/kEZ9aA==", "dev": true, + "license": "MIT", "dependencies": { - "os-tmpdir": "~1.0.2" + "clone": "^2.1.2", + "remove-trailing-separator": "^1.1.0", + "replace-ext": "^2.0.0", + "teex": "^1.0.1" }, "engines": { - "node": ">=0.6.0" + "node": ">=10.13.0" } }, - "node_modules/useragent/node_modules/yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + "node_modules/vinyl-fs": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", + "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-mkdirp-stream": "^1.0.0", + "glob-stream": "^6.1.0", + "graceful-fs": "^4.0.0", + "is-valid-glob": "^1.0.0", + "lazystream": "^1.0.0", + "lead": "^1.0.0", + "object.assign": "^4.0.4", + "pumpify": "^1.3.5", + "readable-stream": "^2.3.3", + "remove-bom-buffer": "^3.0.0", + "remove-bom-stream": "^1.2.0", + "resolve-options": "^1.1.0", + "through2": "^2.0.0", + "to-through": "^2.0.0", + "value-or-function": "^3.0.0", + "vinyl": "^2.0.0", + "vinyl-sourcemap": "^1.1.0" + }, + "engines": { + "node": ">= 0.10" + } }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true + "node_modules/vinyl-fs/node_modules/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true + "node_modules/vinyl-fs/node_modules/glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + } }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "node_modules/vinyl-fs/node_modules/glob-stream": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/glob-stream/-/glob-stream-6.1.0.tgz", + "integrity": "sha512-uMbLGAP3S2aDOHUDfdoYcdIePUCfysbAd0IAoWVZbeGU/oNQ8asHVSshLDJUPWxfzj8zsCG7/XeHPHTtow0nsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.0", + "glob": "^7.1.1", + "glob-parent": "^3.1.0", + "is-negated-glob": "^1.0.0", + "ordered-read-streams": "^1.0.0", + "pumpify": "^1.3.5", + "readable-stream": "^2.1.5", + "remove-trailing-separator": "^1.0.1", + "to-absolute-glob": "^2.0.0", + "unique-stream": "^2.0.2" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vinyl-fs/node_modules/is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==", "dev": true, + "license": "MIT", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "is-extglob": "^2.1.0" }, "engines": { - "node": ">=10.12.0" + "node": ">=0.10.0" } }, - "node_modules/v8-to-istanbul/node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "node_modules/vinyl-fs/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", "dev": true, - "engines": { - "node": ">= 8" + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "node_modules/v8flags": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", - "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", + "node_modules/vinyl-fs/node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", "dev": true, + "license": "MIT", "dependencies": { - "homedir-polyfill": "^1.0.1" - }, - "engines": { - "node": ">= 0.10" + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "node_modules/valid-url": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/valid-url/-/valid-url-1.0.9.tgz", - "integrity": "sha1-HBRHm0DxOXp1eC8RXkCGRHQzogA=", - "dev": true - }, - "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==", + "node_modules/vinyl-fs/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==", "dev": true, + "license": "MIT", "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "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/value-or-function": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/value-or-function/-/value-or-function-3.0.0.tgz", - "integrity": "sha1-HCQ6ULWVwb5Up1S/7OhWO5/42BM=", + "node_modules/vinyl-fs/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true, + "license": "MIT", "engines": { "node": ">= 0.10" } }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "node_modules/vinyl-fs/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==", "dev": true, - "engines": { - "node": ">= 0.8" + "license": "MIT" + }, + "node_modules/vinyl-fs/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==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "node_modules/verovio": { - "version": "3.16.0", - "resolved": "https://registry.npmjs.org/verovio/-/verovio-3.16.0.tgz", - "integrity": "sha512-+fJaQVwHOWzq9q1H7VJWbhxTkQ4bijnBz7gvKFbJGx2DcpTsr1A0hUpZXelqc6+n+DC/rC8V1eaUPJKuOBdVyQ==", - "engines": { - "node": ">= 14.18.0" + "node_modules/vinyl-fs/node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" } }, - "node_modules/vinyl": { + "node_modules/vinyl-fs/node_modules/vinyl": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, + "license": "MIT", "dependencies": { "clone": "^2.1.1", "clone-buffer": "^1.0.0", @@ -22749,49 +16486,12 @@ "node": ">= 0.10" } }, - "node_modules/vinyl-fs": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-3.0.3.tgz", - "integrity": "sha512-vIu34EkyNyJxmP0jscNzWBSygh7VWhqun6RmqVfXePrOwi9lhvRs//dOaGOTRUQr4tx7/zd26Tk5WeSVZitgng==", - "dev": true, - "dependencies": { - "fs-mkdirp-stream": "^1.0.0", - "glob-stream": "^6.1.0", - "graceful-fs": "^4.0.0", - "is-valid-glob": "^1.0.0", - "lazystream": "^1.0.0", - "lead": "^1.0.0", - "object.assign": "^4.0.4", - "pumpify": "^1.3.5", - "readable-stream": "^2.3.3", - "remove-bom-buffer": "^3.0.0", - "remove-bom-stream": "^1.2.0", - "resolve-options": "^1.1.0", - "through2": "^2.0.0", - "to-through": "^2.0.0", - "value-or-function": "^3.0.0", - "vinyl": "^2.0.0", - "vinyl-sourcemap": "^1.1.0" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vinyl-fs/node_modules/through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, "node_modules/vinyl-sourcemap": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/vinyl-sourcemap/-/vinyl-sourcemap-1.1.0.tgz", - "integrity": "sha1-kqgAWTo4cDqM2xHYswCtS+Y7PhY=", + "integrity": "sha512-NiibMgt6VJGJmyw7vtzhctDcfKch4e4n9TBeoWlirb7FMg9/1Ov9k+A5ZRAtywBpRPiyECvQRQllYM8dECegVA==", "dev": true, + "license": "MIT", "dependencies": { "append-buffer": "^1.0.2", "convert-source-map": "^1.5.0", @@ -22808,8 +16508,9 @@ "node_modules/vinyl-sourcemap/node_modules/normalize-path": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", "dev": true, + "license": "MIT", "dependencies": { "remove-trailing-separator": "^1.0.1" }, @@ -22817,137 +16518,101 @@ "node": ">=0.10.0" } }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "node_modules/vinyl-sourcemap/node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "node_modules/w3c-keyname": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", - "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==" - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/vinyl-sourcemap/node_modules/vinyl": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/vinyl/-/vinyl-2.2.1.tgz", + "integrity": "sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==", "dev": true, + "license": "MIT", "dependencies": { - "xml-name-validator": "^3.0.0" + "clone": "^2.1.1", + "clone-buffer": "^1.0.0", + "clone-stats": "^1.0.0", + "cloneable-readable": "^1.0.0", + "remove-trailing-separator": "^1.0.1", + "replace-ext": "^1.0.0" }, "engines": { - "node": ">=10" + "node": ">= 0.10" } }, + "node_modules/w3c-keyname": { + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==", + "license": "MIT" + }, "node_modules/web-animations-js": { "version": "2.3.2", "resolved": "https://registry.npmjs.org/web-animations-js/-/web-animations-js-2.3.2.tgz", - "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==" + "integrity": "sha512-TOMFWtQdxzjWp8qx4DAraTWTsdhxVSiWa6NkPFSaPtZ1diKUxTn4yTix73A1euG1WbSOMMPcY51cnjTIHrGtDA==", + "license": "Apache-2.0" }, "node_modules/web-midi-player": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/web-midi-player/-/web-midi-player-1.4.1.tgz", "integrity": "sha512-bPK19kcDfMqzS/i8+1RRNDgd2KKuX6HO0bBwfZveQHsalS1S3K+sAAdiA7Pmnxp7J70IQwTDb4OSeN3z2uvnpQ==", + "license": "MIT", "engines": { "node": ">=12.14.1", "npm": "~6.2.0" } }, "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-fetch": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz", - "integrity": "sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==", - "dev": true - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "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/whatwg-url": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-11.0.0.tgz", - "integrity": "sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==", - "dev": true, + "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": { - "tr46": "^3.0.0", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url/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, - "engines": { - "node": ">=12" + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" } }, "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "node-which": "bin/node-which" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 8" } }, "node_modules/which-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", - "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=", - "dev": true + "integrity": "sha512-F6+WgncZi/mJDrammbTuHe1q0R5hOXv/mBaiNA2TCNT/LTHusX0V+CJnj9XT8ki5ln2UZyyddDgHfCzyrOH7MQ==", + "dev": true, + "license": "ISC" }, "node_modules/which-pm-runs": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -22955,108 +16620,32 @@ "node_modules/whynot": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whynot/-/whynot-5.0.0.tgz", - "integrity": "sha512-cGGfDPYYqoHoMWqXVc3G+N74u1FhFhrBa+pOO906b9ktRc/JFUdwroTkfPqjKzyoCLVcKr6yy6bYIcWT7jTg2A==" - }, - "node_modules/wide-align": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.3.tgz", - "integrity": "sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==", - "dev": true, - "dependencies": { - "string-width": "^1.0.2 || 2" - } - }, - "node_modules/wide-align/node_modules/ansi-regex": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", - "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "dev": true, - "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wide-align/node_modules/strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", - "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=", - "dev": true - }, - "node_modules/wordwrapjs": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/wordwrapjs/-/wordwrapjs-4.0.1.tgz", - "integrity": "sha512-kKlNACbvHrkpIw6oPeYDSmdCTu2hdMHoyXLTcUKala++lx5Y+wjJ/e474Jqv5abnVmwxw08DiTuHmw69lJGksA==", - "dev": true, - "dependencies": { - "reduce-flatten": "^2.0.0", - "typical": "^5.2.0" - }, - "engines": { - "node": ">=8.0.0" - } + "integrity": "sha512-cGGfDPYYqoHoMWqXVc3G+N74u1FhFhrBa+pOO906b9ktRc/JFUdwroTkfPqjKzyoCLVcKr6yy6bYIcWT7jTg2A==", + "license": "MIT" }, - "node_modules/wordwrapjs/node_modules/typical": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/typical/-/typical-5.2.0.tgz", - "integrity": "sha512-dvdQgNDNJo+8B2uBQoqdb11eUCE1JQXhvjC/CZtgvZseVd5TYMXnq0+vuUemXbd/Se29cTaUuPX3YIc2xgbvIg==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/workerpool": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.0.tgz", - "integrity": "sha512-toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==", - "dev": true + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" }, "node_modules/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==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -23072,56 +16661,26 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true - }, - "node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true + "license": "ISC" }, "node_modules/xmlbuilder": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz", - "integrity": "sha1-aSSGc0ELS6QuGmE2VR0pIjNap3M=", + "integrity": "sha512-eKRAFz04jghooy8muekqzo8uCSVNeyRedbuJrp0fovbLIi7wlsYtdUn3vBAAPq2Y3/0xMz2WMEUQ8yhVVO9Stw==", "dev": true, + "license": "MIT", "engines": { "node": ">=4.0" } }, - "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 - }, "node_modules/xmlrpc": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/xmlrpc/-/xmlrpc-1.3.2.tgz", - "integrity": "sha1-JrLqNHhI0Ciqx+dRS1NRl23j6D0=", + "integrity": "sha512-jQf5gbrP6wvzN71fgkcPPkF4bF/Wyovd7Xdff8d6/ihxYmgETQYSuTc+Hl+tsh/jmgPLro/Aro48LMFlIyEKKQ==", "dev": true, + "license": "MIT", "dependencies": { "sax": "1.2.x", "xmlbuilder": "8.2.x" @@ -23135,6 +16694,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/xspattern/-/xspattern-3.1.0.tgz", "integrity": "sha512-rxtOX8ORJizRqswIdZ72G3thKrHd0Q+TvyUCMByc5VdjDz1nkuZKfPXM3xGdrGi0fwEy+DDJN7DqtAZ06Re4bA==", + "license": "MIT", "dependencies": { "whynot": "^5.0.0" } @@ -23144,111 +16704,289 @@ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.4" } }, "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==", "dev": true, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "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 + "dev": true, + "license": "ISC" }, "node_modules/yaml": { "version": "1.10.2", "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", "dev": true, + "license": "ISC", "engines": { "node": ">= 6" } }, - "node_modules/yamlparser": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/yamlparser/-/yamlparser-0.0.2.tgz", - "integrity": "sha1-Mjk+avxwyMoGa2ZQrGc4tIFnjrw=", - "dev": true - }, "node_modules/yargs": { - "version": "17.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.4.1.tgz", - "integrity": "sha512-WSZD9jgobAg3ZKuCQZSa3g9QOJeCCqLoLAykiWgmXnDo9EPnn4RPf5qVTtzgOx66o6/oqhcA5tHtJXpG8pMt3g==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-7.1.2.tgz", + "integrity": "sha512-ZEjj/dQYQy0Zx0lgLMLR8QuaqTihnxirir7EwUHp1Axq4e3+k8jXU5K0VLbNvedv1f4EWtBonDIZm0NUr+jCcA==", "dev": true, + "license": "MIT", "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^5.0.1" + } + }, + "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", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha512-4nhGqUkc4BqbBBB4Q6zLuD7lzzrHYrjKGeYaEji/3tFR5VdJu9v+LilhGIVe8wxEJPPOeWo7eg8dwY13TZ1BNg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/yargs-parser": { - "version": "21.0.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "node_modules/yargs/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", "dev": true, + "license": "ISC" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "number-is-nan": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": ">=0.10.0" } }, - "node_modules/yargs-unparser": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", - "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "node_modules/yargs/node_modules/load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==", "dev": true, + "license": "MIT", "dependencies": { - "camelcase": "^6.0.0", - "decamelize": "^4.0.0", - "flat": "^5.0.2", - "is-plain-obj": "^2.1.0" + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "node_modules/yargs-unparser/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "node_modules/yargs/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/yargs/node_modules/parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==", "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.2.0" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "pinkie-promise": "^2.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/yargs-unparser/node_modules/decamelize": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", - "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "node_modules/yargs/node_modules/path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==", "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, "engines": { - "node": ">=10" + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/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/yargs/node_modules/string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==", + "dev": true, + "license": "MIT", + "dependencies": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-utf8": "^0.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-5.0.1.tgz", + "integrity": "sha512-wpav5XYiddjXxirPoCTUPbqM0PXvJ9hiBMvuJgInvo4/lAOTZzUprArw17q2O1P2+GHhbBr18/iQwjL5Z9BqfA==", + "dev": true, + "license": "ISC", + "dependencies": { + "camelcase": "^3.0.0", + "object.assign": "^4.1.0" } }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" @@ -23259,24 +16997,17 @@ "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz", "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==", "dev": true, + "license": "MIT", "dependencies": { "buffer-crc32": "~0.2.3" } }, - "node_modules/ylru": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ylru/-/ylru-1.3.2.tgz", - "integrity": "sha512-RXRJzMiK6U2ye0BlGGZnmpwJDPgakn6aNQ0A7gHRbD4I0uvK4TW6UqkK1V0pp9jskjJBAXd3dRrbzWkqJ+6cxA==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, "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==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 21c89c8b..cce7987c 100644 --- a/package.json +++ b/package.json @@ -1,70 +1,50 @@ { "name": "edep", - "version": "1.9.1", + "version": "2.0.0", "description": "Editionstools für eine digitale Epigraphik", "dependencies": { - "@jinntec/fore": "^2.4.1", - "@jinntec/jinn-codemirror": "1.17.6", - "@teipublisher/pb-components": "2.12.10", - "datalist-ajax": "1.0.2" + "@jinntec/fore": "^2.7.1", + "@jinntec/jinn-codemirror": "1.18.2", + "@teipublisher/pb-components": "2.12.10" }, "scripts": { - "test": "web-test-runner --coverage", - "test:watch": "web-test-runner --watch", - "test:build": "gulp test:install", "clean": "gulp clean", "build": "gulp build", "xar": "gulp xar", "build:all": "gulp build && gulp test:build", "deploy": "gulp install", "copy": "gulp copyStatic", - "start": "web-dev-server --node-resolve --watch --open", - "lint": "eslint --ext .js,.html . --ignore-path .gitignore && prettier \"**/*.js\" --check --ignore-path .gitignore", - "format": "eslint --ext .js,.html . --fix --ignore-path .gitignore && prettier \"**/*.js\" --write --ignore-path .gitignore" + "lint": "eslint --ext .js,.html . && prettier \"**/*.js\" \"**/*.html\" --check --ignore-path .gitignore", + "format": "eslint --ext .js,.html . --fix; prettier \"**/*.js\" \"**/*.html\" --write --ignore-path .gitignore", + "postinstall": "cp node_modules/@jinntec/fore/dist/* src/resources/scripts/fore/ && cp node_modules/@jinntec/fore/resources/*.css src/resources/css" }, "devDependencies": { + "@eslint/js": "^9.36.0", "@existdb/gulp-exist": "^4.3.1", "@existdb/gulp-replace-tmpl": "^1.0.4", - "@open-wc/eslint-config": "^4.3.0", - "@open-wc/testing": "next", + "@html-eslint/eslint-plugin": "^0.47.0", "@semantic-release/exec": "^5.0.0", "@semantic-release/git": "^9.0.0", "@semantic-release/github": "^7.2.0", - "@web/dev-server": "^0.1.29", - "@web/test-runner": "^0.13.16", - "axios": "^0.21.1", - "chai": "^4.2.0", - "chai-openapi-response-validator": "^0.9.4", + "cypress": "^15.3.0", "delete": "^1.1.0", - "es-dev-server": "^2.1.0", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "form-data": "^3.0.0", + "eslint": "^9.36.0", + "eslint-config-prettier": "^10.1.8", + "eslint-plugin-cypress": "^5.1.1", + "eslint-plugin-prettier": "^5.5.4", + "globals": "^16.4.0", "gulp": "^4.0.2", "gulp-rename": "^2.0.0", "gulp-zip": "^5.1.0", "husky": "^4.3.8", - "jsdom": "^16.4.0", "lint-staged": "^10.5.4", - "mocha": "^8.1.3", - "prettier": "^2.3.2", - "semantic-release": "^17.3.2", - "tmp": "^0.2.1" + "prettier": "^3.6.2", + "semantic-release": "^17.3.2" }, "mocha": { "timeout": 10000, "slow": 1000 }, - "eslintConfig": { - "extends": [ - "@open-wc", - "prettier" - ] - }, - "prettier": { - "singleQuote": true, - "arrowParens": "avoid" - }, "husky": { "hooks": {} }, diff --git a/src/controller.xql b/src/controller.xql index cd62ecdf..2643d798 100644 --- a/src/controller.xql +++ b/src/controller.xql @@ -32,7 +32,13 @@ if ($exist:path eq '' or matches($exist:path, "^/edit/[^/]+$")) then - +else if (matches($exist:path, "^/?templates/zotero-autocomplete\.html$")) then ( + util:declare-option( + "exist:serialize", + "method=html5 media-type=text/html omit-xml-declaration=yes" + ), + doc('templates/zotero-autocomplete.html') (: no stream-binary; just return the node :) +) else if ($exist:path eq "/") then (: forward root path to index.xql :) diff --git a/src/expath-pkg.xml b/src/expath-pkg.xml index b8f0010e..0b9cad8e 100644 --- a/src/expath-pkg.xml +++ b/src/expath-pkg.xml @@ -1,8 +1,9 @@ - Editionstools für eine digitale Epigraphik - + + diff --git a/src/modules/config.xqm b/src/modules/config.xqm index ae672af5..e631950e 100644 --- a/src/modules/config.xqm +++ b/src/modules/config.xqm @@ -19,11 +19,11 @@ declare namespace tei="http://www.tei-c.org/ns/1.0"; (:~ : Define where places are located - :) declare variable $config:places := $config:data-root || "/places/"; declare variable $config:people := $config:data-root || "/people/"; declare variable $config:inscription := $config:data-root || "/workspace/"; declare variable $config:inscription-templ := $config:app-root || "/templates/fore/epidoc-template.xml"; + :) (:~~ : The version of the pb-components webcomponents library to be used by this app. @@ -97,6 +97,8 @@ declare variable $config:default-view :="body"; :) declare variable $config:default-template :="edep.html"; +declare variable $config:odd-media := ("web", "print", "fo", "latex", "epub"); + (: : The element to search by default, either 'tei:div' or 'tei:text'. :) @@ -319,6 +321,36 @@ declare variable $config:context-path := :) declare variable $config:data-root := repo:get-root() || "edep-data"; +(:~ + : Define where places are located + :) + declare variable $config:places := $config:data-root || "/places/"; + declare variable $config:people := $config:data-root || "/people/"; + declare variable $config:inscription := $config:data-root || "/workspace/"; + declare variable $config:inscription-templ := $config:app-root || "/templates/fore/epidoc-template.xml"; + +(: ZOTERO CONFIG :) +(: Base URL of Zotero Web API :) +declare variable $config:zotero-api-base := "https://api.zotero.org"; + +(: Optional API key; leave empty for public groups :) +declare variable $config:zotero-api-key := ""; + +(: Your group id :) +declare variable $config:zotero-group-id := "2519759"; + +(: Base dir where all groups live; must already exist :) +declare variable $config:zotero-base-dir := $config:data-root || "/zotero/groups"; + +(: Derived paths for this group :) +declare variable $config:zotero-group-dir := $config:zotero-base-dir || "/" || $config:zotero-group-id; +declare variable $config:zotero-items-dir := $config:zotero-group-dir || "/items"; +declare variable $config:zotero-items-xml-dir := $config:zotero-group-dir || "/items-xml"; + +declare variable $config:zotero-meta-path := $config:zotero-group-dir || "/meta.json"; +declare variable $config:zotero-style := "digital-humanities-im-deutschsprachigen-raum"; + + (:~ : The root of the collection hierarchy whose files should be displayed : on the entry page. Can be different from $config:data-root. @@ -343,7 +375,7 @@ declare variable $config:default-odd :="edep.odd"; : make sure to run modules/generate-pm-config.xql to update the main configuration : module for transformations (modules/pm-config.xql). :) -declare variable $config:odd-available :=("edep.odd", "teipublisher_odds.odd", "teipublisher.odd", "tei_simplePrint.odd", "edep-clean.odd", "edep-output.odd"); +declare variable $config:odd-available :=("edep.odd", "edep-edition.odd", "teipublisher_odds.odd", "teipublisher.odd", "tei_simplePrint.odd", "edep-clean.odd", "edep-output.odd"); (:~ : List of ODD files which are used internally only, i.e. not for displaying information diff --git a/src/modules/custom-api.json b/src/modules/custom-api.json index 46046d9b..5bd97c8a 100644 --- a/src/modules/custom-api.json +++ b/src/modules/custom-api.json @@ -8,7 +8,7 @@ "servers": [ { "description": "Endpoint for testing on localhost", - "url": "http://localhost:8080/exist/apps/edep" + "url": "/exist/apps/edep" } ], "components": { @@ -223,114 +223,6 @@ } } }, - "/api/decor": { - "get": { - "summary": "decor items", - "operationId": "api:decor", - "responses": { - "200": { - "description": "decor", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, - "/api/material": { - "get": { - "summary": "material items", - "operationId": "api:material", - "responses": { - "200": { - "description": "material", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, - "/api/objtyp": { - "get": { - "summary": "objtyp items", - "operationId": "api:objtyp", - "responses": { - "200": { - "description": "objtyp", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, - "/api/statepreserv": { - "get": { - "summary": "statepreserv items", - "operationId": "api:statepreserv", - "responses": { - "200": { - "description": "statepreserv", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, - "/api/typeins": { - "get": { - "summary": "typeins items", - "operationId": "api:typeins", - "responses": { - "200": { - "description": "typeins", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, - "/api/writing": { - "get": { - "summary": "writing items", - "operationId": "api:writing", - "responses": { - "200": { - "description": "writing", - "content": { - "application/json": { - "schema": { - "type": "array" - } - } - } - } - } - } - }, "/api/places": { "post": { "summary": "update/add places", @@ -743,33 +635,6 @@ } } } - }, - "put": { - "summary": "update/add inscription", - "x-constraints": { - "group": "tei" - }, - "operationId": "api:upload", - "requestBody": { - "required": true, - "content": { - "application/xml": { - "schema": { - } - } - } - }, - "responses": { - "200": { - "description": "inscription", - "content": { - "application/xml": { - "schema": { - } - } - } - } - } } }, "/api/render": { @@ -807,49 +672,135 @@ } } }, - "/api/document/{id}/epidoc": { - "get": { - "summary": "Get the Epidoc source of a document", - "description": "Get the source of a document, either as XML, text or binary.", - "tags": ["documents"], - "operationId": "dapi:epidoc", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "Content of the document", - "content": { - "application/xml": { - "schema": { - "type": "string" - } - }, - "text/markdown": { - "schema": { - "type": "string" - } - }, - "text/text": { - "schema": { - "type": "string" - } - } - } - }, - "410": { - "description": "Document deleted" - } - } - } - } + "/api/document/{id}/epidoc": { + "get": { + "summary": "Get the Epidoc source of a document", + "description": "Get the source of a document, either as XML, text or binary.", + "tags": ["documents"], + "operationId": "dapi:epidoc", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Content of the document", + "content": { + "application/xml": { + "schema": { + "type": "string" + } + }, + "text/markdown": { + "schema": { + "type": "string" + } + }, + "text/text": { + "schema": { + "type": "string" + } + } + } + }, + "410": { + "description": "Document deleted" + } + } + } + }, + "/api/zotero/sync": { + "get": { + "summary": "Incrementally sync local cache.", + "tags": ["zotero"], + "operationId": "zotero:sync", + "responses": { + "200": { + "description": "Sync result.", + "content": { + "application/json": { "schema": { "type": "string" } } + } + }, + "304": { + "description": "No updates." + } + } + } + }, + "/api/zotero/items/suggest": { + "get": { + "security": [{ "basicAuth": [] }], + "summary": "Lightweight suggestions for autocomplete (key, tag, label HTML).", + "tags": ["zotero"], + "operationId": "zotero:items-suggest", + "parameters": [ + { "in": "query", "name": "q", "schema": { "type": "string" } }, + { "in": "query", "name": "tag", "schema": { "type": "string" } }, + { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 8 } }, + { "in": "query", "name": "top", "schema": { "type": "boolean", "default": true } } + ], + "responses": { + "200": { + "description": "Suggestion list", + "content": { "text/plain": { "schema": { "type": "object" } } } + } + } + } + }, + "/api/zotero/items/search": { + "get": { + "security": [{ "basicAuth": [] }], + "summary": "Search cached items. JSON only.", + "tags": ["zotero"], + "operationId": "zotero:items-search", + "parameters": [ + { + "in": "query", + "name": "q", + "schema": { + "type": "string", + "default": "Ama" + }, + "description": "Full-text over title/creators/DOI." + }, + { + "in": "query", + "name": "tag", + "schema": { + "type": "string" + }, + "description": "Restrict to items having this tag." + }, + { + "in": "query", + "name": "limit", + "schema": { + "type": "integer", + "default": 15 + } + } + ], + "responses": { + "200": { + "description": "Array of items (key + data).", + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + } + } + } + } + } + }, "security": [ { @@ -859,4 +810,4 @@ "basicAuth": [] } ] -} \ No newline at end of file +} diff --git a/src/modules/custom-api.xql b/src/modules/custom-api.xql index bdb01747..c82d9ff4 100644 --- a/src/modules/custom-api.xql +++ b/src/modules/custom-api.xql @@ -13,6 +13,7 @@ import module namespace config="http://www.tei-c.org/tei-simple/config" at "conf import module namespace pm-config="http://www.tei-c.org/tei-simple/pm-config" at "pm-config.xql"; import module namespace tpu="http://www.tei-c.org/tei-publisher/util" at "lib/util.xql"; import module namespace errors = "http://e-editiones.org/roaster/errors"; +import module namespace zotero = "http://e-editiones.org/edep/api/zotero" at "lib/api/zotero.xql"; declare namespace json="http://www.json.org"; declare namespace tei="http://www.tei-c.org/ns/1.0"; @@ -31,54 +32,6 @@ declare function api:lookup($name as xs:string, $arity as xs:integer) { } }; -declare function api:writing($request as map(*)) { - try { - {doc($config:data-root || "/writing.xml")/items/item} - } catch * { - () - } -}; - -declare function api:typeins($request as map(*)) { - try { - {doc($config:data-root || "/typeins.xml")} - } catch * { - () - } -}; - -declare function api:statepreserv($request as map(*)) { - try { - {doc($config:data-root || "/statepreserv.xml")/items/item} - } catch * { - () - } -}; - -declare function api:objtyp($request as map(*)) { - try { - {doc($config:data-root || "/objtyp.xml")/items/item} - } catch * { - () - } -}; - -declare function api:decor($request as map(*)) { - try { - {doc($config:data-root || "/decor.xml")/items/item} - } catch * { - () - } -}; - -declare function api:material($request as map(*)) { - try { - {doc($config:data-root || "/material.xml")//material} - } catch * { - () - } -}; - declare function api:places-browse($request as map(*)) { let $search := normalize-space($request?parameters?search) let $letterParam := $request?parameters?category @@ -89,13 +42,13 @@ declare function api:places-browse($request as map(*)) { collection($config:data-root || "/places")//tei:place[contains(@xml:id, $search)] else collection($config:data-root || "/places")//tei:place - let $sorted := + let $sorted := for $place in $places order by $place/tei:placeName[@type="modern"] return $place - let $letter := - if (count($places) < $limit) then + let $letter := + if (count($places) < $limit) then "Alle" else if ($letterParam = '') then substring($sorted[1], 1, 1) => upper-case() @@ -165,10 +118,10 @@ declare function api:find-spot($request as map(*)) { let $placeIds := $xml//tei:origPlace/@corresp let $places := for $placeId in $placeIds return collection($config:data-root || "/places")/id($placeId) return - array { - for $place in $places + array { + for $place in $places let $tokenized := tokenize($place/tei:location/tei:geo, ',\s*') - return + return map { "latitude":$tokenized[1], "longitude":$tokenized[2], @@ -177,13 +130,13 @@ declare function api:find-spot($request as map(*)) { } }; -declare function api:load-place($request as map(*)) { - let $return := doc(concat($config:places, $request?parameters?id, ".xml")) - return try { - $return - } catch * { - () - } +declare function api:load-place ($request as map(*)) { + let $loc := concat($config:places, $request?parameters?id, ".xml") + return if (not(doc-available($loc))) then + error($errors:NOT_FOUND) + else + let $return := doc($loc) + return try { $return } catch * { () } }; declare function api:geopicker-places($request as map(*)) { @@ -217,7 +170,7 @@ declare function api:places-add($request as map(*)) { let $store := xmldb:store($config:places, concat("G", $id-new, ".xml"), $request?body) let $update := update insert attribute xml:id {concat("G", $id-new)} into doc(concat($config:places, "G", $id-new, ".xml"))/tei:place return concat("G",$id-new) - + return try { doc(concat($config:places, $id, ".xml")) @@ -235,13 +188,13 @@ declare function api:people-browse($request as map(*)) { collection($config:data-root || "/people")//tei:person[ft:query(tei:persName, $search || '*')] else collection($config:data-root || "/people")//tei:person - let $sorted := + let $sorted := for $person in $people order by $person/tei:persName[@type='nomen'] return $person - let $letter := - if (count($people) < $limit) then + let $letter := + if (count($people) < $limit) then "Alle" else if ($letterParam = '') then substring($sorted[1], 1, 1) => upper-case() @@ -298,12 +251,12 @@ declare function api:output-person($list, $category as xs:string, $search as xs: }; declare function api:load-person($request as map(*)) { - let $return := doc(concat($config:people, $request?parameters?id, ".xml")) - return try { - $return - } catch * { - () - } + let $loc := concat($config:people, $request?parameters?id, ".xml") + return if (not(doc-available($loc))) then + error($errors:NOT_FOUND) + else + let $return := doc($loc) + return try { $return } catch * { () } }; declare function api:person-add($request as map(*)) { @@ -320,14 +273,14 @@ declare function api:person-add($request as map(*)) { let $id-new := if (empty($ids)) then "000000" else format-number(xs:integer(replace($ids[last()], "P", "")) + 1, "000000") let $withId := - { + { $request?body//tei:person/@sex, - $request?body/tei:person/* + $request?body/tei:person/* } let $store := xmldb:store($config:people, concat("P", $id-new, ".xml"), $withId) return concat("P",$id-new) - + return try { doc(concat($config:people, $id, ".xml")) @@ -337,19 +290,19 @@ declare function api:person-add($request as map(*)) { }; declare function api:inscription($request as map(*)) { - let $check-collection := - if(not(xmldb:collection-available($config:inscription))) then - xmldb:create-collection("/", $config:inscription) - else + let $check-collection := + if(not(xmldb:collection-available($config:inscription))) then + xmldb:create-collection("/", $config:inscription) + else () let $collection := $config:data-root || "/" || $request?parameters?collection - let $id := + let $id := if ($request?parameters?id and $request?parameters?id != '') then - let $store := xmldb:store($collection, concat($request?parameters?id, ".xml"), api:clean($request?body, (), true())) + let $store := xmldb:store($collection, concat($request?parameters?id, ".xml"), api:clean($request?body, $request?parameters?id, true())) return $request?body//tei:idno[@type="EDEp"]/text() else if ($request?body//tei:idno[@type="EDEp"]/node()) then - let $id := $request?body//tei:idno[@type="EDEp"]/text() - let $store := xmldb:store($collection, concat($id, ".xml"), api:clean($request?body, (), true())) + let $edepId := $request?body//tei:idno[@type="EDEp"]/text() + let $store := xmldb:store($collection, concat($edepId, ".xml"), api:clean($request?body, $edepId, true())) return $request?body//tei:idno[@type="EDEp"]/text() else let $ids := sort(collection($collection)//tei:idno[@type="EDEp"]/text()) @@ -369,37 +322,67 @@ declare function api:inscription($request as map(*)) { } }; +declare function api:add-fragments-attr( + $tei as element(tei:TEI), + $fragments as xs:string +) as element(tei:TEI) { + element { node-name($tei) } { + (: keep all existing attributes except any old @fragments :) + $tei/@* except $tei/@fragments, + attribute fragments { $fragments }, + $tei/node() + } +}; + declare function api:inscription-template($request as map(*)) { - let $id := $request?parameters?id + let $id := $request?parameters?id let $collection := $config:data-root || "/" || $request?parameters?collection + let $doc := if ($id and $id != '') then - let $input := ( - collection($collection)//tei:idno[@type="EDEp"][. = $id]/ancestor::tei:TEI, - collection($collection)//tei:idno[. = $id]/ancestor::tei:TEI, - doc($collection || "/" || $id || ".xml")/tei:TEI - )[1] - let $withParts := - if ($input//tei:msPart[@type="main"]) then - $input - else - document { api:to-ms-part($input) } - let $merged := api:file-upload(doc($config:inscription-templ), root($withParts)) + let $input := + ( + collection($collection)//tei:idno[@type = "EDEp"][. = $id]/ancestor::tei:TEI, + collection($collection)//tei:idno[. = $id]/ancestor::tei:TEI, + doc($collection || "/" || $id || ".xml")/tei:TEI + )[1] + + let $fragments := + string-join( + collection($config:data-root)//*[@corresp = $id]//tei:idno[@type='EDEp'], + ' ' + ) + return - $merged + if (string-length($fragments) != 0) then + (: build a new document whose root TEI has @fragments :) + document { + api:add-fragments-attr($input, $fragments) + } + else + (: just return the original document node :) + root($input) else doc($config:inscription-templ) - let $input := - if (util:document-name($doc) = "epidoc-template.xml") then - api:preprocessing-uuid($doc, "part" || util:uuid()) - else + + return + try { $doc - let $return := api:preprocessing-copy($input) - return try { - $return - } catch * { - () - } + } catch * { + () + } +}; + +declare function api:get-fragments($request as map(*)) { + let $id := $request?parameters?id + let $matches := collection($config:data-root)//*[@corresp = $id] + return + map { + "fragments": + for $frag in $matches/@xml:id ! string() + order by $frag + return $frag + } }; declare %private function api:clean($nodes as node()*, $edepId as xs:string?, $removeRedundant as xs:boolean?) { @@ -430,27 +413,26 @@ declare %private function api:postprocess($nodes as node()*, $edepId as xs:strin $node case element(tei:TEI) return element { node-name($node) } { - $node/@*, + $node/@* except $node/@xml:id, + attribute xml:id { $edepId }, api:postprocess($node/tei:teiHeader, $edepId), - root($node)//tei:msPart/tei:facsimile, + root($node)//tei:facsimile, api:postprocess($node/tei:text, $edepId) } case element(tei:body) return element { node-name($node) } { $node/@*, - root($node)//tei:msPart/tei:div[@type=('apparatus', 'translation')], -
- { root($node)//tei:msPart/tei:div[@type='textpart'] } -
, + root($node)//tei:div[@type=('apparatus', 'translation')], + $node/tei:div[@type='edition'] , $node/tei:div[@type = "commentary"] } case element(tei:revisionDesc) return element { node-name($node) } { $node/@*, $node/tei:change[@type='created'], - } case element() return @@ -477,371 +459,14 @@ declare function api:clean-namespace($nodes as node()*) { $node }; -declare %private function api:preprocessing-uuid($nodes as node()*, $uuid as xs:string){ - for $node in $nodes - return - typeswitch($node) - case document-node() return - document { api:preprocessing-uuid($node/node(), $uuid) } - case element (tei:msPart) return - element {node-name($node)} { - attribute xml:id {$uuid}, - $node/@* except $node/@xml:id, - $node/node() - } - case element (tei:facsimile) return - element { node-name($node) } { - attribute corresp {concat("#",$uuid)}, - $node/node() - } - case element (tei:div) return - if ($node/@type = "commentary") then - $node - else if ($node/@type = "edition") then - api:preprocessing-uuid($node/node(), $uuid) - else - element { node-name($node) } { - $node/@* except $node/@corresp, - attribute corresp {concat("#",$uuid)}, - $node/node() - } - case element () return - element { node-name($node) } { - $node/@*, - api:preprocessing-uuid($node/node(), $uuid) - } - default return - $node -}; - -declare %private function api:preprocessing-copy($nodes as node()*){ - for $node in $nodes - return - typeswitch($node) - case comment () return $node - case text() return $node - case element (tei:msPart) return - let $corresp := '#' || $node/@xml:id - return - element { node-name($node) } { - $node/@*, - api:preprocessing-copy($node/node()), - root($node)//tei:body//tei:div[@type="textpart"][@corresp=$corresp], - root($node)//tei:body//tei:div[@type="apparatus"][@corresp=$corresp], - root($node)//tei:body//tei:div[@type="translation"][@corresp=$corresp], - root($node)//tei:facsimile[@corresp=$corresp] - } - case element(tei:body) return - element { node-name($node) } { - $node/@*, - $node/tei:div[@type="commentary"] - } - case element(tei:facsimile) return - () - case element () return element {node-name($node)} { $node/@*, api:preprocessing-copy($node/node())} - default return api:preprocessing-copy($node/node()) -}; - declare function api:render($request as map(*)) { let $type := $request?parameters?type - let $xml := + let $xml := switch ($type) case "transcription" return - $request?body//tei:msPart/tei:div[@type="textpart"] + $request?body//tei:div[@type="edition"] default return $request?body return $pm-config:web-transform(api:clean-namespace($xml), map { "root": $xml, "webcomponents": 7 }, $config:default-odd) }; - -declare function api:upload($request as map(*)) { - api:file-upload(doc($config:inscription-templ), root($request?body)) -}; - -(: Main function to handle the upload of an epidoc file to the app: the first argument is the -template “epidoc-template.xml” and the second argument is the epidoc file to upload :) -declare function api:file-upload($mainTmpl as document-node(), $input as node()) as node() { - for $node in $mainTmpl/* - return - api:reconstruct-tree($node, $input) -}; - -declare function api:to-ms-part($nodes as node()*) { - for $node in $nodes - return - typeswitch ($node) - case element(tei:msDesc) return - element { node-name($node) } { - $node/tei:msIdentifier, - if ($node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support) then - - - - - { - let $supp := $node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support - return ( - $supp/tei:objectType, - $supp/tei:material, - $supp/tei:note - ) - } - - - - - else - (), - if ($node/tei:history/tei:origin/tei:origDate) then - - - { $node/tei:history/tei:origin/tei:origDate } - - - else - (), - - - - - { $node/tei:msContents } - { - if ($node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support) then - - - - - { - $node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support/tei:dimensions, - $node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support/tei:rs - } - - { $node/tei:physDesc/tei:objectDesc/tei:supportDesc/tei:support/tei:condition } - - { - $node/tei:physDesc/tei:objectDesc/tei:layoutDesc - } - - - else - () - } - { - if ($node/tei:history/tei:provenance) then - - { $node/tei:history/tei:provenance } - - else - () - } - - } - case element(tei:div) return - if ($node/@type = "edition" and not($node/tei:div[@type='textpart'])) then -
-
{ $node/node() }
-
- else - element { node-name($node) } { - $node/@* except $node/@corresp, - attribute corresp { "#part-main" }, - $node/node() - } - case element() return - element { node-name($node) } { - $node/@*, - api:to-ms-part($node/node()) - } - default return - $node -}; - -(: Function to look in the input file for the equivalent element to the element being processed -in the template :) -declare %private function api:find-counterpart($nodeTemplate as element(), $input as node()) as item()* { - (: List of candidates is created based on the name of the element and its ancestors. In addition - we look for the values of the attribute @type to disambiguate from - and for the values of @scheme to disambiguate the elements - When working on the main template, we look at all the ancestors, if we are - in a secondary template (see condition) we only check the parent :) - let $candidates := if ($nodeTemplate/ancestor-or-self::tei:TEI) then $input/descendant::*[local-name() eq $nodeTemplate/local-name()] - [every $elName in ancestor::*/local-name() - satisfies $elName = ($nodeTemplate/ancestor::*/local-name())][count(ancestor::*) eq count($nodeTemplate/ancestor::*)] - [every $typeValue in $nodeTemplate/ancestor-or-self::*[@type ne '']/@type - satisfies $typeValue = ./ancestor-or-self::*/@type] - [every $scheme in $nodeTemplate/ancestor-or-self::*[@scheme ne '']/@scheme - satisfies $scheme = ./ancestor-or-self::*/@scheme] - [if (@corresp = ./root()/descendant::tei:msPart[@type eq 'fragment']) then false() else true()] - else - $input/descendant::*[local-name() eq $nodeTemplate/local-name()] - [parent::*/local-name() eq $nodeTemplate/parent::*/local-name()] - [if ($nodeTemplate[@type and (@type ne '')]) then self::*[@type eq $nodeTemplate/@type] else true()] - (: If the candidates are siblings, we also selected the first one. - If at this point we have more than one candidate, throw an error with the element name :) - let $counterpart := - if (count($candidates/parent::*) eq 1) then $candidates[1] - else - if (count($candidates) <= 1) then - $candidates - else - error(xs:QName("ERROR"), "ambiguous elements with element name " || $candidates[1]/name()) - return - $counterpart -}; -(: Function to merge the contents of each element after the comparison :) -declare %private function api:process-children($nodeTemplate as element(), $nodeInput as element()) as item()* { - (: if the node from the input file only contais a text node, or mixed content, then get its children :) - if ($nodeInput[((count(child::node()) eq 1) and (text()[string-length(replace(., '\s+', '')) ne 0])) or - ((text()[string-length(replace(., '\s+', '')) ne 0]) and child::element())]) - then - api:complete-input($nodeInput/node()) - else - (:if the node from the template is empty, get whatever its counterpart has :) - if ($nodeTemplate/not(child::*)) then - api:complete-input($nodeInput/node()) - else - (: else process each child from the template :) - for $node in $nodeTemplate/* - return - api:reconstruct-tree($node, $nodeInput) -}; - -(:function to complete the input with elements that are in an secondary template :) -declare %private function api:complete-input($nodes as node()*) as node()* { - for $node in $nodes - return - typeswitch($node) - case element(tei:bibl) return - let $templateBibl := (doc('/db/apps/edep/templates/fore/templates.xml')//tei:bibl)[1] - return - - { ($node/@type, $templateBibl/@type)[1] } - {($node/node(), $templateBibl/*[not(local-name() = $node/node()/local-name())])} - - case element(tei:msPart) return - let $templateMsPart := doc('/db/apps/edep/templates/fore/mspart-tmpl.xml')/tei:msPart - return api:process-additional-template($templateMsPart, $node) - default - return $node - }; - - -(: function to process msPart[@type eq 'fragment'] :) -declare %private function api:process-additional-template($template as element(), $input as node()) as node() { - let $id := $input/@xml:id - let $inputDivs := $input/root()/descendant::tei:div[substring(@corresp, 2) = $id] - let $templateDivs := $template/tei:div[not(@type = $inputDivs/@type)] - let $correspAtt := attribute {'corresp'} {'#' || $id} - let $reconstructedDivs := for $div in $templateDivs return - element {QName("http://www.tei-c.org/ns/1.0", 'div')} { - $template/@*[not(name() eq 'corresp')] | $correspAtt, - $template/node() - } - return - - { ($inputDivs, $reconstructedDivs, -(: for $node in $template/*[not(local-name() = ('div', 'facsimile'))] :) -(: return :) -(: api:reconstruct-tree($node, $input):) - api:reconstruct-tree($template/*[not(local-name() = ('div', 'facsimile'))], $input) - ) - } - - }; - -(:function to add @corresp attribute values when elements are copied from the template :) -declare %private function api:add-corresp($nodeTemplate as element(), $input as node()) as element()* { - if ($nodeTemplate[@corresp]) - then - for $id in $input/root()/descendant::tei:msPart/@xml:id - let $correspVal:= '#' || $id - let $att := attribute {'corresp'} {$correspVal} - return - element {QName("http://www.tei-c.org/ns/1.0", $nodeTemplate/local-name())} { - $nodeTemplate/@*[not(name() eq 'corresp')] | $att, - $nodeTemplate/node() - } -else - $nodeTemplate - }; - -declare %private function api:compare-elements($nodeTemplate as element(), $nodeInput as element()) as element(){ - if (deep-equal($nodeTemplate, $nodeInput)) then - $nodeTemplate - else - (: if the number of attributes is not the same, get the missing attributes from the template:) - if (count($nodeInput/@*) ne count($nodeTemplate/@*)) - then - let $emptyAttsNames := for $att in $nodeTemplate/@* - return - $att[not(name() = $nodeInput/@*/name())]/name() - let $emptyAtts := for $attName in $emptyAttsNames - return - attribute {$attName} {""} - return - (: we return an element with all the attributes and then we process its contents :) - element {QName("http://www.tei-c.org/ns/1.0", $nodeTemplate/local-name())} - { - $nodeInput/@* | $emptyAtts, - api:process-children($nodeTemplate, $nodeInput) - } - else - (: if the number of attributes is the same, copy the attributes from the input element - and then process its children :) - element {QName("http://www.tei-c.org/ns/1.0", $nodeTemplate/local-name())} { - $nodeInput/@*, - api:process-children($nodeTemplate, $nodeInput) - } -}; - -(: Function that compares element nodes from the template with the input file :) -declare %private function api:reconstruct-tree($tmplNodes as element()*, $input as node()*) as node()* { - for $tmpl in $tmplNodes - let $name := $tmpl/local-name() - let $counterpart := api:find-counterpart($tmpl, $input) - return - (: if we find an equivalent element, we return more than one item: on one hand, - the result of processing the “counterpart” element, on the other, additional - operations are done to handle repeateable elements :) - if ($counterpart) then - (api:compare-elements($tmpl, $counterpart), - (: create as many div elements as necessary attending to the @corresp attributes :) -(: if ($counterpart[@corresp][local-name() = ('div')]) :) -(: then :) -(: let $ids := $counterpart/root()/descendant::tei:msPart/@xml:id:) -(: return :) -(: if (count($ids) gt count($counterpart/root()//tei:body//tei:div[@type eq $counterpart/@type])):) -(: then :) -(: let $corresps := for $id in $ids return '#' || $id:) -(: for $corresp in $corresps[not(. = $counterpart/@corresp)]:) -(: let $correspAtt := attribute {'corresp'} {$corresp}:) -(: return:) -(: element {QName("http://www.tei-c.org/ns/1.0", 'div')} {:) -(: $tmpl/@*[not(name() eq 'corresp')] | $correspAtt,:) -(: $tmpl/node():) -(: }:) -(: :) -(: else () :) -(: else(), :) - (: Processing of other repeteable elements. There are two possible scenarios - Scenario 1: we need to call a particular element an use the function that handles secondary - templates, like for the element msPart[@type eq 'fragment'] :) - if ($counterpart[@type eq 'main']/following-sibling::*[1][self::tei:msPart[@type eq 'fragment']]) - then api:complete-input($counterpart/following-sibling::tei:msPart[@type eq 'fragment']) - else - - (: Second scenario: there are elements in the input file, not present in the template. For those cases - we look in the element in the input file being processed has a following-sibling - that it’s not present in the template.
elements are excluded to avoid the duplication of div[@type eq 'textpart'] of fragments:) - if ($counterpart[not(local-name() eq 'div')] and not($counterpart/following-sibling::*[local-name() = $tmpl/following-sibling::*/local-name()])) then - $counterpart/following-sibling::*[not(local-name() = $tmpl/following-sibling::*/local-name())] - else () - - - ) - else - typeswitch($tmpl) - case element(tei:div) return api:add-corresp($tmpl, $input) - case element(tei:facsimile) return api:add-corresp($tmpl, $input) - default return $tmpl -}; \ No newline at end of file diff --git a/src/modules/generate-pm-config.xql b/src/modules/generate-pm-config.xql index 1d5b8754..6f0e9b10 100644 --- a/src/modules/generate-pm-config.xql +++ b/src/modules/generate-pm-config.xql @@ -3,6 +3,6 @@ xquery version "3.1"; import module namespace pmc="http://www.tei-c.org/tei-simple/xquery/config"; import module namespace config="http://www.tei-c.org/tei-simple/config" at "config.xqm"; -let $pmuConfig := pmc:generate-pm-config(($config:odd-available, $config:odd-internal), $config:default-odd, $config:odd-root) +let $pmuConfig := pmc:generate-pm-config(($config:odd-available, $config:odd-internal), $config:default-odd, $config:odd-root, $config:odd-media) return xmldb:store($config:app-root || "/modules", "pm-config.xql", $pmuConfig, "application/xquery") \ No newline at end of file diff --git a/src/modules/lib/api.json b/src/modules/lib/api.json index db5baf2b..1ded04c9 100644 --- a/src/modules/lib/api.json +++ b/src/modules/lib/api.json @@ -8,7 +8,7 @@ "servers": [ { "description": "Endpoint for testing on localhost", - "url": "/exist/apps/tei-publisher" + "url": "/exist/apps/edep" } ], "tags": [ @@ -2845,7 +2845,7 @@ } } }, - "/api/register/{type}/{id}" : { + "/api/register/{type}/{id}" : { "post": { "summary": "Create a local entry", "description": "Create a local register entry based on the provided data", diff --git a/src/modules/lib/api.xql b/src/modules/lib/api.xql index ce2eb3f9..ae427def 100644 --- a/src/modules/lib/api.xql +++ b/src/modules/lib/api.xql @@ -17,6 +17,7 @@ import module namespace vapi="http://teipublisher.com/api/view" at "api/view.xql import module namespace anno="http://teipublisher.com/api/annotations" at "api/annotations.xql"; import module namespace custom="http://teipublisher.com/api/custom" at "../custom-api.xql"; import module namespace nlp="http://teipublisher.com/api/nlp" at "api/nlp.xql"; +import module namespace zotero="http://e-editiones.org/edep/api/zotero" at "api/zotero.xql"; declare option output:indent "no"; diff --git a/src/modules/lib/api/zotero.xql b/src/modules/lib/api/zotero.xql new file mode 100644 index 00000000..280ce984 --- /dev/null +++ b/src/modules/lib/api/zotero.xql @@ -0,0 +1,566 @@ +xquery version "3.1"; + +module namespace zotero = "http://e-editiones.org/edep/api/zotero"; + +declare namespace http = "http://expath.org/ns/http-client"; +declare namespace request = "http://exist-db.org/xquery/request"; +declare namespace response = "http://exist-db.org/xquery/response"; +declare namespace xmldb = "http://exist-db.org/xquery/xmldb"; +declare namespace util = "http://exist-db.org/xquery/util"; +declare namespace tei = "http://www.tei-c.org/ns/1.0"; + +import module namespace config = "http://www.tei-c.org/tei-simple/config" at "../../config.xqm"; + +(: --------------------------------------------------------------------------- + CONFIG (provided by your app's modules/config.xqm) + We assume these exist: + $config:zotero-api-base (e.g. "https://api.zotero.org") + $config:zotero-group-id (e.g. "2519759") + $config:zotero-style (e.g. "digital-humanities-im-deutschsprachigen-raum") + $config:zotero-meta-path (abs resource path to meta.json) + $config:zotero-items-dir (collection for JSON items) + $config:zotero-items-xml-dir (collection for XML mirror; you set '/items-xml') + $config:zotero-api-key (optional) +--------------------------------------------------------------------------- :) +(: ---- RESOLVED CONFIG (computed once) -------------------------------- :) + +(: base collection holding JSON items, as configured :) +declare variable $zotero:ITEMS_DIR as xs:string := $config:zotero-items-dir; + +(: derive the Zotero group base “…/zotero/groups/{id}” from ITEMS_DIR :) +declare variable $zotero:GROUP_BASE as xs:string := + substring-before($zotero:ITEMS_DIR, "/items"); + +(: canonical XML mirror collection: + - if $config:zotero-items-xml-dir starts with /db/ use as-is + - else treat it as relative to GROUP_BASE (strip leading / if present) :) +declare variable $zotero:XML_DIR as xs:string := + let $cfg := normalize-space($config:zotero-items-xml-dir) + return + if (starts-with($cfg, "/db/")) then $cfg + else concat($zotero:GROUP_BASE, "/", replace($cfg, "^/", "")); + +(: meta.json absolute resource path as configured :) +declare variable $zotero:META_PATH as xs:string := $config:zotero-meta-path; + +(: API constants :) +declare variable $zotero:API_BASE as xs:string := $config:zotero-api-base; +declare variable $zotero:GROUP_ID as xs:string := $config:zotero-group-id; +declare variable $zotero:STYLE as xs:string := $config:zotero-style; +declare variable $zotero:API_KEY as xs:string := $config:zotero-api-key; + +(: ====== HEADERS for Zotero HTTP requests ====== :) +declare %private function zotero:headers($extra as element(http:header)?) as element(http:header)* { + let $base := + (, + , + , + (: IMPORTANT :) + ) + let $auth := + if (normalize-space($zotero:API_KEY) ne "") + then + else () + return ($base, $auth, $extra) +}; + +declare function zotero:read-meta() as map(*) { + + let $log := util:log('info','read-meta file;' || $zotero:META_PATH) + return + let $bin := util:binary-doc($zotero:META_PATH) + let $txt := util:binary-to-string($bin) + + return + if ($txt ne "") then + try { + parse-json($txt) + } catch * { map{ "libraryVersion": 0 } } + else map{ "libraryVersion": 0 } +}; + +declare %private function zotero:write-meta($lv as xs:integer) as xs:boolean { + let $coll := substring-before($zotero:META_PATH, concat("/", tokenize($zotero:META_PATH, "/")[last()])) + let $name := tokenize($zotero:META_PATH, "/")[last()] + return + try { + let $_ := xmldb:store( + $coll, + $name, + serialize( + map{ "libraryVersion": $lv, "syncedAt": current-dateTime() }, + map{ "method":"json", "indent": true() } + ), + "application/json" + ) + return true() + } catch * { + false() + } +}; + +declare %private function zotero:xml-from-json($data as map(*), $bib as xs:string?) as element(item) { + let $type := $data?data?itemType + let $key := string(($data?key, $data?data?key)[1]) + let $title := string(($data?title, $data?data?title)[1]) + let $shortTitle := string(($data?shortTitle, $data?data?shortTitle)[1]) + let $dt := string(($data?dateModified, $data?data?dateModified)[1]) + let $creators := if ($data?data?creators instance of array(*)) then $data?data?creators else array { $data?data?creators } + let $tagsArr := $data?data?tags + return + + { $title } + { $shortTitle } + { + switch ($type) + case 'bookSection' return { $data?data?bookTitle } + case 'journalArticle' case 'newspaperArticle' return ( + { $data?data?publicationTitle }, + { $data?data?journalAbbreviation } + ) + case 'bookChapter' return { $data?data?title } + case 'encyclopediaArticle' return { $data?data?encyclopediaTitle } + case 'webpage' return { $data?data?websiteTitle } + default return () + } + { + if ($data?data?series) then { $data?data?series } else () + } + { + for $c in $creators?* + return + element { if ($c?creatorType = 'author') then 'author' else 'editor' } { + string-join(($c?firstName, $c?lastName, $c?name), ' ') + } + } + { $data?data?place } + { $data?data?publisher } + { $data?data?date } + + { + for $tag in if ($tagsArr instance of array(*)) then $tagsArr?* else $tagsArr + return { $tag?tag } + } + { + if ($data?data?note) then { $data?data?note } else () + } + { $bib } + +}; + +declare %private function zotero:xml-upsert( + $data as map(*), + $bib as xs:string? +) as empty-sequence() { + let $key := string(($data?key, $data?data?key)[1]) + let $xml := zotero:xml-from-json($data, $bib) + let $name := concat($key, ".xml") + let $_ := xmldb:store($zotero:XML_DIR, $name, $xml, "application/xml") + return () +}; + +(: ====== Ingest one page of items from Zotero (array) ====== :) +declare %private function zotero:ingest-page($arr as array(*)) as xs:integer { + let $n := + sum( + for $i in 1 to array:size($arr) + let $entry := array:get($arr, $i) + let $key := string(($entry?key, $entry?data?key)[1]) + let $data := if ($entry?data instance of map(*)) then $entry?data else map{} + let $bib := string(($entry?bib)[1]) + let $json := serialize(map{ "data": $data, "bib": $bib }, map{"method":"json"}) + let $_js := xmldb:store($config:zotero-items-dir, concat($key, ".json"), $json, "application/json") + let $_xml := zotero:xml-upsert(map{ "key": $key, "data": $data }, $bib) + return 1 + ) + return $n +}; +(: build a page href with fixed since + required params + start :) +(: build a page href with fixed since + required params + start :) +(: build a page href with fixed since + required params + start :) +declare %private function zotero:_page-href( + $since as xs:integer, + $start as xs:integer +) as xs:string { + let $AMP := codepoints-to-string(38) + let $qs := string-join(( + concat("since=", encode-for-uri(string($since))), + "limit=100", + concat("start=", string($start)), + "include=data,bib", + "format=json", + "sort=dateModified", (: <-- valid :) + "direction=asc", (: <-- valid :) + if (normalize-space($zotero:STYLE) ne "") + then concat("style=", encode-for-uri($zotero:STYLE)) + else () + ), $AMP) + return concat($zotero:API_BASE, "/groups/", $zotero:GROUP_ID, "/items?", $qs) +}; + +(: -- robustly turn the 2nd item of http:send-request into a string -- :) +declare %private function zotero:_body-as-string($respSeq as item()*) as xs:string { + if (empty($respSeq) or count($respSeq) lt 2) then "" + else + let $b := $respSeq[2] + return + if ($b instance of xs:base64Binary) then util:binary-to-string($b) + else if ($b instance of document-node()) then string($b) + else if ($b instance of node()) then string($b) + else if ($b instance of xs:string) then $b + else "" +}; + +(: -- build the first-page href from your existing pieces -- :) +declare %private function zotero:_first-href($since as xs:integer) as xs:string { + let $AMP := codepoints-to-string(38) + let $qs := string-join(( + concat("since=", encode-for-uri(string($since))), + "limit=100", + "include=data,bib", + "format=json", + "sort=dateModified", + "direction=asc", + if (normalize-space($zotero:STYLE) ne "") + then concat("style=", encode-for-uri($zotero:STYLE)) + else () + ), $AMP) + return concat($zotero:API_BASE, "/groups/", $zotero:GROUP_ID, "/items?", $qs) +}; + +(: -- fetch first page with retries; return the FULL sequence (resp element + body) -- :) +declare %private function zotero:_fetch-first-page($since as xs:integer, $tries as xs:integer) as item()* { + let $log0 := util:log('info','_fetch-first-page since:' || $since || ' tries:' || $tries ) + + let $href := zotero:_first-href($since) + let $req := + + { attribute href { $href } } + { + zotero:headers( + if ($since gt 0) + then + else () + ) + } + + let $seq := try { http:send-request($req) } catch * { () } + return + if (empty($seq)) then () + else + let $r := $seq[1] + let $code := xs:integer($r/@status) + return + if (($code = 429 or $code = 500 or $code = 502 or $code = 503 or $code = 504) and $tries gt 0) then + ( util:wait(max((zotero:_backoff-ms($r), 1500))), + zotero:_fetch-first-page($since, $tries - 1) ) + else $seq +}; + +(: fetch one page at 'start' with retries; exponential backoff + jitter :) +declare %private function zotero:_fetch-page-start( + $since as xs:integer, + $start as xs:integer +) as xs:integer { + zotero:_fetch-page-start-retry($since, $start, 3, 0) +}; + +(: tail-recursive retry helper :) +declare %private function zotero:_fetch-page-start-retry( + $since as xs:integer, + $start as xs:integer, + $tries as xs:integer, (: remaining tries :) + $attempt as xs:integer (: 0,1,2… for backoff growth :) +) as xs:integer { + let $href := zotero:_page-href($since, $start) + let $req := + + { attribute href { $href } } + { zotero:headers(()) } + + let $res := try { http:send-request($req) } catch * { () } + return + if (empty($res)) then 0 + else + let $r1 := $res[1] + let $code := xs:integer($r1/@status) + return + (: throttle/transient -> exponential backoff :) + if ($code = 429 or $code = 500 or $code = 502 or $code = 503 or $code = 504) then + let $base := max( (zotero:_backoff-ms($r1), 1500) ) + let $jitter := 400 * (($attempt mod 3) + 1) (: small deterministic jitter :) + let $delay := ($base * (1 + $attempt)) + $jitter + let $log := util:log('info', '[zotero] start=' || $start || ' status ' || $code || ' http=' || $code || ' backoff=' || $delay) + let $_wait := util:wait($delay) + return + if ($tries gt 0) + then zotero:_fetch-page-start-retry($since, $start, $tries - 1, $attempt + 1) + else ( util:log('warn', '[zotero] start=' || $start || ' status ' || $code || ' http=' || $code || ' giving up'), 0 ) + else if ($code != 200) then ( + util:log('warn', '[zotero] start=' || $start || ' http=' || $code), + 0 + ) + else + let $raw := zotero:_body-as-string($res) (: your robust body reader :) + let $head := normalize-space(substring($raw, 1, 200)) + let $isHtml := starts-with($head, "<") + return + if ($isHtml) then + if ($tries gt 0) + then ( util:log('warn', '[zotero] start=' || $start || ' got HTML, retrying'), + util:wait(1000), + zotero:_fetch-page-start-retry($since, $start, $tries - 1, $attempt + 1) ) + else ( util:log('warn', '[zotero] start=' || $start || ' got HTML, giving up'), 0 ) + else + let $arr := if ($raw = "") then array{} else try { parse-json($raw) } catch * { array{} } + return + if ($arr instance of array(*)) then zotero:ingest-page($arr) + else if ($tries gt 0) + then ( util:log('warn', '[zotero] start=' || $start || ' parse-json failed; head=' || $head), + util:wait(1000), + zotero:_fetch-page-start-retry($since, $start, $tries - 1, $attempt + 1) ) + else ( util:log('warn', '[zotero] start=' || $start || ' parse-json failed, giving up; head=' || $head), 0 ) +}; + +(: walk pages by explicit start; if a page stalls (cnt=0), retry the SAME start + up to $maxStalls before skipping it, so we don’t miss chunks on transient 500s :) +declare %private function zotero:_walk-by-start( + $since as xs:integer, + $total as xs:integer, + $start0 as xs:integer +) as xs:integer { + zotero:_walk-by-start-int($since, $total, $start0, 0, 0) +}; + +declare %private function zotero:_walk-by-start-int( + $since as xs:integer, + $total as xs:integer, + $start as xs:integer, + $acc as xs:integer, + $stallRuns as xs:integer (: consecutive zero-counts for THIS start :) +) as xs:integer { + let $chunk := 100 + let $maxStalls := 5 + return + if ($start ge $total) then $acc + else + let $cnt := zotero:_fetch-page-start($since, $start) + return + if ($cnt gt 0) then + ( util:wait(250), + zotero:_walk-by-start-int($since, $total, $start + $chunk, $acc + $cnt, 0) ) + else if ($stallRuns lt $maxStalls) then + ( util:log('warn', '[zotero] start=' || $start || ' stalled (' || ($stallRuns + 1) || '/' || $maxStalls || '), retrying same start'), + util:wait(1200 + (200 * $stallRuns)), + zotero:_walk-by-start-int($since, $total, $start, $acc, $stallRuns + 1) ) + else + ( util:log('warn', '[zotero] start=' || $start || ' stalled too often; skipping to next chunk'), + zotero:_walk-by-start-int($since, $total, $start + $chunk, $acc, 0) ) +}; + +(: ====== SYNC endpoint ====== :) +(: politely sleep if Zotero asks us to :) +declare %private function zotero:_backoff-ms($r as element(http:response)) as xs:integer { +(: let $log := util:log('INFO','waiting for zotero'):) + let $val1 := normalize-space(($r/http:header[lower-case(@name)='backoff']/@value)[1]) + let $val2 := normalize-space(($r/http:header[lower-case(@name)='retry-after']/@value)[1]) + let $sec1 := if ($val1 castable as xs:integer) then xs:integer($val1) else 0 + let $sec2 := if ($val2 castable as xs:integer) then xs:integer($val2) else 0 + return xs:integer(max(($sec1, $sec2, 0))) * 1000 +}; + +declare function zotero:sync($request as map(*)) { + response:set-header("Content-Type","application/json"), + let $log0 := util:log('info','zotero sync started') + + (: load meta.json and take last known libraryVersion :) + let $meta := zotero:read-meta() + let $since := xs:integer( ($meta?libraryVersion, 0)[1] ) + let $log1 := util:log('info','libraryVersion ' || $since) + let $user := $request?user + + (: build href for first page (includes since=…, v=3, style, include=bib) :) + let $href := zotero:_first-href($since) + let $logH := util:log('info','HREF ' || $href) + + (: send first page with small retry/backoff budget :) + let $respSeq := zotero:_fetch-first-page($since, 3) + + return + if (empty($respSeq)) then + serialize(map{ + "status":"error", + "reason":"http:send-request failed", + "requestHref": $href + }, map{"method":"json","indent":true()}) + else + let $resp := $respSeq[1] + let $status := xs:integer($resp/@status) + let $logS := util:log('info','zotero response status ' || $status) + return + + (: nothing changed since our libraryVersion :) + if ($status = 304) then ( + let $meta := zotero:write-meta($since) + return + map{ + "status":"ok", + "updated": 0, + "libraryVersion": $since, + "totalResults": 0 + } + ) + + (: any non-200 is an error we surface (after retries already attempted) :) + else if ($status != 200) then + let $err := try { util:binary-to-string($respSeq[2]) } catch * { "" } + return serialize(map{ + "status":"error", + "httpStatus": $status, + "errorBody": $err, + "requestHref": $href + }, map{"method":"json","indent":true()}) + + (: happy path: parse + ingest first page, then walk remaining by start=… :) + else + let $raw := try { util:binary-to-string($respSeq[2]) } catch * { "" } + let $clean := if (starts-with($raw, codepoints-to-string(65279))) then substring($raw, 2) else $raw + let $arr := if (normalize-space($clean) = "") then array{} else try { parse-json($clean) } catch * { array{} } + + (: Total-Results header—fallback to 0 if absent :) + let $totalStr := ($resp/http:header[lower-case(@name)='total-results']/@value)[1] + let $total := if ($totalStr and normalize-space($totalStr) ne "") then xs:integer($totalStr) else 0 + + (: ingest first page :) + let $c1 := + if ($arr instance of array(*)) then + sum( + for $i in 1 to array:size($arr) + let $entry := array:get($arr, $i) + let $key := string(($entry?key, $entry?data?key)[1]) + let $data := if ($entry?data instance of map(*)) then $entry?data else map{} + let $bib := string(($entry?bib)[1]) + let $json := serialize(map{ "data": $data, "bib": $bib }, map{"method":"json"}) + let $_j := xmldb:store($zotero:ITEMS_DIR, concat($key, ".json"), $json, "application/json") + let $_x := zotero:xml-upsert(map{ "key": $key, "data": $data }, $bib) + return 1 + ) + else 0 + + (: if there are more than the first page, walk by start offsets :) + let $cN := + if ($total gt $c1) + then zotero:_walk-by-start($since, $total, $c1) (: next page starts at offset = size of first page :) + else 0 + + (: update meta with Last-Modified-Version so next sync can short-circuit :) + let $lmvStr := ($resp/http:header[lower-case(@name)='last-modified-version']/@value)[1] + let $lmv := if ($lmvStr and normalize-space($lmvStr) ne "") then xs:integer($lmvStr) else $since + let $_m := zotero:write-meta($lmv) + +(: + return serialize(map{ + "status":"ok", + "updated": $c1 + $cN, + "libraryVersion": $lmv, + "totalResults": $total + }, map{"method":"json","indent":true()}) +:) + return map{ + "status":"ok", + "updated": $c1 + $cN, + "libraryVersion": $lmv, + "totalResults": $total + } +}; + + +(: ====== Helper: strip diacritics ====== :) +declare %private function zotero:strip-diacritics($str as xs:string) as xs:string { + (: Decompose characters (NFD) to separate base characters from combining marks :) + let $decomposed := normalize-unicode($str, "NFD") + (: Remove combining diacritical marks (U+0300 to U+036F) by filtering codepoints :) + let $stripped := string-join( + for $cp in string-to-codepoints($decomposed) + where $cp lt 768 or $cp gt 879 + return codepoints-to-string($cp) + ) + (: Re-compose to NFC for cleaner output :) + return normalize-unicode($stripped, "NFC") +}; + +(: ====== SUGGEST (lightweight for autocomplete) ====== :) +declare function zotero:items-suggest($request as map(*)) { + response:set-header("Content-Type", "application/json"), + let $q := zotero:strip-diacritics(normalize-space(request:get-parameter("q", ""))) + let $tag := normalize-space(request:get-parameter("tag", "")) + let $limit := let $l := number(request:get-parameter("limit", "8")) return if ($l ge 1) then xs:integer($l) else 8 + + let $pool := + if ($tag and $tag != "") then + collection($zotero:XML_DIR)/tei:bibl[tei:title[@type='short'] = $tag] + else + collection($zotero:XML_DIR)/tei:bibl[ft:query(., 'bibl-content:*' || $q || '*', map { + "leading-wildcard": "yes", + "filter-rewrite": "yes", + "query-analyzer-id": "nodiacritics" + })] + let $sorted := for $i in $pool order by xs:dateTime($i/tei:date[@type='modified']/@when) descending return $i + let $picked := subsequence($sorted, 1, $limit) + + let $arr := array { + for $i in $picked + return map{ + "key": string($i/@xml:id), + "title": string($i/tei:title[not(@type|@level)]), + "bib": if ($i/tei:note[@type='display']) then string($i/tei:note[@type='display']) else "", + "tag": string($i/tei:title[@type='short'][1]) + } + } + return serialize($arr, map{ "method":"json", "indent": true() }) +}; + + +declare function zotero:items-search($request as map(*)) { + response:set-header("Content-Type", "application/json"), + let $q := lower-case(normalize-space(request:get-parameter("q", ""))) + let $tag := lower-case(normalize-space(request:get-parameter("tag", ""))) + let $limit := let $l := number(request:get-parameter("limit", "15")) return if ($l ge 1) then xs:integer($l) else 15 + + let $pool := + collection($zotero:XML_DIR)/item[ + ( $q = "" or ft:query(., $q) ) + and ( $tag = "" or tags/tag = $tag ) + ] + + let $sorted := for $i in $pool order by xs:dateTime($i/@dateModified) descending return $i + let $total := count($sorted) + let $picked := subsequence($sorted, 1, $limit) + + let $items := array { + for $i in $picked + let $key := string($i/@key) + let $bin := util:binary-doc(concat($zotero:ITEMS_DIR, "/", $key, ".json")) + let $txt := if ($bin) then util:binary-to-string($bin) else "" + let $obj := if ($txt ne "") then try { parse-json($txt) } catch * { () } else () + return + if ($obj instance of map(*)) then map{ "key": $key, "data": ($obj?data, $obj)[1] } + else map{ "key": $key, "data": map{} } + } + + let $resp := map{ + "query": map{ "q": $q, "tag": $tag, "limit": $limit }, + "total": $total, + "returned": array:size($items), + "items": $items + } + return serialize($resp, map{ "method":"json", "indent": true() }) +}; + +(: ====== BIB HTML SNIPPET (streams raw HTML) ====== :) + +declare %private function zotero:_fallback-html($title as xs:string) as xs:string { + serialize({ $title }, map{"method":"html","omit-xml-declaration":true(),"indent":false()}) +}; + + diff --git a/src/modules/lib/zotero-api.json b/src/modules/lib/zotero-api.json new file mode 100644 index 00000000..c570370c --- /dev/null +++ b/src/modules/lib/zotero-api.json @@ -0,0 +1,148 @@ +{ + "openapi": "3.0.3", + "info": { + "title": "Zotero Cache API (Group 2519759)", + "version": "0.3.0", + "description": "Local cache API for Zotero group 2519759. JSON-only: search, read, create, and tags." + }, + "servers": [{ "url": "/api" }], + "paths": { + "/z/sync": { + "post": { + "summary": "Incrementally sync local cache.", + "responses": { + "200": { + "description": "Sync result.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { "type": "string", "example": "ok" }, + "updated": { "type": "integer" }, + "libraryVersion": { "type": "integer" } + } + } + } + } + }, + "304": { "description": "No updates." } + } + } + }, + + "/z/items/search": { + "get": { + "summary": "Search cached items. JSON only.", + "parameters": [ + { "in": "query", "name": "q", "schema": { "type": "string" }, "description": "Full-text over title/creators/DOI." }, + { "in": "query", "name": "tag", "schema": { "type": "string" }, "description": "Restrict to items having this tag." }, + { "in": "query", "name": "limit", "schema": { "type": "integer", "default": 15 } } + ], + "responses": { + "200": { + "description": "Array of items (key + data).", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "object", + "required": ["key", "data"], + "properties": { + "key": { "type": "string" }, + "data": { "type": "object", "description": "Zotero item 'data' JSON (stored pristine)." } + } + } + } + } + } + } + } + } + }, + + "/z/items/{key}": { + "get": { + "summary": "Get a cached item by Zotero key. JSON only.", + "parameters": [ + { "in": "path", "name": "key", "required": true, "schema": { "type": "string" } } + ], + "responses": { + "200": { + "description": "Item JSON.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["key", "data"], + "properties": { + "key": { "type": "string" }, + "data": { "type": "object" } + } + } + } + } + }, + "404": { "description": "Not found." } + } + } + }, + + "/z/items": { + "post": { + "summary": "Create a new Zotero item and update cache (JSON-only).", + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["item", "tags"], + "properties": { + "item": { "type": "object", "description": "Zotero item 'data' JSON." }, + "tags": { "type": "array", "items": { "type": "string" } } + } + } + } + } + }, + "responses": { + "201": { + "description": "Created.", + "content": { + "application/json": { + "schema": { + "type": "object", + "properties": { + "status": { "type": "string", "example": "created" }, + "key": { "type": "string" } + } + } + } + } + }, + "409": { "description": "Library locked / conflict." }, + "412": { "description": "Precondition failed (version mismatch)." }, + "400": { "description": "Invalid item payload." } + } + } + }, + + "/z/tags": { + "get": { + "summary": "List distinct tags present in the cached group (for pickers).", + "responses": { + "200": { + "description": "Array of tags.", + "content": { + "application/json": { + "schema": { "type": "array", "items": { "type": "string" } } + } + } + } + } + } + } + } +} diff --git a/src/post-install.xql b/src/post-install.xql index 02f30407..a92dff32 100644 --- a/src/post-install.xql +++ b/src/post-install.xql @@ -67,7 +67,7 @@ declare function local:generate-code($collection as xs:string) { if ($pi?output) then tokenize($pi?output) else - ("web", "print", "latex", "epub", "fo") + $config:odd-media for $file in pmu:process-odd ( (: $odd as document-node():) odd:get-compiled($collection || "/resources/odd" , $source), @@ -93,6 +93,109 @@ declare function local:generate-code($collection as xs:string) { ) }; +(:───────────────────────────────────────────────────────────── + : ZOTERO LAYOUT (uses local:mkcol-recursive($collection,$components)) + : append to post-install.xql — no existing code removed + :─────────────────────────────────────────────────────────────:) + +(: split absolute /db path into components after '/db/' :) +declare function local:path-components-after-db($abs as xs:string) as xs:string* { + let $norm := replace($abs, '/+$', '') + let $rel := substring-after($norm, '/db/') + return if ($rel = '' or $rel = $norm) then () else tokenize($rel, '/') +}; + +(: convenience wrapper: create an absolute /db path with mkcol-recursive :) +declare function local:mkcol-abs($abs as xs:string) as empty-sequence() { + let $comps := local:path-components-after-db($abs) + return if (empty($comps)) then () else local:mkcol-recursive('/db', $comps) +}; + +(: 6.4-safe resource existence :) +declare function local:zotero-resource-exists($coll as xs:string, $name as xs:string) as xs:boolean { + if (not(xmldb:collection-available($coll))) then false() + else some $r in xmldb:get-child-resources($coll) satisfies ($r = $name) +}; + +(: split absolute db path → {coll, name} :) +declare function local:zotero-path-split($abs as xs:string) as map(*) { + let $name := tokenize($abs, '/')[last()] + let $coll := substring($abs, 1, string-length($abs) - string-length($name) - 1) + return map{ "coll": $coll, "name": $name } +}; + +(: seed meta.json if missing; returns true() if written :) +(: seed meta.json if missing, then align its permissions to the parent collection :) +declare function local:zotero-seed-meta-if-missing($abs as xs:string) as xs:boolean { + let $ps := local:zotero-path-split($abs) + return + if (not(xmldb:collection-available($ps?coll))) then false() + else + let $exists := local:zotero-resource-exists($ps?coll, $ps?name) + let $created := + if ($exists) then false() + else + try { + let $_ := xmldb:store( + $ps?coll, $ps?name, + serialize( + map { "libraryVersion": 0, "syncedAt": current-dateTime() }, + map { "method":"json", "indent": true() } + ), + "application/json" + ) + return true() + } catch * { false() } + (: ALWAYS try to align perms (whether created just now or already existed) :) + let $_fixPerms := + try { + let $resPath := concat($ps?coll, "/", $ps?name) + let $p := sm:get-permissions($ps?coll) + let $owner := string(($p/@owner, "guest")[1]) + let $group := string(($p/@group, "guest")[1]) + let $mode := string(($p/@mode, "rw-rw-r--")[1]) + let $_1 := sm:chown($resPath, "edep") + let $_2 := sm:chgrp($resPath, "tei") + let $_3 := sm:chmod($resPath, $mode) + return () + } catch * { () } + return $created +}; + +(: PUBLIC: ensure base, group, items; then seed meta :) +declare function local:zotero-ensure-layout() as map(*) { + let $_b := local:mkcol-abs($config:zotero-base-dir) + let $_g := local:mkcol-abs($config:zotero-group-dir) + let $_i := local:mkcol-abs($config:zotero-items-dir) + let $_h := local:mkcol-abs($config:zotero-items-xml-dir) + + let $metaSeeded := local:zotero-seed-meta-if-missing($config:zotero-meta-path) + + return map{ + "status": "ok", + "ensured": map{ + "base": xmldb:collection-available($config:zotero-base-dir), + "group": xmldb:collection-available($config:zotero-group-dir), + "items": xmldb:collection-available($config:zotero-items-dir), + "items-xml": xmldb:collection-available($config:zotero-items-xml-dir), + "metaSeeded": $metaSeeded + }, + "paths": map{ + "base": $config:zotero-base-dir, + "group": $config:zotero-group-dir, + "items": $config:zotero-items-dir, + "items-xml": $config:zotero-items-xml-dir, + "meta": $config:zotero-meta-path + } + } +}; + +(: OPTIONAL JSON summary for logs :) +declare function local:zotero-ensure-layout-json() as xs:string { + serialize(local:zotero-ensure-layout(), map{ "method":"json", "indent": true() }) +}; + + (: API needs dba rights for LaTeX :) sm:chgrp(xs:anyURI($target || "/modules/lib/api-dba.xql"), "dba"), sm:chmod(xs:anyURI($target || "/modules/lib/api-dba.xql"), "rwxr-Sr-x"), @@ -100,6 +203,8 @@ sm:chmod(xs:anyURI($target || "/modules/lib/api-dba.xql"), "rwxr-Sr-x"), local:mkcol($target, "transform"), local:generate-code($target), local:create-data-collection(), +local:zotero-ensure-layout(), +xmldb:reindex('/db/apps/edep-data'), let $pmuConfig := pmc:generate-pm-config(($config:odd-available, $config:odd-internal), $config:default-odd, $config:odd-root) return xmldb:store($config:app-root || "/modules", "pm-config.xql", $pmuConfig, "application/xquery") \ No newline at end of file diff --git a/src/repo.xml b/src/repo.xml index 18ff9e39..d2f8b32a 100644 --- a/src/repo.xml +++ b/src/repo.xml @@ -8,6 +8,6 @@ pre-install.xql post-install.xql edep - + 2022-04-19T13:07:52.079+02:00 \ No newline at end of file diff --git a/src/resources/css/edep-theme.css b/src/resources/css/edep-theme.css index e1c3f2af..ab2b5ca0 100644 --- a/src/resources/css/edep-theme.css +++ b/src/resources/css/edep-theme.css @@ -30,7 +30,7 @@ main { @media (min-width: 1200px) { main { max-width: 1400px; - margin:1.5rem; + padding-left: 18rem; } } diff --git a/src/resources/css/edep-theme2.css b/src/resources/css/edep-theme2.css index 67a2b591..843cdc58 100644 --- a/src/resources/css/edep-theme2.css +++ b/src/resources/css/edep-theme2.css @@ -15,6 +15,9 @@ html{ scroll-padding-top:5rem; } +h2,h3{ + display: inline-block; +} body{ } * { @@ -37,6 +40,14 @@ details{ margin-bottom:1em; padding-bottom:1em; } + + h2,h3{ + margin:0; + } +} +details > fx-group{ + /*padding:1rem 0;*/ + padding:0; } @media (min-width: 1200px) { .editor > fx-fore { @@ -53,12 +64,24 @@ details{ nav #addFragment{ button{ font-size: 0.8rem; + color: var(--paper-grey-700); + border: thin solid var(--paper-grey-300); + } + button:hover{ + background: var(--paper-grey-300); + } + + #r-fragments::before{ + content:"Fragments" } } -#expander { - transform: rotate(90deg); - height: 2rem; - width: 2rem; + + + +.expander { + /* transform: rotate(90deg); */ + height: 24px; + width: 24px; padding: 0; background: transparent; border: thin solid var(--paper-grey-300); @@ -67,7 +90,7 @@ nav #addFragment{ cursor: pointer; } -#expander:hover{ +.expander:hover{ background: var(--paper-grey-300); } @@ -76,16 +99,12 @@ nav #addFragment{ height: calc(100vh - 9rem); background: #efefef; left: 0; - padding: 1rem; + padding: 2rem 1rem 1rem 0.5rem; z-index: 10; top: 4.2rem; overflow: auto; } -.editor > fx-fore fx-group[ref=teiHeader] { - margin-left: 12rem; -} - nav{ h3 { @@ -106,13 +125,19 @@ nav{ a:link{ color:#333; display: inline-block; - padding: 0.25rem 0; + padding: 0.25rem; + width: 100%; } a:hover{ background: white; - padding: 0.3rem; + /*padding: 0.3rem;*/ border-radius: 0.1rem; } + li{ + display: flex; + justify-content: space-between; + max-width: 12rem; + } .nav-fragments{ @@ -122,6 +147,11 @@ nav{ padding:0.25rem; } } + .nav-divider{ + border-bottom: thin solid var(--paper-grey-300); + margin-bottom: 1rem; + } + } @@ -178,7 +208,14 @@ nav{ @media (min-width: 1024px) { .toolbar { - display: none; + /* display: none; */ + position: absolute; + top: 0.2rem; + left: 0; + width: 100%; + text-align: right; + padding: 0 0.25rem; + background: transparent; } .panels { display: flex; @@ -196,6 +233,13 @@ fx-case{ fx-case.selected-case{ display: block; } +fx-control:has(textarea){ + /*margin:0;*/ +} +fx-control:has(textarea) label { + display: block; + width: 100%; +} .panels { margin-bottom: 40px; } @@ -295,12 +339,12 @@ fx-trigger.delete{ fx-trigger.delete button{ background: var(--pb-link-color); } -fx-trigger.add{ - text-align:right; - display:inline-block; - margin-top:0.5rem; +fx-trigger.add { + display: inline-block; + position: absolute; + right: -0.75rem; + bottom: -0.75rem; } - fx-repeat fx-trigger.add { position: absolute; bottom: -0.75rem; @@ -337,7 +381,7 @@ body, .wrapper{ /* font-family: "Kimberley"; */ } button{ - font-size: 1.2rem; + /*font-size: 1.2rem;*/ padding: 0.5rem 1rem; } @@ -357,8 +401,31 @@ fx-group[ref="teiHeader"]{ margin:0; min-width: 46rem; } +fx-group:has(> h2){ + border:thin solid var(--paper-grey-300); +} +fx-group.bordered{ + border:thin solid var(--paper-grey-300); +} + +fx-group#object{ + fx-output, fx-control { + display: block; + padding: 0rem 0; + margin: 1rem 0; + } + + fx-output{ + margin-left:0; + } + border:thin solid var(--paper-grey-300); +} +.outer-group{ + padding-left: 0; +} + .edepid{ - font-size: 1.4rem; + /*font-size: 1.4rem;*/ margin-left:1.5rem; } .edepid label{ @@ -427,8 +494,7 @@ fx-group.padded { details{ border-color:var(--paper-grey-600); margin:1rem; - - + position: relative; &[open] summary{ border-bottom-color:var(--paper-grey-600); @@ -465,7 +531,7 @@ summary{ fieldset{ border-radius: 0.3rem; /*width:100%;*/ - border:thin solid var(--paper-grey-300); + border:thin solid var(--paper-grey-500); position: relative; padding-bottom: 1rem; } @@ -494,25 +560,34 @@ fieldset control{ .measurement::after{ content:'cm'; position:absolute; - right:1rem; + right:0rem; + top:1.3rem; } -.measurement input{ +.measurement input.widget{ width:5rem; text-align:right; + top:1.5rem; + right:-1.5rem; + padding-right:1.5rem; } fx-control, fx-output, .output, .nested-repeat fieldset legend { display: grid; - grid-template-columns: 16rem 1rem 1fr; + grid-template-columns: 10rem 1rem 1fr; row-gap: 0.2rem; grid-template-areas: "label icon control" ". . alert"; - margin: 0.5rem 0; + margin: 1rem; grid-column-gap: 0.5rem; width: calc(100% - 1rem); } - +fx-control{ + display: block; +} +fx-control textarea{ + width:100%; +} .output label { text-align: right; } @@ -544,6 +619,13 @@ fx-items.material-list{ .fx-checkbox{ display:block; + + input{ + display:inline-block; + } + label{ + display:inline-block; + } } fx-control{ @@ -551,7 +633,8 @@ fx-control{ } fx-control label, .output label { - grid-area:label; + /*grid-area:label;*/ + display: block; } fx-control [icon="info-outline"]{ @@ -612,12 +695,14 @@ fx-control:has(jinn-xml-editor){ margin-left: 17.8rem; } +/* fx-group{ padding:1rem; border-radius: 0.3rem; position: relative; padding:0 2rem 1rem 2rem; } +*/ fx-group > label { font-family: var(--pb-heading-font-family); font-weight: 400 !important; @@ -627,10 +712,51 @@ fx-group > label { position:absolute; top: 0; } +fx-group.neutral{ + padding: 0; + border:none; + position: relative; +} +fx-group.outer-group{ + padding:1rem; +} + +.outer-group:has(#edition) { + padding:0 1rem; + margin-top: 0; +} +#pictures .add { + bottom: -2.75rem; + right: -1.75rem; +} +#references { + border-left: 5px solid #cee0fe; + border-radius: 0; + /*padding-left: 0.5rem;*/ +} +#references details{ + border-radius: 0; +} + +/* +#transmission, #prev-editions, #bibliography,#images,#pictures{ + border-left: 5px solid #cee0fe; +} +*/ +#transmission{ + margin-top: 1rem; +} + +/* fx-group fx-group { - border:thin solid var(--paper-grey-600); - /*padding:1rem;*/ + border:none; } +*/ + +/* +fx-group fx-group { + border:thin solid var(--paper-grey-600); +} */ fx-group + fx-group { @@ -642,7 +768,7 @@ fx-group + fx-group { } fx-control label, fx-output label{ - justify-self: end; + /*justify-self: end;*/ } fx-inspector{ position:absolute; @@ -680,6 +806,19 @@ fx-repeatitem{ } } +fx-repeat.repeat-flex{ + display:flex; + flex-wrap:wrap; + + fx-repeatitem{ + display:inline-block; + } +} + +details > fx-repeat{ + margin-left: -1rem; +} + fx-inspector[open]{ width: 50%; } @@ -687,6 +826,9 @@ fx-inspector[open]{ input.widget, select.widget{ border:none; border-bottom:thin solid; + padding:0.25rem; + font-size: 1rem; + width:auto; } fx-items { @@ -720,6 +862,7 @@ fx-var{ } .nested-repeat{ + display: block; /*margin-top:1rem;*/ fx-group{ @@ -879,7 +1022,25 @@ input:focus, select:focus, textarea:focus{ } #historic-relevance{ fx-control{ - grid-template-columns: 17rem 1rem 1fr; + display: flex; + gap: 1rem; + } + + fx-items{ + display:flex; + } +} + +#findspot-ctrl{ + display:block; +} +#findspot-ctrl pb-popover { + margin-left: -1rem; + margin-top: 1.2rem; +} +#objectdesc{ + .description{ + flex-grow: 2; } } #places-list { @@ -914,6 +1075,16 @@ input:focus, select:focus, textarea:focus{ background-color: #35424b; color: #F0F0F0; } + +#r-verification fx-repeatitem, #r-verification fx-group{ + display:flex; +} +#r-verification fx-repeatitem{ + width: calc(100% - 2rem) ; +} + + + pb-popover > iron-icon{ display:inline-block; width: 1.5rem; @@ -956,7 +1127,7 @@ legend{ } .output { display: grid; - grid-template-columns: 16rem 2rem auto 1rem; + grid-template-columns: 4rem 2rem auto 1rem; grid-template-areas: "label icon control hint"; margin: 0.5rem 0; @@ -1105,4 +1276,37 @@ jinn-zotero-picker { .hint { font-size: var(--pb-footnote-font-size); margin-top: 0; +} + +.valid { + position: fixed; + bottom: 0; + left: 0; + padding: 1rem; + background: red; + color: white; +} + +select { + width: 100%; +} + +.fx-radio input { + width: auto !important; +} + +.fx-radio label { + display: inline !important; +} + + +.form-row{ + display:flex; + gap:1rem; + + fx-control,label{ + display:block; + width:auto; + } + } \ No newline at end of file diff --git a/src/resources/css/fore.css b/src/resources/css/fore.css index a37bae35..fff91b3a 100644 --- a/src/resources/css/fore.css +++ b/src/resources/css/fore.css @@ -1,300 +1,294 @@ @import 'vars.css'; @import 'toastify.css'; -/*@import url('dev.css');*/ - -html { - --inspector-bg: var(--paper-grey-300); - --inspector-pre-bg: var(--paper-grey-100); - --inspector-color: var(--paper-grey-800); - --inspector-instance-height: 200px; - --inspector-handle-bg: var(--paper-blue-500); - --inspector-handle-width: 30px; -} - -[unresolved] { - display: none; -} - -[disabled] { - pointer-events: none; - cursor: default; -} - -[refresh-on-view] { - /*opacity: 0;*/ -} - -/* - nonrelevant must always be hidden -*/ -[nonrelevant] { - display: none !important; -} - -[relevant] { - display: block; -} - -fx-control[required]:after { - content: "*"; - display: inline; - color: red; -} - -[slot=messages] { - margin: 0 auto; - width: 100%; - padding: 2rem 0 1rem; - background: white; - border-radius: 0.5rem; - position: relative; -} - -[slot=messages]::before { - content: attr(data-level); - padding: 0.5rem; - background: darkred; - color: white; - display: block; -} - -[slot=messages] div { - color: black; - padding: 0.25rem; - border: thin solid #efefef; -} - -[slot=messages] div::before { - width: 6rem; - display: inline-block; -} - -[slot=messages] div:nth-child(1)::before { - content: 'Id:'; -} - -[slot=messages] div:nth-child(2)::before { - content: 'Path:'; -} - -[slot=messages] div:nth-child(3)::before { - content: 'Message:'; -} - -.fore-error { - height: 2rem; - background: darkred; - width: 100%; - display: block !important; - color: white; -} - -.fore-error::before { - content: 'right-click to inspect'; - display: flex; - flex-align: center; -} - -fx-alert { - color: darkred; - font-size: 0.9rem; - display: none; -} - -.visited[invalid] fx-alert { - display: block; -} - -/* case not displayed by default - if you want e.g. apply transitions you have to overwrite this rule with display='inline' or similar */ -fx-case { - display: none; -} - -fx-output[readonly] img { - background: inherit; -} - -.error { - background: var(--paper-red-500); -} - -fx-control, fx-trigger, .fx-checkbox { - white-space: nowrap; - /* position: relative; */ -} - -/* ### FX-DIALOG STYLES ### */ -/* ### FX-DIALOG STYLES ### */ -/* ### FX-DIALOG STYLES ### */ -fx-dialog { - display: none; - opacity: 0; - width: 100vw; - height: 100vh; - transition: opacity 1s linear; - z-index: -1; - transition: none; -} - -fx-dialog.show { - display: block; - min-height: 200px; - border-radius: 0.5rem; - opacity: 1; - background: rgba(0, 0, 0, 0.5); - z-index: 10; - transition: opacity 0.4s linear; -} - -fx-dialog.show .dialog-content { - padding: 1rem; - width: fit-content; - height: fit-content; - border: thin solid; - border-radius: 0.3rem; - position: absolute; - left: 50%; - top: 50%; - transform: translateX(-50%) translateY(-50%); - background: white; - -} - -fx-dialog a.close-dialog { - position: absolute; - right: 0.4rem; - top: 0.2rem; - color: var(--paper-grey-900); - text-decoration: none; - font-size: 1.2rem; -} - -fx-dialog .action { - width: 100%; - text-align: center; - display: block; -} - -fx-group, fx-switch, fx-repeat, fx-dialog { - display: block; -} - -fx-hint { - display: none; -} - -fx-model, -fx-instance, -fx-action, -fx-setvalue { - display: none; -} - -fx-trigger a[disabled] { - color: lightgrey; -} - -fx-trigger img[disabled] { - filter: blur(2px); -} - -fx-repeatitem { - position: relative; - opacity: 1; -} - -.hidden { - visibility: hidden; - opacity: 0; - transition: visibility 0s 2s, opacity 2s linear; -} - -.isEmpty.visited .widget { - background: lightpink; -} - -.loaded { - animation: fadein 0.3s forwards; -} - -/* avoid flicker from nested lazily loaded elements */ -.loaded .loaded { - animation: none; - opacity: 1; -} - -.logtree details { - padding: 0.1rem 1rem; - margin: 0; -} -noscript{ - display: block; - width: 100%; - padding: 1rem; - background: darkorange; - color:white; - position: absolute; - top:0; - left:0; -} - -.submit-validation-failed .isEmpty .widget { - background: lightpink; -} - -.vertical label { - display: block; -} - -/* fx-action-log styles */ - -fx-fore.action-log{ - /*background: var(--paper-orange-500);*/ -} -.action-log .action-log-debug { - display: block !important; - min-height: 3rem; - background: var(--paper-orange-500); -} -.action-log fx-model{ - display: block; - min-height: 1rem; -} -.action-log fx-model::before{ - content:'model'; -} - -.action-log fx-instance, -.action-log fx-bind, -.action-log fx-submission, -.action-log fx-function -{ - display: block; - min-height: 2rem; - background: var(--paper-orange-500); -} - -.action-log fx-bind::before{ - content:'bind :: ' attr(ref); -} -.action-log fx-instance::before{ - content:'instance :: ' attr(id); -} -.action-log fx-submission::before{ - content:'submission ::' attr(id); -} - -.action-log .action-log-debug::before{ - content: attr(data-name); -} -.action-log .action-log-debug .targetd{ - cursor: pointer; -} - - -/* ### toastify customizations #### */ - -.toastify.on.warning{ - background: var(--paper-orange-500); -} + /*@import url('dev.css');*/ + + html { + --inspector-bg: var(--paper-grey-300); + --inspector-pre-bg: var(--paper-grey-100); + --inspector-color: var(--paper-grey-800); + --inspector-instance-height: 200px; + --inspector-handle-bg: var(--paper-blue-700); + --inspector-handle-width: 30px; + } + + [disabled] { + pointer-events: none; + cursor: default; + } + + [refresh-on-view] { + /*opacity: 0;*/ + } + + /* + nonrelevant must always be hidden + */ + [nonrelevant] { + display: none; + } + + [relevant] { + display: block; + } + + fx-control[required] label:after { + content: "*"; + display: inline; + color: red; + } + + .fore-error { + height: 2rem; + background: darkred; + width: 100%; + display: block !important; + color: white; + } + + .fore-error::before { + content: 'right-click to inspect'; + display: flex; + flex-align: center; + } + + fx-alert { + color: darkred; + font-size: 0.9rem; + display: none; + } + + [valid] fx-alert{ + display: none; + } + + .visited[invalid] fx-alert { + display: block; + } + + /* case not displayed by default - if you want e.g. apply transitions you have to overwrite this rule with display='inline' or similar */ + fx-case { + display: none; + } + fx-case.selected-case{ + display:block; + } + + fx-output[readonly] img { + background: inherit; + } + + .error { + background: var(--paper-red-500); + display: flex; + } + + fx-control, fx-trigger, .fx-checkbox { + white-space: nowrap; + /* position: relative; */ + } + + /* ### FX-DIALOG STYLES ### */ + /* ### FX-DIALOG STYLES ### */ + /* ### FX-DIALOG STYLES ### */ + fx-dialog { + display: none; + opacity: 0; + width: 100vw; + height: 100vh; + transition: opacity 1s linear; + z-index: -1; + transition: none; + } + + fx-dialog.show { + display: block; + min-height: 200px; + border-radius: 0.5rem; + opacity: 1; + background: rgba(0, 0, 0, 0.5); + z-index: 10; + transition: opacity 0.4s linear; + } + + fx-dialog.show .dialog-content { + padding: 1rem; + width: fit-content; + height: fit-content; + border: thin solid; + border-radius: 0.3rem; + position: absolute; + left: 50%; + top: 50%; + transform: translateX(-50%) translateY(-50%); + background: white; + + } + + fx-dialog a.close-dialog { + position: absolute; + right: 0.4rem; + top: 0.2rem; + color: var(--paper-grey-900); + text-decoration: none; + font-size: 1.2rem; + } + + fx-dialog .action { + width: 100%; + text-align: center; + display: block; + } + + fx-group, fx-switch, fx-repeat, fx-dialog { + /*display: block;*/ + position: relative; + } + + fx-hint { + display: none; + } + + fx-model, + fx-instance, + fx-action, + fx-setvalue { + display: none; + } + + fx-trigger a[disabled] { + color: lightgrey; + } + + fx-trigger img[disabled] { + filter: blur(2px); + } + + fx-repeatitem { + position: relative; + opacity: 1; + } + + .hidden { + visibility: hidden; + opacity: 0; + transition: visibility 0s 2s, opacity 2s linear; + } + + .isEmpty.visited .widget { + background: lightpink; + } + + .loaded { + animation: fadein 0.3s forwards; + } + + /* avoid flicker from nested lazily loaded elements */ + .loaded .loaded { + animation: none; + opacity: 1; + } + + .logtree details { + padding: 0.1rem 1rem; + margin: 0; + } + noscript{ + display: block; + width: 100%; + padding: 1rem; + background: darkorange; + color:white; + position: absolute; + top:0; + left:0; + } + + .submit-validation-failed .isEmpty .widget { + background: lightpink; + } + + .vertical label { + display: block; + } + + /* for on-demand elements */ + [role=group][on-demand=true] { + display: none; + } + .trash { + display: inline-block; + position: absolute; + right:0; + top:0; + z-index: 10; + font-size: 0.8rem; + } + .trash svg{ + width: 1rem; + height: 1rem; + color:#666666; + } + .trash svg:hover{ + color:black; + + } + + /* fx-action-log styles */ + + fx-fore.action-log{ + /*background: var(--paper-orange-500);*/ + } + .action-log .action-log-debug { + display: block !important; + min-height: 3rem; + background: var(--paper-orange-500); + } + .action-log fx-model{ + display: block; + min-height: 1rem; + } + .action-log fx-model::before{ + content:'model'; + } + + .action-log fx-instance, + .action-log fx-bind, + .action-log fx-submission, + .action-log fx-function + { + display: block; + min-height: 2rem; + background: var(--paper-orange-500); + } + + .action-log fx-bind::before{ + content:'bind :: ' attr(ref); + } + .action-log fx-instance::before{ + content:'instance :: ' attr(id); + } + .action-log fx-submission::before{ + content:'submission ::' attr(id); + } + + .action-log .action-log-debug::before{ + content: attr(data-name); + } + .action-log .action-log-debug .targetd{ + cursor: pointer; + } + + + /* ### toastify customizations #### */ + + .toastify.on.warning{ + background: var(--paper-orange-500); + } + + /* + * For on-demand stuff, if it has no value initially,hide it + */ + [on-demand] { + display: none !important; + } diff --git a/src/resources/css/geo-picker.css b/src/resources/css/geo-picker.css index 7e903c48..4750d375 100644 --- a/src/resources/css/geo-picker.css +++ b/src/resources/css/geo-picker.css @@ -22,9 +22,13 @@ fx-fore fx-fore fx-inspector{ } fx-fore#geopicker{ - padding:0 1rem; + padding:0; +} +#geopicker .geo-place { + margin-left: 0; + padding: 0; + margin:1rem 0; } - [icon="add-circle-outline"]{ color:black; } @@ -32,7 +36,7 @@ fx-fore#geopicker{ #geopicker{ .with-hint{ grid-template-columns: initial; - margin-left:-1rem; + /*margin-left:-1rem;*/ align-items: center; fx-control{ @@ -94,7 +98,7 @@ fx-fore#geopicker{ background: #efefef; } #geopicker fx-output{ - padding:0.125rem 0; + padding:0.5rem 0; margin: 0; } #geopicker input{ @@ -107,7 +111,7 @@ fx-fore#geopicker{ border:0; margin-left:0.5rem; } -.geo-place fx-output{ - grid-template-columns: 14.5rem 1rem 1fr; +.geo-place fx-output { + grid-template-columns: 10rem 1rem 1fr; grid-column-gap: 2rem; -} +} \ No newline at end of file diff --git a/src/resources/css/vars.css b/src/resources/css/vars.css index 2f7a1d13..d7fe9870 100644 --- a/src/resources/css/vars.css +++ b/src/resources/css/vars.css @@ -1,5 +1,13 @@ /* Material Design color palette for Google products */ +:root{ + --pico-font-weight: 300; + --pico-font-size: 1rem; + --pico-form-element-spacing-vertical: 0.5rem; + --pico-form-element-spacing-horizontal: 0.75rem; +} html { + + --google-red-100: #f4c7c3; --google-red-300: #e67c73; --google-red-500: #db4437; diff --git a/src/resources/css/zotero-autocomplete.css b/src/resources/css/zotero-autocomplete.css new file mode 100644 index 00000000..4a360f3e --- /dev/null +++ b/src/resources/css/zotero-autocomplete.css @@ -0,0 +1,108 @@ +/* --- sizing tokens --- */ +zotero-autocomplete .za-field{ + --za-clear-w: 2rem; + --za-pad-x: 1rem; + --za-right-pad: calc(var(--za-clear-w) + var(--za-pad-x)); + + /* Stack overlay + input */ + display: grid; + grid-template-areas: "stack"; + position: relative; + + /* Move border/background to the wrapper so it can grow with overlay */ + padding: .75rem var(--za-right-pad) .75rem var(--za-pad-x); + border: 1px solid #ccc; + border-radius: .75rem; + background: #fff; + transition: border-color .15s ease, box-shadow .15s ease; +} + +/* Focus ring now on the wrapper (covers the entire wrapped overlay) */ +zotero-autocomplete .za-field:focus-within{ + border-color: #4c9ffe; + box-shadow: 0 0 0 3px rgba(76,159,254,.2); +} + +/* Input: borderless, transparent, stretched to wrapper height */ +zotero-autocomplete .za-input{ + grid-area: stack; + background: transparent; + border: 0; + padding: 0; /* padding lives on the wrapper */ + margin: 0; + width: 100%; + height: 100%; /* << stretch with overlay height */ + min-height: 1.35em; /* a line at least */ + outline: none; + font: 16px/1.35 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; + color: inherit; +} + +/* Overlay: multiline; sits above input; no inner padding now */ +zotero-autocomplete .za-overlay{ + grid-area: stack; + white-space: normal; + word-break: break-word; + overflow: hidden; + display: none; + color: #111; + font: 14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; + pointer-events: none; + z-index: 1; +} +zotero-autocomplete .za-field.has-overlay .za-overlay{ display:block; } + +/* Hide input text paint when overlay is shown; caret stays visible */ +zotero-autocomplete .za-field.has-overlay .za-input{ + color: transparent; -webkit-text-fill-color: transparent; + caret-color: #111; +} + +/* Clear button reserved space & always clickable */ +zotero-autocomplete .za-clear{ + position: absolute; right: .5rem; top: 50%; transform: translateY(-50%); + border: 0; background: transparent; cursor: pointer; + font-size: 1.2rem; line-height: 1; color: #888; display: none; + z-index: 3; +} +zotero-autocomplete .za-clear.is-visible{ display:block; } + +/* Suggestions list above */ +zotero-autocomplete .za-list{ + list-style:none; margin:.25rem 0 0; padding:.25rem; + border:1px solid #ddd; border-radius:.5rem; background:#fff; + box-shadow:0 4px 14px rgba(0,0,0,.08); + max-height:320px; overflow:auto; display:none; position:relative; z-index: 5; +} +zotero-autocomplete .za-list.is-open{ display:block; } + +zotero-autocomplete .za-item{ + padding:.5rem .75rem; border-radius:.5rem; margin:.15rem 0; cursor:pointer; outline:none; +} +zotero-autocomplete .za-item[aria-selected="true"], +zotero-autocomplete .za-item:hover{ background:rgba(0,0,0,.06); } + +zotero-autocomplete .za-bib{ + white-space: normal; word-break: break-word; + font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif; +} +/* when overlay is shown, prevent selection highlight on the input */ +zotero-autocomplete .za-field.has-overlay .za-input { + user-select: none; /* no text selection */ + -webkit-user-select: none; +} + +/* just in case something still gets selected, make the highlight transparent */ +zotero-autocomplete .za-field.has-overlay .za-input::selection { + background: transparent; +} +zotero-autocomplete .za-field.has-overlay .za-input::-moz-selection { + background: transparent; +} + +/* also remove any tap/focus tint some browsers draw */ +zotero-autocomplete .za-input { + -webkit-tap-highlight-color: transparent; + outline: none; + box-shadow: none; +} diff --git a/src/resources/i18n/app/de.json b/src/resources/i18n/app/de.json index e4d4a047..7985a134 100644 --- a/src/resources/i18n/app/de.json +++ b/src/resources/i18n/app/de.json @@ -7,11 +7,14 @@ "about": "Über das Projekt" }, "form": { + "expand": "Alle Abschnitte erweitern", "unknown": "unbekannt", + "id": "Identifier", "object": "Objekt", "object-description": "Objektbeschreibung", "text-description": "Textbeschreibung", "edition": "Textedition", + "fragments": "Fragmente", "display": "Darstellung", "historic-relevance": "Historische Relevanz", "title": "Titel", @@ -22,15 +25,23 @@ "tm": "TM ID", "type-of-monument": "Inschriftträger", "description-of-monument": "Beschreibung Inschriftträger", + "hint-add-objecttype": "Inschriftträger hinzufügen", + "hint-delete-objecttype": "Inschriftträger löschen", "material": "Material", + "hint-add-material": "Material hinzufügen", + "hint-delete-material": "Material löschen", + "finding": "Fundumstände", "findspot": "Fundort", "context-of-provenance": "Fundkontext", + "found-date": "Fundkontext", + "custom-date": "Datierung (Quelle)", "year-of-find": "Fundjahr/-datum", "date": "Zeitpunkt", "date-before": "vor", "date-after": "nach", "date-invalid": "Ungültiges Datum", "free-form": "Freie Eingabe", + "remarks": "Anmerkungen", "last-recorded-location": "Aufbewahrung", "other-events": "Weitere Ereignisse", "transmission": "Überlieferung", @@ -40,25 +51,34 @@ "basis-of-verification": "Verfizierungsgrundlage", "date-of-verification": "Datum der Verifizierung", "hint-add-verification": "Verfizierung hinzufügen", - "hint-delete-verification": "Verfizierung lösche", + "hint-delete-verification": "Verfizierung löschen", "hint-delete-fragment": "Fragment löschen", "verification-by": "Verifizierer", "preservation": "Erhaltung", "decoration": "Dekor", + "decoration-description": "Dekorbeschreibung", "type-of-inscription": "Inschriftengattung", "width": "Breite", "depth": "Tiefe", "height": "Höhe", "inscription-field": "Inschriftfeld", "description": "Beschreibung", - "letter-size": "Buchstabenhöhe", + "letter-size": "Buchstabenhöhe(n)", + "letter-size-free": "Freie Angabe", + "letter-size-min": "Buchstabenhöhe min", + "letter-size-max": "Buchstabenhöhe max", + "line": "Zeile", "metre": "Metrik", "language": "Sprache", + "languages": "Sprachen", + "languageScope": "Sprachspektrum", "languageMain": "Hauptsprache", "languageOther": "Andere Sprachen", "languageFree": "Andere Sprachen oder Kommentare", - "ligature": "Ligatur", - "palaeography": "Paläographie", + "hint-add-language": "Sprache hinzufügen", + "hint-delete-language": "Sprache löschen", + "ligature": "Ligatur(en)", + "paleography": "Paläographie", "references": "Referenzen", "previous-editions": "Ältere Editionen", "bibliography": "Bibliographie", @@ -77,7 +97,11 @@ "geography": "Geographie / Topographie", "military": "Militär", "status-of-editing": "Stand der Bearbeitung", - "author-epigraphic-edition": "Bearbeiter der Inschriftenedition", + "editing": "Bearbeitung", + "hint-add-editor": "Bearbeiter hinzufügen", + "hint-delete-editor": "Bearbeiter löschen", + "author": "Bearbeiter", + "author-epigraphic-edition": "Bearbeiter(innen) der Inschriftenedition", "new": "Neuer Eintrag", "list": "Zur Liste", "add": "Fragment hinzufügen", @@ -113,37 +137,11 @@ "hint-geodata-findspot": "Ort bzw. Stadtteil, Gebäude, Straßenname, Flur u. Ä. innerhalb von Fundort (modern)", "hint-geodata-findspot-modern": "Eigenständige Gemeinde.", "hint-previous-editions": "Es wird empfohlen, die älteren Editionen in chronologischer Reihenfolge nach deren Entstehungsjahr einzutragen (von der Ältesten beginnend).", - "hint-references": "Die verschiedenen bibliographischen Einträge sind durch Verweise auf eine Zotero-Library zu erstellen. Eine Verknüpfung zu Ihrer Library kann hier eingerichtet werden.", + "hint-references": "Die verschiedenen bibliographischen Einträge sind durch Verweise auf eine Zotero-Library zu erstellen.", "verse": "Vers", - "visibility": "Sichtbarkeit" - }, - "status": { - "intern": "intern", - "public": "öffentlich" - }, - "verification": { - "autopsy": "Autopsie", - "squeeze": "Abklatsch", - "photo": "Foto", - "drawing": "Zeichnung", - "not-seen": "nicht gesehen" - }, - "preservation": { - "fragmentary": "fragmentarisch", - "complete": "vollständig" - }, - "decor": { - "yes": "ja", - "no": "nein", - "uncertain": "unsicher" - }, - "metric": { - "partim": "partim" - }, - "religion": { - "pagan": "pagan", - "jewish": "jüdisch", - "christian": "christlich" + "visibility": "Sichtbarkeit", + "repository": "Sammlungs-ID", + "repository-number": "Inv.-Nummer" }, "metadata": { "dimensions": "Maße", diff --git a/src/resources/i18n/app/en.json b/src/resources/i18n/app/en.json index fcf4388e..d1184d22 100644 --- a/src/resources/i18n/app/en.json +++ b/src/resources/i18n/app/en.json @@ -7,11 +7,15 @@ "about": "About" }, "form": { - "unknown": "unkown", + "hint": "HINT", + "expand": "Expand all sections", + "unknown": "unknown", + "id": "Identifier", "object": "Object", "object-description": "Description of object", "text-description": "Description of text", "edition": "Edition of text", + "fragments": "Fragments", "historic-relevance": "Historical relevance", "display": "Display", "title": "Title", @@ -22,15 +26,22 @@ "tm": "TM ID", "type-of-monument": "Type of monument", "description-of-monument": "Description of monument", + "hint-add-objecttype": "Add object type", + "hint-delete-objecttype": "Delete object type", "material": "Material", + "hint-add-material": "Add material", + "hint-delete-material": "Delete material", + "finding": "Finding", "findspot": "Find spot", "context-of-provenance": "Find context", "year-of-find": "Year/date of find", + "custom-date": "Custom date (e.g. Gregorian)", "date": "Point in time", "date-before": "before", "date-after": "after", "date-invalid": "Invalid date", "free-form": "Free form", + "remarks": "Remarks", "last-recorded-location": "Present location", "other-events": "Other events", "transmission": "Transmission", @@ -45,23 +56,33 @@ "verification-by": "Verificator", "preservation": "Preservation", "decoration": "Decoration", + "decoration-description": "Description of decoration", "type-of-inscription": "Type of inscription", "width": "Width", "depth": "Depth", "height": "Height", "inscription-field": "Inscription field", "description": "Description", - "letter-size": "Letter size", + "letter-size": "Letter size(s)", + "letter-size-free": "Free form", + "letter-size-min": "Letter size min", + "letter-size-max": "Letter size max", + "line": "Line(s)", "metre": "Metre", "language": "Language", + "languages": "Languages", + "languageScope": "Language scope", "languageMain": "Main language", "languageOther": "Other languages", "languageFree": "Other languages or comments", - "ligature": "Ligature", - "palaeography": "Palaeography", + "hint-add-language": "Add language entry", + "hint-delete-language": "Delete language entry", + "ligature": "Ligature(s)", + "paleography": "Paleography", "references": "References", "previous-editions": "Previous editions", "bibliography": "Bibliography", + "note": "Note", "notes": "Notes", "images-dps": "Images (drawings, photographs, squeezes)", "images": "Digital Images", @@ -77,7 +98,11 @@ "geography": "Geography / Topography", "military": "Military", "status-of-editing": "Status of Editing", - "author-epigraphic-edition": "Author the epigraphic edition", + "editing": "Editing", + "author": "Author", + "author-epigraphic-edition": "Author(s) of the epigraphic edition", + "hint-add-editor": "Add author", + "hint-delete-editor": "Remove author", "new": "New entry", "list": "To the list", "add": "Add fragment", @@ -111,38 +136,13 @@ "hint-recorded-location": "Non-editing, usually early transmissions like drawings, sheets, notebooks, codices etc.", "hint-geodata-findspot": "Town or city district, building, street name, hallway (and similar) of Site (modern)", "hint-geodata-findspot-modern": "Independent municipality.", + "hint-finddate": "Find Date", "hint-previous-editions": "It is recommended to enter the previous editions in chronological order of appearance (beginning from the oldest).", - "hint-references": "All the bibliographic titles have to be entered by referring to a Zotero-Library. You may set up the link to your library here.", + "hint-references": "All the bibliographic titles have to be entered by referring to a Zotero-Library.", "verse": "Verse", - "visibility": "Display" - }, - "status": { - "intern": "internal", - "public": "public" - }, - "verification": { - "autopsy": "autopsy", - "squeeze": "squeeze", - "photo": "foto", - "drawing": "drawing", - "not-seen": "not seen" - }, - "preservation": { - "fragmentary": "fragmentary", - "complete": "complete" - }, - "decor": { - "yes": "yes", - "no": "no", - "uncertain": "uncertain" - }, - "metric": { - "partim": "partim" - }, - "religion": { - "pagan": "pagan", - "jewish": "jewish", - "christian": "christian" + "visibility": "Display", + "repository": "Repository ID", + "repository-number": "Inventory number" }, "metadata": { "dimensions": "Dimensions", diff --git a/src/resources/odd/edep-clean.odd b/src/resources/odd/edep-clean.odd index 5befcca3..4549694f 100644 --- a/src/resources/odd/edep-clean.odd +++ b/src/resources/odd/edep-clean.odd @@ -42,6 +42,12 @@ + + + + + + @@ -81,11 +87,26 @@ - + Delete any note element that doesn’t have textual content other than white spaces + + + Delete ligature info when content not present + + + Preserve note when some descendant attributes non-empty + + + Preserve note when any text content present + + + Delete letter height info in all other cases + + + Delete TM identifier if empty. @@ -133,7 +154,7 @@ - + Clean-up of an empty listBibl element @@ -158,9 +179,12 @@ - - Delete element if all children are empty - + + Keep if in handNote + + + Delete element if all children are empty + @@ -198,7 +222,7 @@ - + diff --git a/src/resources/odd/edep-edition.odd b/src/resources/odd/edep-edition.odd index f7b21189..c7d8cf4f 100644 --- a/src/resources/odd/edep-edition.odd +++ b/src/resources/odd/edep-edition.odd @@ -221,7 +221,7 @@ - + Creation of subheadings when there are multiple fragments diff --git a/src/resources/odd/edep-output.odd b/src/resources/odd/edep-output.odd index 68091acd..94ca2444 100644 --- a/src/resources/odd/edep-output.odd +++ b/src/resources/odd/edep-output.odd @@ -41,21 +41,21 @@ - + - + - - - + + + - - - + + +

[[edep-id]]

@@ -84,7 +84,7 @@ - + @@ -124,8 +124,8 @@   - - + + @@ -138,7 +138,7 @@ - + @@ -450,6 +450,11 @@ + + + + + diff --git a/src/resources/odd/edep.css b/src/resources/odd/edep.css index 45917a16..3f9d02bb 100644 --- a/src/resources/odd/edep.css +++ b/src/resources/odd/edep.css @@ -8,10 +8,6 @@ h2 { font-weight: normal; } -h2::after { - content: ":"; -} - .metadata th { text-align:right; padding-right: 1em; diff --git a/src/resources/odd/edep.odd b/src/resources/odd/edep.odd index 5aa06fe2..0f125328 100644 --- a/src/resources/odd/edep.odd +++ b/src/resources/odd/edep.odd @@ -104,30 +104,29 @@ - - - - - - - + + all lost rendered in [] brackets, except when brackets are merged with prev/next sibling of gap or supplied + + + text-decoration: underline; - - - - - - - - - - - - + + content:"{"; @@ -138,7 +137,7 @@ - + @@ -159,20 +158,29 @@ - - - - - + + if quantity is a number, imitate the same number of empty line placemarkers; if unknown, just ------ + + + + where extent is used, behave as if unknown number of lines is missing + + - - - - - + where no quantity or extent is given, behave as if a single line is missing + + - - + in all other assume it's a gap for a given number of characters + + @@ -214,6 +222,20 @@ + + + + + + content: '|'; + + + + + + + margin: 0; + diff --git a/src/resources/scripts/annotations/annotations.js b/src/resources/scripts/annotations/annotations.js index 5caf2d2e..399e88af 100644 --- a/src/resources/scripts/annotations/annotations.js +++ b/src/resources/scripts/annotations/annotations.js @@ -1,21 +1,20 @@ /* * This file contains the javascript code, which connects the various elements of the * user interface for the annotation editor. - * + * * You should not need to change this unless you want to add new features. */ - function disableButtons(disable, range) { - document.querySelectorAll(".annotation-action:not([data-type=edit])").forEach((button) => { - button.disabled = disable; - }); - const editBtn = document.querySelector(".annotation-action[data-type=edit]"); - if (!disable && range.startContainer === range.endContainer && range.startContainer.nodeType === Node.TEXT_NODE) { - editBtn.disabled = false; - } else { - editBtn.disabled = true; - } + document.querySelectorAll('.annotation-action:not([data-type=edit])').forEach(button => { + button.disabled = disable; + }); + const editBtn = document.querySelector('.annotation-action[data-type=edit]'); + if (!disable && range.startContainer === range.endContainer && range.startContainer.nodeType === Node.TEXT_NODE) { + editBtn.disabled = false; + } else { + editBtn.disabled = true; + } } /** @@ -24,14 +23,16 @@ function disableButtons(disable, range) { * @return {!Promise} Handle to the new file. */ function getNewFileHandle(name) { - const opts = { - suggestedName: name, - types: [{ - description: 'XML Document', - accept: { 'application/xml': ['.xml'] }, - }], - }; - return window.showSaveFilePicker(opts); + const opts = { + suggestedName: name, + types: [ + { + description: 'XML Document', + accept: { 'application/xml': ['.xml'] }, + }, + ], + }; + return window.showSaveFilePicker(opts); } /** @@ -41,13 +42,13 @@ function getNewFileHandle(name) { * @param {string} contents Contents to write. */ async function writeFile(fileHandle, contents) { - // For Chrome 83 and later. - // Create a FileSystemWritableFileStream to write to. - const writable = await fileHandle.createWritable(); - // Write the contents of the file to the stream. - await writable.write(contents); - // Close the file and write the contents to disk. - await writable.close(); + // For Chrome 83 and later. + // Create a FileSystemWritableFileStream to write to. + const writable = await fileHandle.createWritable(); + // Write the contents of the file to the stream. + await writable.write(contents); + // Close the file and write the contents to disk. + await writable.close(); } /** @@ -59,554 +60,552 @@ async function writeFile(fileHandle, contents) { * @return {boolean} True if the user has granted read/write permission. */ async function verifyPermission(fileHandle, withWrite) { - const opts = {}; - if (withWrite) { - opts.writable = true; - // For Chrome 86 and later... - opts.mode = 'readwrite'; - } - // Check if we already have permission, if so, return true. - if (await fileHandle.queryPermission(opts) === 'granted') { - return true; - } - // Request permission to the file, if the user grants permission, return true. - if (await fileHandle.requestPermission(opts) === 'granted') { - return true; - } - // The user did nt grant permission, return false. - return false; + const opts = {}; + if (withWrite) { + opts.writable = true; + // For Chrome 86 and later... + opts.mode = 'readwrite'; + } + // Check if we already have permission, if so, return true. + if ((await fileHandle.queryPermission(opts)) === 'granted') { + return true; + } + // Request permission to the file, if the user grants permission, return true. + if ((await fileHandle.requestPermission(opts)) === 'granted') { + return true; + } + // The user did nt grant permission, return false. + return false; } -window.addEventListener("WebComponentsReady", () => { - const form = document.getElementById("edit-form"); - let selection = null; - let activeSpan = null; - const view = document.getElementById("view1"); - const occurDiv = document.getElementById("occurrences"); - const occurrences = occurDiv.querySelector("ul"); - const saveBtn = document.getElementById("form-save"); - const refInput = document.getElementById("form-ref"); - const authorityInfo = document.getElementById("authority-info"); - const authorityDialog = document.getElementById("authority-dialog"); - let autoSave = false; - let type = ""; - let text = ""; - let enablePreview = true; +window.addEventListener('WebComponentsReady', () => { + const form = document.getElementById('edit-form'); + let selection = null; + let activeSpan = null; + const view = document.getElementById('view1'); + const occurDiv = document.getElementById('occurrences'); + const occurrences = occurDiv.querySelector('ul'); + const saveBtn = document.getElementById('form-save'); + const refInput = document.getElementById('form-ref'); + const authorityInfo = document.getElementById('authority-info'); + const authorityDialog = document.getElementById('authority-dialog'); + let autoSave = false; + let type = ''; + let text = ''; + let enablePreview = true; - /** - * Display the main form - * - * @param {string} type the annotation type - * @param {any} data properties of the annotation (if any); used to prefill the form - */ - function showForm(type, data) { - form.reset(); - if (autoSave) { - saveBtn.style.display = "none"; - } else { - saveBtn.style.display = ""; - } - form.style.display = ""; - form.querySelectorAll(`.annotation-form:not(.${type})`).forEach((elem) => { - elem.style.display = "none"; - }); - form.querySelectorAll(`.annotation-form.${type}`).forEach((elem) => { - elem.style.display = ""; - }); - occurDiv.style.display = ""; - occurrences.innerHTML = ""; + /** + * Display the main form + * + * @param {string} type the annotation type + * @param {any} data properties of the annotation (if any); used to prefill the form + */ + function showForm(type, data) { + form.reset(); + if (autoSave) { + saveBtn.style.display = 'none'; + } else { + saveBtn.style.display = ''; + } + form.style.display = ''; + form.querySelectorAll(`.annotation-form:not(.${type})`).forEach(elem => { + elem.style.display = 'none'; + }); + form.querySelectorAll(`.annotation-form.${type}`).forEach(elem => { + elem.style.display = ''; + }); + occurDiv.style.display = ''; + occurrences.innerHTML = ''; - if (data) { - Object.keys(data).forEach((key) => { - const field = form.querySelector(`[name="${key}"]`); - if (field) { - field.value = data[key]; - } - }); - form.querySelectorAll('pb-repeat').forEach(repeat => repeat.setData(data)); - } else if (type === 'edit') { - form.querySelector('.annotation-form.edit [name=content]').value = selection; - } - } + if (data) { + Object.keys(data).forEach(key => { + const field = form.querySelector(`[name="${key}"]`); + if (field) { + field.value = data[key]; + } + }); + form.querySelectorAll('pb-repeat').forEach(repeat => repeat.setData(data)); + } else if (type === 'edit') { + form.querySelector('.annotation-form.edit [name=content]').value = selection; + } + } - function hideForm() { - form.style.display = "none"; - occurDiv.style.display = "none"; - } + function hideForm() { + form.style.display = 'none'; + occurDiv.style.display = 'none'; + } - /** - * The user selected an authority entry. - * - * @param {any} data details of the selected authority entry - */ - function authoritySelected(data) { - authorityDialog.close(); - refInput.value = data.properties.ref; - if (autoSave) { - save(); - } - } + /** + * The user selected an authority entry. + * + * @param {any} data details of the selected authority entry + */ + function authoritySelected(data) { + authorityDialog.close(); + refInput.value = data.properties.ref; + if (autoSave) { + save(); + } + } - /** - * Called if user selects or deselects an occurrence - * - * @param {any} data form data - * @param {any} o range data associated with the selected occurrence - * @param {boolean} inBatch true if this is a batch operation - * @returns - */ - function selectOccurrence(data, o, inBatch) { - try { - if (!o.annotated) { - const teiRange = { - type, - properties: data, - context: o.context, - start: o.start, - end: o.end, - text: o.text, - }; - return view.updateAnnotation(teiRange, inBatch); - } else if (data[view.key] !== o[view.key]) { - view.editAnnotation(o.textNode.parentNode, data); - } else { - view.deleteAnnotation(o.textNode.parentNode); - } - } catch (e) { - console.error(e); - return false; - } - } + /** + * Called if user selects or deselects an occurrence + * + * @param {any} data form data + * @param {any} o range data associated with the selected occurrence + * @param {boolean} inBatch true if this is a batch operation + * @returns + */ + function selectOccurrence(data, o, inBatch) { + try { + if (!o.annotated) { + const teiRange = { + type, + properties: data, + context: o.context, + start: o.start, + end: o.end, + text: o.text, + }; + return view.updateAnnotation(teiRange, inBatch); + } + if (data[view.key] !== o[view.key]) { + view.editAnnotation(o.textNode.parentNode, data); + } else { + view.deleteAnnotation(o.textNode.parentNode); + } + } catch (e) { + console.error(e); + return false; + } + } - /** - * Search the text for other potential occurrences of an authority entry - * - * @param {any} info details of the selected authority entry - */ - function findOther(info) { - if (info) { - strings = info.strings || []; - strings.push(text); - } else { - strings = [text]; - } - try { - const occur = view.search(type, strings); - occurrences.innerHTML = ""; - occur.forEach((o) => { - const li = document.createElement("li"); - const cb = document.createElement("paper-checkbox"); - cb._options = o; - cb._info = info; - if (o.annotated && o[view.key] === info.id) { - cb.setAttribute("checked", "checked"); - } - cb.addEventListener("click", () => { - const data = form.serializeForm(); - view.saveHistory(); - selectOccurrence(data, o); - findOther(info); - }); + /** + * Search the text for other potential occurrences of an authority entry + * + * @param {any} info details of the selected authority entry + */ + function findOther(info) { + if (info) { + strings = info.strings || []; + strings.push(text); + } else { + strings = [text]; + } + try { + const occur = view.search(type, strings); + occurrences.innerHTML = ''; + occur.forEach(o => { + const li = document.createElement('li'); + const cb = document.createElement('paper-checkbox'); + cb._options = o; + cb._info = info; + if (o.annotated && o[view.key] === info.id) { + cb.setAttribute('checked', 'checked'); + } + cb.addEventListener('click', () => { + const data = form.serializeForm(); + view.saveHistory(); + selectOccurrence(data, o); + findOther(info); + }); - li.appendChild(cb); - const span = document.createElement("span"); - if (info.id && o[view.key] && o[view.key] !== info.id) { - span.className = "id-warning"; - } - span.innerHTML = o.kwic; - li.appendChild(span); - occurrences.appendChild(li); + li.appendChild(cb); + const span = document.createElement('span'); + if (info.id && o[view.key] && o[view.key] !== info.id) { + span.className = 'id-warning'; + } + span.innerHTML = o.kwic; + li.appendChild(span); + occurrences.appendChild(li); - const mark = span.querySelector('mark'); - mark.addEventListener("mouseenter", () => { - view.scrollTo(o); - }); - mark.addEventListener("mouseleave", () => { - view.hideMarker(); - }); - }); - } catch (e) { - console.error(e); - } - } + const mark = span.querySelector('mark'); + mark.addEventListener('mouseenter', () => { + view.scrollTo(o); + }); + mark.addEventListener('mouseleave', () => { + view.hideMarker(); + }); + }); + } catch (e) { + console.error(e); + } + } - /** - * Apply the current annotation. - */ - function save() { - view.saveHistory(); - const data = form.serializeForm(); - if (!autoSave) { - hideForm(); - } - if (activeSpan) { - window.pbEvents.emit("pb-edit-annotation", "transcription", { - target: activeSpan, - properties: data, - }); - activeSpan = null; - } else { - try { - view.addAnnotation({ - type, - properties: data, - }); - } catch (e) { - document.getElementById('runtime-error-dialog').show('Error', e); - } - } - } + /** + * Apply the current annotation. + */ + function save() { + view.saveHistory(); + const data = form.serializeForm(); + if (!autoSave) { + hideForm(); + } + if (activeSpan) { + window.pbEvents.emit('pb-edit-annotation', 'transcription', { + target: activeSpan, + properties: data, + }); + activeSpan = null; + } else { + try { + view.addAnnotation({ + type, + properties: data, + }); + } catch (e) { + document.getElementById('runtime-error-dialog').show('Error', e); + } + } + } - /** - * Preview the current document with annotations merged in. - * - * @param {any} annotations the current list of annotations - */ - function preview(annotations, doStore) { - const endpoint = document.querySelector("pb-page").getEndpoint(); - const doc = document.getElementById("document1"); - document.getElementById("output").code = ""; - return new Promise((resolve, reject) => { - fetch(`${endpoint}/api/annotations/merge/${doc.path}`, { - method: doStore ? "PUT" : "POST", - mode: "cors", - credentials: "same-origin", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(annotations), - }) - .then((response) => { - if (response.ok) { - return response.json(); - } - if (response.status === 401 || response.status === 403) { - document.getElementById('permission-denied-dialog').show(); - throw new Error(response.statusText); - } - document.getElementById('error-dialog').show(); - throw new Error(response.statusText); - }) - .then((json) => { - const changeList = document.getElementById("changes"); - changeList.innerHTML = ""; - document.getElementById("json").innerText = ''; - document.getElementById("output").code = json.content; - if (doStore) { - window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}`); - window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}.history`); - view.clearHistory(); - hideForm(); - window.pbEvents.emit("pb-refresh", "transcription", { preserveScroll: true }); - } else { - document.getElementById("json").innerText = JSON.stringify(annotations, null, 2); - json.changes.forEach((change) => { - const pre = document.createElement("pb-code-highlight"); - pre.setAttribute("language", "xml"); - pre.textContent = change; - changeList.appendChild(pre); - }); - } - resolve(json.content); - fetch( - `${endpoint}/api/preview?odd=${doc.odd}.odd&base=${encodeURIComponent( - endpoint - )}%2F`, - { - method: "POST", - mode: "cors", - credentials: "same-origin", - headers: { - "Content-Type": "application/xml", - }, - body: json.content, - } - ) - .then((response) => response.text()) - .then((html) => { - const iframe = document.getElementById("html"); - iframe.srcdoc = html; - }); - }); - }); - } + /** + * Preview the current document with annotations merged in. + * + * @param {any} annotations the current list of annotations + */ + function preview(annotations, doStore) { + const endpoint = document.querySelector('pb-page').getEndpoint(); + const doc = document.getElementById('document1'); + document.getElementById('output').code = ''; + return new Promise((resolve, reject) => { + fetch(`${endpoint}/api/annotations/merge/${doc.path}`, { + method: doStore ? 'PUT' : 'POST', + mode: 'cors', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(annotations), + }) + .then(response => { + if (response.ok) { + return response.json(); + } + if (response.status === 401 || response.status === 403) { + document.getElementById('permission-denied-dialog').show(); + throw new Error(response.statusText); + } + document.getElementById('error-dialog').show(); + throw new Error(response.statusText); + }) + .then(json => { + const changeList = document.getElementById('changes'); + changeList.innerHTML = ''; + document.getElementById('json').innerText = ''; + document.getElementById('output').code = json.content; + if (doStore) { + window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}`); + window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}.history`); + view.clearHistory(); + hideForm(); + window.pbEvents.emit('pb-refresh', 'transcription', { + preserveScroll: true, + }); + } else { + document.getElementById('json').innerText = JSON.stringify(annotations, null, 2); + json.changes.forEach(change => { + const pre = document.createElement('pb-code-highlight'); + pre.setAttribute('language', 'xml'); + pre.textContent = change; + changeList.appendChild(pre); + }); + } + resolve(json.content); + fetch(`${endpoint}/api/preview?odd=${doc.odd}.odd&base=${encodeURIComponent(endpoint)}%2F`, { + method: 'POST', + mode: 'cors', + credentials: 'same-origin', + headers: { + 'Content-Type': 'application/xml', + }, + body: json.content, + }) + .then(response => response.text()) + .then(html => { + const iframe = document.getElementById('html'); + iframe.srcdoc = html; + }); + }); + }); + } - /** - * Handler called if user clicks on an annotation action. - * - * @param {HTMLButton} button the button - * @returns - */ - function actionHandler(button) { - if (selection) { - type = button.getAttribute("data-type"); - if (button.classList.contains("toggle")) { - save(); - return; - } - autoSave = false; - if (button.classList.contains("authority")) { - autoSave = true; - window.pbEvents.emit("pb-authority-lookup", "transcription", { - type, - query: selection, - }); - authorityDialog.open(); - } - showForm(type); - text = selection; - activeSpan = null; - } - disableButtons(true); - } + /** + * Handler called if user clicks on an annotation action. + * + * @param {HTMLButton} button the button + * @returns + */ + function actionHandler(button) { + if (selection) { + type = button.getAttribute('data-type'); + if (button.classList.contains('toggle')) { + save(); + return; + } + autoSave = false; + if (button.classList.contains('authority')) { + autoSave = true; + window.pbEvents.emit('pb-authority-lookup', 'transcription', { + type, + query: selection, + }); + authorityDialog.open(); + } + showForm(type); + text = selection; + activeSpan = null; + } + disableButtons(true); + } - /** - * Handler called if user clicks the mark-all occurrences button. - * - * @param {Event} ev event - */ - function markAll(ev) { - ev.preventDefault(); - ev.stopPropagation(); - window.pbEvents.emit("pb-start-update", "transcription", {}); - enablePreview = false; - const data = form.serializeForm(); - const checkboxes = document.querySelectorAll( - "#occurrences li paper-checkbox:not([checked])" - ); - if (checkboxes.length > 0) { - view.saveHistory(); - try { - checkboxes.forEach((cb) => { - cb.checked = selectOccurrence(data, cb._options, true) !== null; - }); - view.refreshMarkers(); - } catch (e) { - console.error(e); - } - findOther(checkboxes[0]._info); - enablePreview = true; - preview(view.annotations); - } - window.pbEvents.emit("pb-end-update", "transcription", {}); - } + /** + * Handler called if user clicks the mark-all occurrences button. + * + * @param {Event} ev event + */ + function markAll(ev) { + ev.preventDefault(); + ev.stopPropagation(); + window.pbEvents.emit('pb-start-update', 'transcription', {}); + enablePreview = false; + const data = form.serializeForm(); + const checkboxes = document.querySelectorAll('#occurrences li paper-checkbox:not([checked])'); + if (checkboxes.length > 0) { + view.saveHistory(); + try { + checkboxes.forEach(cb => { + cb.checked = selectOccurrence(data, cb._options, true) !== null; + }); + view.refreshMarkers(); + } catch (e) { + console.error(e); + } + findOther(checkboxes[0]._info); + enablePreview = true; + preview(view.annotations); + } + window.pbEvents.emit('pb-end-update', 'transcription', {}); + } - hideForm(); + hideForm(); - // apply annotation action - saveBtn.addEventListener("click", () => save()); - // reload source TEI, discarding current annotations - document.getElementById('reload-all').addEventListener('click', () => { - function reload() { - window.pbEvents.emit("pb-refresh", "transcription", { preserveScroll: true }); - hideForm(); - } - if (view.annotations.length > 0) { - document.getElementById('confirm-reload-dialog').confirm() - .then(reload); - } else { - reload(); - } - }); - // reload the preview action - document.getElementById("reload-preview").addEventListener("click", () => preview(view.annotations)); - // undo action - document.getElementById('undo-history').addEventListener('click', () => { - hideForm(); - view.popHistory(); - }); - // save document action - const saveDocBtn = document.getElementById("document-save"); - saveDocBtn.addEventListener("click", () => preview(view.annotations, true)); - if (saveDocBtn.dataset.shortcut) { - window.hotkeys(saveDocBtn.dataset.shortcut, () => preview(view.annotations, true)); - } + // apply annotation action + saveBtn.addEventListener('click', () => save()); + // reload source TEI, discarding current annotations + document.getElementById('reload-all').addEventListener('click', () => { + function reload() { + window.pbEvents.emit('pb-refresh', 'transcription', { + preserveScroll: true, + }); + hideForm(); + } + if (view.annotations.length > 0) { + document.getElementById('confirm-reload-dialog').confirm().then(reload); + } else { + reload(); + } + }); + // reload the preview action + document.getElementById('reload-preview').addEventListener('click', () => preview(view.annotations)); + // undo action + document.getElementById('undo-history').addEventListener('click', () => { + hideForm(); + view.popHistory(); + }); + // save document action + const saveDocBtn = document.getElementById('document-save'); + saveDocBtn.addEventListener('click', () => preview(view.annotations, true)); + if (saveDocBtn.dataset.shortcut) { + window.hotkeys(saveDocBtn.dataset.shortcut, () => preview(view.annotations, true)); + } - // save and download merged TEI to local file - const downloadBtn = document.getElementById('document-download'); - if ('showSaveFilePicker' in window) { - downloadBtn.addEventListener('click', () => { - const doc = document.getElementById("document1"); - getNewFileHandle(doc.getFileName()) - .then((fh) => { - if (verifyPermission(fh, true)) { - preview(view.annotations, true) - .then((xml) => { - writeFile(fh, xml); - }); - } else { - alert('Permission denied to store files locally'); - } - }); - }); - } else { - downloadBtn.style.display = 'none'; - } + // save and download merged TEI to local file + const downloadBtn = document.getElementById('document-download'); + if ('showSaveFilePicker' in window) { + downloadBtn.addEventListener('click', () => { + const doc = document.getElementById('document1'); + getNewFileHandle(doc.getFileName()).then(fh => { + if (verifyPermission(fh, true)) { + preview(view.annotations, true).then(xml => { + writeFile(fh, xml); + }); + } else { + alert('Permission denied to store files locally'); + } + }); + }); + } else { + downloadBtn.style.display = 'none'; + } - // mark-all occurrences action - const markAllBtn = document.getElementById("mark-all"); - if (markAllBtn.dataset.shortcut) { - window.hotkeys(markAllBtn.dataset.shortcut, markAll); - } - markAllBtn.addEventListener("click", markAll); + // mark-all occurrences action + const markAllBtn = document.getElementById('mark-all'); + if (markAllBtn.dataset.shortcut) { + window.hotkeys(markAllBtn.dataset.shortcut, markAll); + } + markAllBtn.addEventListener('click', markAll); - // display configured keyboard shortcuts on mouseover - document.addEventListener('pb-page-ready', () => { - document.querySelectorAll('[data-shortcut]').forEach((elem) => { - const shortcut = elem.dataset.shortcut; + // display configured keyboard shortcuts on mouseover + document.addEventListener('pb-page-ready', () => { + document.querySelectorAll('[data-shortcut]').forEach(elem => { + const { shortcut } = elem.dataset; const keys = shortcut.split(/\s*,\s*/); - let output = keys[0]; - if (navigator.userAgent.indexOf('Mac OS X') === -1) { + let output = keys[0]; + if (navigator.userAgent.indexOf('Mac OS X') === -1) { output = keys[1]; } - const title = elem.getAttribute('title') || ''; - elem.title = `${title} [${output.replaceAll('+', ' ')}]`; - }); - }); + const title = elem.getAttribute('title') || ''; + elem.title = `${title} [${output.replaceAll('+', ' ')}]`; + }); + }); - document.querySelector('#form-ref [slot="prefix"]').addEventListener("click", () => { - window.pbEvents.emit("pb-authority-lookup", "transcription", { - type, - query: text, - }); - authorityDialog.open(); - }); + document.querySelector('#form-ref [slot="prefix"]').addEventListener('click', () => { + window.pbEvents.emit('pb-authority-lookup', 'transcription', { + type, + query: text, + }); + authorityDialog.open(); + }); + + // check if annotations were saved to local storage + const doc = view.getDocument(); + if (doc && doc.path) { + const ranges = window.localStorage.getItem(`tei-publisher.annotations.${doc.path}`); + if (ranges) { + const annotations = JSON.parse(ranges); + if (annotations.length > 0) { + document + .getElementById('restore-dialog') + .confirm() + .then(() => { + console.log('loading annotations from local storage: %o', annotations); + view.annotations = annotations; + const history = window.localStorage.getItem(`tei-publisher.annotations.${doc.path}.history`); + if (history) { + view.clearHistory(JSON.parse(history)); + } + window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}`); + window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}.history`); + preview(annotations); + }); + } + } + } - // check if annotations were saved to local storage - const doc = view.getDocument(); - if (doc && doc.path) { - const ranges = window.localStorage.getItem(`tei-publisher.annotations.${doc.path}`); - if (ranges) { - const annotations = JSON.parse(ranges); - if (annotations.length > 0) { - document.getElementById('restore-dialog').confirm() - .then(() => { - console.log('loading annotations from local storage: %o', annotations); - view.annotations = annotations; - const history = window.localStorage.getItem(`tei-publisher.annotations.${doc.path}.history`); - if (history) { - view.clearHistory(JSON.parse(history)); - } - window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}`); - window.localStorage.removeItem(`tei-publisher.annotations.${doc.path}.history`); - preview(annotations); - }); - } - } - } + /** + * Reference changed: update authority information and search for other occurrences + */ + refInput.addEventListener('value-changed', () => { + const ref = refInput.value; + if (ref && ref.length > 0) { + authorityInfo.innerHTML = `Loading ${ref}...`; + document + .querySelector('pb-authority-lookup') + .lookup(type, refInput.value, authorityInfo) + .then(findOther) + .catch(msg => { + authorityInfo.innerHTML = `Failed to load ${ref}: ${msg}`; + }); + } else { + authorityInfo.innerHTML = ''; + } + }); + /** + * Handle click on one of the toolbar buttons for adding a new annotation. + */ + document.querySelectorAll('.annotation-action').forEach(button => { + const shortcut = button.getAttribute('data-shortcut'); + if (shortcut) { + window.hotkeys(shortcut, ev => { + ev.preventDefault(); + ev.stopPropagation(); + actionHandler(button); + }); + } + button.addEventListener('click', () => { + actionHandler(button); + }); + }); + window.pbEvents.subscribe('pb-authority-select', 'transcription', ev => authoritySelected(ev.detail)); + window.pbEvents.subscribe('pb-selection-changed', 'transcription', ev => { + disableButtons(!ev.detail.hasContent, ev.detail.range); + if (ev.detail.hasContent) { + selection = ev.detail.range.cloneContents().textContent.replace(/\s+/g, ' '); + } + }); + /* Annotations changed: reload the preview panels */ + window.pbEvents.subscribe('pb-annotations-changed', 'transcription', ev => { + const doc = view.getDocument(); + if (doc && doc.path) { + window.localStorage.setItem(`tei-publisher.annotations.${doc.path}`, JSON.stringify(ev.detail.ranges)); + } + if (enablePreview && !ev.detail.refresh) { + preview(ev.detail.ranges); + } + }); + window.pbEvents.subscribe('pb-annotations-history', 'transcription', ev => { + const doc = view.getDocument(); + if (doc && doc.path) { + window.localStorage.setItem( + `tei-publisher.annotations.${doc.path}.history`, + JSON.stringify(view.getHistory()), + ); + } + }); - /** - * Reference changed: update authority information and search for other occurrences - */ - refInput.addEventListener("value-changed", () => { - const ref = refInput.value; - if (ref && ref.length > 0) { - authorityInfo.innerHTML = `Loading ${ref}...`; - document - .querySelector("pb-authority-lookup") - .lookup(type, refInput.value, authorityInfo) - .then(findOther) - .catch((msg) => { - authorityInfo.innerHTML = `Failed to load ${ref}: ${msg}`; - }); - } else { - authorityInfo.innerHTML = ""; - } - }); - /** - * Handle click on one of the toolbar buttons for adding a new annotation. - */ - document.querySelectorAll(".annotation-action").forEach((button) => { - const shortcut = button.getAttribute("data-shortcut"); - if (shortcut) { - window.hotkeys(shortcut, (ev) => { - ev.preventDefault(); - ev.stopPropagation(); - actionHandler(button); - }); - } - button.addEventListener("click", () => { - actionHandler(button); - }); - }); - window.pbEvents.subscribe("pb-authority-select", "transcription", (ev) => - authoritySelected(ev.detail) - ); - window.pbEvents.subscribe("pb-selection-changed", "transcription", (ev) => { - disableButtons(!ev.detail.hasContent, ev.detail.range); - if (ev.detail.hasContent) { - selection = ev.detail.range.cloneContents().textContent.replace(/\s+/g, " "); - } - }); - /* Annotations changed: reload the preview panels */ - window.pbEvents.subscribe("pb-annotations-changed", "transcription", (ev) => { - const doc = view.getDocument(); - if (doc && doc.path) { - window.localStorage.setItem(`tei-publisher.annotations.${doc.path}`, JSON.stringify(ev.detail.ranges)); - } - if (enablePreview && !ev.detail.refresh) { - preview(ev.detail.ranges); - } - }); - window.pbEvents.subscribe('pb-annotations-history', 'transcription', (ev) => { - const doc = view.getDocument(); - if (doc && doc.path) { - window.localStorage.setItem(`tei-publisher.annotations.${doc.path}.history`, JSON.stringify(view.getHistory())); - } - }); - - window.pbEvents.subscribe("pb-annotation-edit", "transcription", (ev) => { - activeSpan = ev.detail.target; - text = activeSpan.textContent.replace(/\s+/g, " "); - type = ev.detail.type; - autoSave = false; - const trigger = document.querySelector(`[data-type=${type}]`); - if (trigger && trigger.classList.contains("authority")) { - autoSave = true; - window.pbEvents.emit("pb-authority-lookup", "transcription", { - type, - query: text, - }); - authorityDialog.open(); - } - showForm(type, ev.detail.properties); - }); + window.pbEvents.subscribe('pb-annotation-edit', 'transcription', ev => { + activeSpan = ev.detail.target; + text = activeSpan.textContent.replace(/\s+/g, ' '); + type = ev.detail.type; + autoSave = false; + const trigger = document.querySelector(`[data-type=${type}]`); + if (trigger && trigger.classList.contains('authority')) { + autoSave = true; + window.pbEvents.emit('pb-authority-lookup', 'transcription', { + type, + query: text, + }); + authorityDialog.open(); + } + showForm(type, ev.detail.properties); + }); - window.pbEvents.subscribe("pb-annotation-detail", "transcription", (ev) => { - switch (ev.detail.type) { - case "note": - const data = JSON.parse(ev.detail.span.dataset.annotation); - ev.detail.container.innerHTML = data.properties.note; - break; - default: - document - .querySelector("pb-authority-lookup") - .lookup(ev.detail.type, ev.detail.id, ev.detail.container) - .catch((msg) => { - const div = document.createElement('div'); - const h = document.createElement('h3'); - if (msg) { - h.innerHTML = msg; - } else { - h.innerHTML = 'Not found'; - } - div.appendChild(h); - const pre = document.createElement('pre'); - pre.className = 'error-notFound'; - const json = JSON.parse(ev.detail.span.dataset.annotation); - pre.innerText = JSON.stringify(json, null, 2); - div.appendChild(pre); - ev.detail.container.innerHTML = ''; - ev.detail.container.appendChild(div); - }); - break; - } - }); + window.pbEvents.subscribe('pb-annotation-detail', 'transcription', ev => { + switch (ev.detail.type) { + case 'note': + const data = JSON.parse(ev.detail.span.dataset.annotation); + ev.detail.container.innerHTML = data.properties.note; + break; + default: + document + .querySelector('pb-authority-lookup') + .lookup(ev.detail.type, ev.detail.id, ev.detail.container) + .catch(msg => { + const div = document.createElement('div'); + const h = document.createElement('h3'); + if (msg) { + h.innerHTML = msg; + } else { + h.innerHTML = 'Not found'; + } + div.appendChild(h); + const pre = document.createElement('pre'); + pre.className = 'error-notFound'; + const json = JSON.parse(ev.detail.span.dataset.annotation); + pre.innerText = JSON.stringify(json, null, 2); + div.appendChild(pre); + ev.detail.container.innerHTML = ''; + ev.detail.container.appendChild(div); + }); + break; + } + }); - // wire the ODD selector for the preview - const oddSelector = document.querySelector('pb-select-odd'); - oddSelector.odd = doc.odd; - window.pbEvents.subscribe('pb-refresh', 'preview', (ev) => { - doc.odd = ev.detail.odd; - }); + // wire the ODD selector for the preview + const oddSelector = document.querySelector('pb-select-odd'); + oddSelector.odd = doc.odd; + window.pbEvents.subscribe('pb-refresh', 'preview', ev => { + doc.odd = ev.detail.odd; + }); }); diff --git a/src/resources/scripts/edep-xml-editor.js b/src/resources/scripts/edep-xml-editor.js new file mode 100644 index 00000000..38d067a3 --- /dev/null +++ b/src/resources/scripts/edep-xml-editor.js @@ -0,0 +1,111 @@ +/** + * @typedef {{label: string, title: string, snippet: string}} Snippet + */ + +/** + * @param {Snippet[]} snippets + */ +const makeToolbarHTML = snippets => ` +
+ + + + ${snippets.map( + ({ title, label, snippet }) => ` `, + )} +
+ `; + +/** + * A jinn-xml-editor preconfigured for EDEP + */ +class EdepXMLEditor extends HTMLElement { + constructor() { + super(); + /** + * @type {string} + */ + this.schemaRoot = ''; + /** + * @type {string} + */ + this.placeholder = ''; + + /** + * @type Snippet[] + */ + this.snippets = []; + + // Constants + this.schema = 'resources/scripts/tei.json'; + this.unwrap = 'unwrap'; + this.namespace = 'http://www.tei-c.org/ns/1.0'; + + this.baseUrl = ''; + + /** + * @type {HTMLElement} + */ + this.jinnXMLEditor = null; + } + + set value(newValue) { + this.jinnXMLEditor.value = newValue; + } + + get value() { + return this.jinnXMLEditor.value; + } + + connectedCallback() { + this.schemaRoot = this.getAttribute('schema-root'); + this.placeholder = this.getAttribute('placeholder'); + this.baseUrl = this.getAttribute('base-url'); + this.snippets = this.hasAttribute('snippets') + ? JSON.parse(this.getAttribute('snippets')) + : [ + { + label: 'ref', + title: 'Insert reference', + snippet: '<ref type="biblio" target="$|1|">$|_|</ref>', + }, + ]; + + this.innerHTML = `${makeToolbarHTML(this.snippets)}`; + + this.jinnXMLEditor = this.firstElementChild; + } +} + +window.customElements.define('edep-xml-editor', EdepXMLEditor); diff --git a/src/resources/scripts/edition.js b/src/resources/scripts/edition.js index 5c6a58cf..e8f3d34b 100644 --- a/src/resources/scripts/edition.js +++ b/src/resources/scripts/edition.js @@ -1,36 +1,35 @@ // Wrapper function function prepareContents() { -// addPinPoint(); - hideFacsimile(); + // addPinPoint(); + hideFacsimile(); } // Function to hide the element function hideFacsimile() { const viewer = document.querySelector('pb-facsimile'); - pbEvents.subscribe('pb-facsimile-status', null, (ev) => { - if (ev.detail.status === 'fail') { - viewer.style.display = 'none'; - } - }); + pbEvents.subscribe('pb-facsimile-status', null, ev => { + if (ev.detail.status === 'fail') { + viewer.style.display = 'none'; + } + }); } // Function to add contents to the map function addPinPoint() { - pbEvents.subscribe('pb-page-ready', null, function () { - const endpoint = document.querySelector("pb-page").getEndpoint(); - const path = document.querySelector("pb-document").getAttribute('path'); - const url = `${endpoint}/api/places/${path.replace("/", "%2F")}/findSpot`; + pbEvents.subscribe('pb-page-ready', null, () => { + const endpoint = document.querySelector('pb-page').getEndpoint(); + const path = document.querySelector('pb-document').getAttribute('path'); + const url = `${endpoint}/api/places/${path.replace('/', '%2F')}/findSpot`; console.log(`fetching places from: ${url}`); - fetch(url).then(function (response) { - return response.json(); - }).then(function (json) { - pbEvents.emit("pb-update-map", "map", json); - - }); - /* const pb = document.querySelector('#map-findSpot') + fetch(url) + .then(response => response.json()) + .then(json => { + pbEvents.emit('pb-update-map', 'map', json); + }); + /* const pb = document.querySelector('#map-findSpot') const map = pb.shadowRoot.querySelector('#map') map.invalidateSize(); */ - }) + }); } -window.addEventListener('WebComponentsReady', prepareContents, false) +window.addEventListener('WebComponentsReady', prepareContents, false); diff --git a/src/resources/scripts/fore/fore-dev.js b/src/resources/scripts/fore/fore-dev.js new file mode 100644 index 00000000..11e28cc4 --- /dev/null +++ b/src/resources/scripts/fore/fore-dev.js @@ -0,0 +1,36095 @@ +/* Version: 2.7.1 - December 4, 2025 12:22:40 */ +function t$2(t, s, r, i) { + const n = { + op: s, + func: r, + data: i + }; + return t.push(n), n; +} +function s$2(t, s) { + return t; +} +class r$2 { + constructor() { + this.program = []; + } + test(s, r) { + return t$2(this.program, 5, s, void 0 === r ? null : r); + } + jump(s) { + return t$2(this.program, 3, null, s); + } + record(r, i) { + return t$2(this.program, 4, void 0 === i ? s$2 : i, r); + } + bad(s = 1) { + return t$2(this.program, 1, null, s); + } + accept() { + return t$2(this.program, 0, null, null); + } + fail(s) { + return t$2(this.program, 2, s || null, null); + } +} +class i$2 { + constructor(t, s, r) { + this.programLength = t, this.maxFromByPc = s, this.maxSurvivorFromByPc = r; + } + static fromProgram(t) { + const s = t.length, + r = [], + n = []; + return t.forEach(t => { + r.push(0), n.push(0); + }), t.forEach((t, i) => { + switch (t.op) { + case 2: + if (null === t.func) return; + if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); + r[i + 1] += 1; + break; + case 1: + case 4: + if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); + r[i + 1] += 1; + break; + case 3: + t.data.forEach(t => { + if (t < 0 || t >= s) throw new Error("Invalid program: program could run past end"); + r[t] += 1; + }); + break; + case 5: + if (i + 1 >= s) throw new Error("Invalid program: program could run past end"); + n[i + 1] += 1; + break; + case 0: + n[i] += 1; + } + }), new i$2(s, r, n); + } + static createStub(t) { + const s = [], + r = []; + for (let i = 0; i < t; ++i) s.push(t), r.push(t); + return new i$2(t, s, r); + } +} +class n$2 { + constructor(t) { + this.acceptingTraces = t, this.success = t.length > 0; + } +} +class h$2 { + constructor(t) { + this.t = 0, this.i = 0, this.h = new Uint16Array(t), this.l = new Uint8Array(t); + } + getBadness(t) { + return this.l[t]; + } + add(t, s) { + this.l[t] = s > 255 ? 255 : s; + const r = function (t, s, r, i, n) { + let h = i, + e = n; + for (; h < e;) { + const i = h + e >>> 1; + r < s[t[i]] ? e = i : h = i + 1; + } + return h; + }(this.h, this.l, s, this.i, this.t); + this.h.copyWithin(r + 1, r, this.t), this.h[r] = t, this.t += 1; + } + reschedule(t, s) { + const r = Math.max(this.l[t], s > 255 ? 255 : s); + if (this.l[t] !== r) { + const s = this.h.indexOf(t, this.i); + if (s < 0 || s >= this.t) return void (this.l[t] = r); + this.h.copyWithin(s, s + 1, this.t), this.t -= 1, this.add(t, r); + } + } + getNextPc() { + return this.i >= this.t ? null : this.h[this.i++]; + } + reset() { + this.t = 0, this.i = 0, this.l.fill(0); + } +} +class e$2 { + constructor(t) { + this.o = []; + let s = t.length; + t.forEach(t => { + this.o.push(t > 0 ? s : -1), s += t; + }), this.u = new Uint16Array(s); + } + clear() { + this.u.fill(0, 0, this.o.length); + } + add(t, s) { + const r = this.u[s], + i = this.o[s]; + this.u[s] += 1, this.u[i + r] = t; + } + has(t) { + return this.u[t] > 0; + } + forEach(t, s) { + const r = this.u[t], + i = this.o[t]; + for (let t = i; t < i + r; ++t) s(this.u[t]); + } +} +function l$2(t, s, r = !1) { + return null === t ? s : Array.isArray(t) ? (-1 === t.indexOf(s) && (r && (t = t.slice()), t.push(s)), t) : t === s ? t : [t, s]; +} +class c$2 { + constructor(t, s) { + this.prefixes = t, this.record = s; + } +} +function o$2(t, s) { + let r; + if (null === s) { + if (!Array.isArray(t)) return t; + r = t; + } else r = t === c$2.EMPTY ? [] : Array.isArray(t) ? t : [t]; + return new c$2(r, s); +} +c$2.EMPTY = new c$2([], null); +class u$2 { + constructor(t) { + this.p = [], this.v = []; + for (let s = 0; s < t; ++s) this.p.push(0), this.v.push(null); + } + mergeTraces(t, s, r, i, n, h) { + let e = !1; + return r.forEach(s, s => { + const r = this.trace(s, i, n, h); + var c, o, u; + o = r, u = e, t = null === (c = t) ? o : null === o ? c : Array.isArray(o) ? o.reduce((t, s) => l$2(t, s, t === o), c) : l$2(c, o, u), e = t === r; + }), t; + } + trace(t, s, r, i) { + switch (this.p[t]) { + case 2: + return this.v[t]; + case 1: + return null; + } + this.p[t] = 1; + let n = null; + const h = s[t]; + if (null !== h) n = h;else if (!r.has(t)) throw new Error("Trace without source at pc " + t); + if (n = this.mergeTraces(n, t, r, s, r, i), null !== n) { + const s = i[t]; + null !== s && (n = o$2(n, s)); + } + return this.v[t] = n, this.p[t] = 2, n; + } + buildSurvivorTraces(t, s, r, i, n) { + for (let h = 0, e = t.length; h < e; ++h) { + if (!r.has(h)) { + s[h] = null; + continue; + } + this.v.fill(null), this.p.fill(0); + const e = this.mergeTraces(null, h, r, t, i, n); + if (null === e) throw new Error("No non-cyclic paths found to survivor " + h); + s[h] = o$2(e, null); + } + this.v.fill(null); + } +} +class a$2 { + constructor(t) { + this.g = [], this.k = [], this.m = [], this.A = new e$2(t.maxFromByPc), this.T = new e$2(t.maxSurvivorFromByPc), this.S = new u$2(t.programLength); + for (let s = 0; s < t.programLength; ++s) this.g.push(null), this.k.push(null), this.m.push(null); + this.k[0] = c$2.EMPTY; + } + reset(t) { + this.A.clear(), this.T.clear(), this.g.fill(null), t && (this.k.fill(null), this.m.fill(null), this.k[0] = c$2.EMPTY); + } + record(t, s) { + this.g[t] = s; + } + has(t) { + return this.A.has(t) || null !== this.k[t]; + } + add(t, s) { + this.A.add(t, s); + } + hasSurvivor(t) { + return this.T.has(t); + } + addSurvivor(t, s) { + this.T.add(t, s); + } + buildSurvivorTraces() { + const t = this.k; + this.S.buildSurvivorTraces(t, this.m, this.T, this.A, this.g), this.k = this.m, this.m = t; + } + getTraces(t) { + const s = t.reduce((t, s) => l$2(t, this.k[s]), null); + return null === s ? [] : Array.isArray(s) ? s : [s]; + } +} +class f$2 { + constructor(t) { + this.I = [], this.N = new h$2(t.programLength), this.M = new h$2(t.programLength), this.P = new a$2(t); + } + reset() { + this.N.reset(), this.N.add(0, 0), this.I.length = 0, this.P.reset(!0); + } + getNextThreadPc() { + return this.N.getNextPc(); + } + step(t, s, r) { + const i = this.P.has(s); + this.P.add(t, s); + const n = this.N.getBadness(t) + r; + i ? this.N.reschedule(s, n) : this.N.add(s, n); + } + stepToNextGeneration(t, s) { + const r = this.P.hasSurvivor(s); + this.P.addSurvivor(t, s); + const i = this.N.getBadness(t); + r ? this.M.reschedule(s, i) : this.M.add(s, i); + } + accept(t) { + this.I.push(t), this.P.addSurvivor(t, t); + } + fail(t) {} + record(t, s) { + this.P.record(t, s); + } + nextGeneration() { + this.P.buildSurvivorTraces(), this.P.reset(!1); + const t = this.N; + t.reset(), this.N = this.M, this.M = t; + } + getAcceptingTraces() { + return this.P.getTraces(this.I); + } +} +class d$2 { + constructor(t) { + this.U = [], this.G = t, this.V = i$2.fromProgram(t), this.U.push(new f$2(this.V)); + } + execute(t, s) { + const r = this.U.pop() || new f$2(this.V); + r.reset(); + const i = t.length; + let h, + e = -1; + do { + let n = r.getNextThreadPc(); + if (null === n) break; + for (++e, h = e >= i ? null : t[e]; null !== n;) { + const t = this.G[n]; + switch (t.op) { + case 0: + null === h ? r.accept(n) : r.fail(n); + break; + case 2: + { + const i = t.func; + if (null === i || i(s)) { + r.fail(n); + break; + } + r.step(n, n + 1, 0); + break; + } + case 1: + r.step(n, n + 1, t.data); + break; + case 5: + if (null === h) { + r.fail(n); + break; + } + if (!(0, t.func)(h, t.data, s)) { + r.fail(n); + break; + } + r.stepToNextGeneration(n, n + 1); + break; + case 3: + { + const s = t.data, + i = s.length; + if (0 === i) { + r.fail(n); + break; + } + for (let t = 0; t < i; ++t) r.step(n, s[t], 0); + break; + } + case 4: + { + const i = (0, t.func)(t.data, e, s); + null != i && r.record(n, i), r.step(n, n + 1, 0); + break; + } + } + n = r.getNextThreadPc(); + } + r.nextGeneration(); + } while (null !== h); + const l = new n$2(r.getAcceptingTraces()); + return r.reset(), this.U.push(r), l; + } +} +function w$2(t) { + const s = new r$2(); + return t(s), new d$2(s.program); +} + +function B$1(A) { + return B => B === A; +} +function a$1(A, B) { + if (null === A || null === B) throw new Error("unescaped hyphen may not be used as a range endpoint"); + if (B < A) throw new Error("character range is in the wrong order"); + return a => A <= a && a <= B; +} +function n$1(A) { + return !0; +} +function e$1() { + return !1; +} +function t$1(A, B) { + return a => A(a) || B(a); +} +function G$1(A, B) { + switch (B.kind) { + case "predicate": + return void A.test(B.value); + case "regexp": + return void r$1(A, B.value, !1); + } +} +function i$1(A, B) { + B.forEach(B => { + !function (A, B) { + const [a, { + min: n, + max: e + }] = B; + if (null !== e) { + for (let B = 0; B < n; ++B) G$1(A, a); + for (let B = n; B < e; ++B) { + const B = A.jump([]); + B.data.push(A.program.length), G$1(A, a), B.data.push(A.program.length); + } + } else if (n > 0) { + for (let B = 0; B < n - 1; ++B) G$1(A, a); + const B = A.program.length; + G$1(A, a), A.jump([B]).data.push(A.program.length); + } else { + const B = A.program.length, + n = A.jump([]); + n.data.push(A.program.length), G$1(A, a), A.jump([B]), n.data.push(A.program.length); + } + }(A, B); + }); +} +function r$1(A, B, a) { + const n = A.program.length, + e = A.jump([]); + a && (e.data.push(A.program.length), A.test(() => !0), A.jump([n])); + const t = []; + if (B.forEach(B => { + e.data.push(A.program.length), i$1(A, B), t.push(A.jump([])); + }), t.forEach(B => { + B.data.push(A.program.length); + }), a) { + const B = A.program.length, + a = A.jump([]); + a.data.push(A.program.length), A.test(() => !0), A.jump([B]), a.data.push(A.program.length); + } +} +function o$1(A, B) { + return { + success: !0, + offset: A, + value: B + }; +} +function l$1(A) { + return o$1(A, void 0); +} +function H$1(A, B, a = !1) { + return { + success: !1, + offset: A, + expected: B, + fatal: a + }; +} +function C$1(A) { + return (B, a) => { + const n = a + A.length; + return B.slice(a, n) === A ? o$1(n, A) : H$1(a, [A]); + }; +} +function u$1(A, B) { + return (a, n) => { + const e = A(a, n); + return e.success ? o$1(e.offset, B(e.value)) : e; + }; +} +function s$1(A, B, a, n) { + return (e, t) => { + const G = A(e, t); + return G.success ? B(G.value) ? G : H$1(t, a, n) : G; + }; +} +function c$1(A, B) { + return (a, n) => { + let e = null; + for (const t of A) { + const A = t(a, n); + if (A.success) return A; + if (null === e || A.offset > e.offset ? e = A : A.offset === e.offset && void 0 === B && (e.expected = e.expected.concat(A.expected)), A.fatal) return A; + } + return B = B || (null == e ? void 0 : e.expected) || [], e && (e.expected = B), e || H$1(n, B); + }; +} +function D$1(A) { + return (B, a) => { + const n = A(B, a); + return n.success || n.fatal ? n : o$1(a, null); + }; +} +function m$1(A) { + return (B, a) => { + let n = [], + e = a; + for (;;) { + const a = A(B, e); + if (!a.success) { + if (a.fatal) return a; + break; + } + if (n.push(a.value), a.offset === e) break; + e = a.offset; + } + return o$1(e, n); + }; +} +function I$1(A, B, a) { + return (n, e) => { + const t = A(n, e); + if (!t.success) return t; + const G = B(n, t.offset); + return G.success ? o$1(G.offset, a(t.value, G.value)) : G; + }; +} +function d$1(A) { + return I$1(A, m$1(A), (A, B) => [A].concat(B)); +} +function h$1(A, B) { + return A; +} +function p$1(A, B) { + return B; +} +function T(A, B) { + return I$1(A, B, p$1); +} +function F$1(A, B) { + return I$1(A, B, h$1); +} +function E$1(A, B, a, n = !1) { + return T(A, n ? f$1(F$1(B, a)) : F$1(B, a)); +} +function g$1(A, B) { + return (a, n) => A(a, n).success ? H$1(n, B) : l$1(n); +} +function f$1(A) { + return (B, a) => { + const n = A(B, a); + return n.success ? n : H$1(n.offset, n.expected, !0); + }; +} +const P$1 = (A, B) => A.length === B ? l$1(B) : H$1(B, ["end of input"]); +const M$1 = ["Lu", "Ll", "Lt", "Lm", "Lo", "Mn", "Mc", "Me", "Nd", "Nl", "No", "Pc", "Pd", "Ps", "Pe", "Pi", "Pf", "Po", "Zs", "Zl", "Zp", "Sm", "Sc", "Sk", "So", "Cc", "Cf", "Co", "Cn"]; +const J$1 = {}; +function S$1(A) { + return A.codePointAt(0); +} +"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach((A, B) => { + J$1[A] = B; +}); +const K$1 = A => -1 === A || -2 === A; +function b$1(A) { + return B => !K$1(B) && !A(B); +} +function y$1(A, B) { + return null === B ? A : a => A(a) && !B(a); +} +const Q = function (A, B) { + const n = new Map(); + let e = 0; + return A.forEach((A, G) => { + const i = B[G]; + null !== A && A.split("|").forEach(A => { + const B = n.get(A), + G = a$1(e, e + i - 1); + n.set(A, B ? t$1(B, G) : G); + }), e += i; + }), n; + }(["BasicLatin", "Latin-1Supplement", "LatinExtended-A", "LatinExtended-B", "IPAExtensions", "SpacingModifierLetters", "CombiningDiacriticalMarks", "GreekandCoptic|Greek", "Cyrillic", "CyrillicSupplement", "Armenian", "Hebrew", "Arabic", "Syriac", "ArabicSupplement", "Thaana", "NKo", "Samaritan", "Mandaic", "SyriacSupplement", "ArabicExtended-B", "ArabicExtended-A", "Devanagari", "Bengali", "Gurmukhi", "Gujarati", "Oriya", "Tamil", "Telugu", "Kannada", "Malayalam", "Sinhala", "Thai", "Lao", "Tibetan", "Myanmar", "Georgian", "HangulJamo", "Ethiopic", "EthiopicSupplement", "Cherokee", "UnifiedCanadianAboriginalSyllabics", "Ogham", "Runic", "Tagalog", "Hanunoo", "Buhid", "Tagbanwa", "Khmer", "Mongolian", "UnifiedCanadianAboriginalSyllabicsExtended", "Limbu", "TaiLe", "NewTaiLue", "KhmerSymbols", "Buginese", "TaiTham", "CombiningDiacriticalMarksExtended", "Balinese", "Sundanese", "Batak", "Lepcha", "OlChiki", "CyrillicExtended-C", "GeorgianExtended", "SundaneseSupplement", "VedicExtensions", "PhoneticExtensions", "PhoneticExtensionsSupplement", "CombiningDiacriticalMarksSupplement", "LatinExtendedAdditional", "GreekExtended", "GeneralPunctuation", "SuperscriptsandSubscripts", "CurrencySymbols", "CombiningDiacriticalMarksforSymbols|CombiningMarksforSymbols", "LetterlikeSymbols", "NumberForms", "Arrows", "MathematicalOperators", "MiscellaneousTechnical", "ControlPictures", "OpticalCharacterRecognition", "EnclosedAlphanumerics", "BoxDrawing", "BlockElements", "GeometricShapes", "MiscellaneousSymbols", "Dingbats", "MiscellaneousMathematicalSymbols-A", "SupplementalArrows-A", "BraillePatterns", "SupplementalArrows-B", "MiscellaneousMathematicalSymbols-B", "SupplementalMathematicalOperators", "MiscellaneousSymbolsandArrows", "Glagolitic", "LatinExtended-C", "Coptic", "GeorgianSupplement", "Tifinagh", "EthiopicExtended", "CyrillicExtended-A", "SupplementalPunctuation", "CJKRadicalsSupplement", "KangxiRadicals", null, "IdeographicDescriptionCharacters", "CJKSymbolsandPunctuation", "Hiragana", "Katakana", "Bopomofo", "HangulCompatibilityJamo", "Kanbun", "BopomofoExtended", "CJKStrokes", "KatakanaPhoneticExtensions", "EnclosedCJKLettersandMonths", "CJKCompatibility", "CJKUnifiedIdeographsExtensionA", "YijingHexagramSymbols", "CJKUnifiedIdeographs", "YiSyllables", "YiRadicals", "Lisu", "Vai", "CyrillicExtended-B", "Bamum", "ModifierToneLetters", "LatinExtended-D", "SylotiNagri", "CommonIndicNumberForms", "Phags-pa", "Saurashtra", "DevanagariExtended", "KayahLi", "Rejang", "HangulJamoExtended-A", "Javanese", "MyanmarExtended-B", "Cham", "MyanmarExtended-A", "TaiViet", "MeeteiMayekExtensions", "EthiopicExtended-A", "LatinExtended-E", "CherokeeSupplement", "MeeteiMayek", "HangulSyllables", "HangulJamoExtended-B", "HighSurrogates", "HighPrivateUseSurrogates", "LowSurrogates", "PrivateUseArea|PrivateUse", "CJKCompatibilityIdeographs", "AlphabeticPresentationForms", "ArabicPresentationForms-A", "VariationSelectors", "VerticalForms", "CombiningHalfMarks", "CJKCompatibilityForms", "SmallFormVariants", "ArabicPresentationForms-B", "HalfwidthandFullwidthForms", "Specials", "LinearBSyllabary", "LinearBIdeograms", "AegeanNumbers", "AncientGreekNumbers", "AncientSymbols", "PhaistosDisc", null, "Lycian", "Carian", "CopticEpactNumbers", "OldItalic", "Gothic", "OldPermic", "Ugaritic", "OldPersian", null, "Deseret", "Shavian", "Osmanya", "Osage", "Elbasan", "CaucasianAlbanian", "Vithkuqi", null, "LinearA", "LatinExtended-F", null, "CypriotSyllabary", "ImperialAramaic", "Palmyrene", "Nabataean", null, "Hatran", "Phoenician", "Lydian", null, "MeroiticHieroglyphs", "MeroiticCursive", "Kharoshthi", "OldSouthArabian", "OldNorthArabian", null, "Manichaean", "Avestan", "InscriptionalParthian", "InscriptionalPahlavi", "PsalterPahlavi", null, "OldTurkic", null, "OldHungarian", "HanifiRohingya", null, "RumiNumeralSymbols", "Yezidi", "ArabicExtended-C", "OldSogdian", "Sogdian", "OldUyghur", "Chorasmian", "Elymaic", "Brahmi", "Kaithi", "SoraSompeng", "Chakma", "Mahajani", "Sharada", "SinhalaArchaicNumbers", "Khojki", null, "Multani", "Khudawadi", "Grantha", null, "Newa", "Tirhuta", null, "Siddham", "Modi", "MongolianSupplement", "Takri", null, "Ahom", null, "Dogra", null, "WarangCiti", "DivesAkuru", null, "Nandinagari", "ZanabazarSquare", "Soyombo", "UnifiedCanadianAboriginalSyllabicsExtended-A", "PauCinHau", "DevanagariExtended-A", null, "Bhaiksuki", "Marchen", null, "MasaramGondi", "GunjalaGondi", null, "Makasar", "Kawi", null, "LisuSupplement", "TamilSupplement", "Cuneiform", "CuneiformNumbersandPunctuation", "EarlyDynasticCuneiform", null, "Cypro-Minoan", "EgyptianHieroglyphs", "EgyptianHieroglyphFormatControls", null, "AnatolianHieroglyphs", null, "BamumSupplement", "Mro", "Tangsa", "BassaVah", "PahawhHmong", null, "Medefaidrin", null, "Miao", null, "IdeographicSymbolsandPunctuation", "Tangut", "TangutComponents", "KhitanSmallScript", "TangutSupplement", null, "KanaExtended-B", "KanaSupplement", "KanaExtended-A", "SmallKanaExtension", "Nushu", null, "Duployan", "ShorthandFormatControls", null, "ZnamennyMusicalNotation", null, "ByzantineMusicalSymbols", "MusicalSymbols", "AncientGreekMusicalNotation", null, "KaktovikNumerals", "MayanNumerals", "TaiXuanJingSymbols", "CountingRodNumerals", null, "MathematicalAlphanumericSymbols", "SuttonSignWriting", null, "LatinExtended-G", "GlagoliticSupplement", "CyrillicExtended-D", null, "NyiakengPuachueHmong", null, "Toto", "Wancho", null, "NagMundari", null, "EthiopicExtended-B", "MendeKikakui", null, "Adlam", null, "IndicSiyaqNumbers", null, "OttomanSiyaqNumbers", null, "ArabicMathematicalAlphabeticSymbols", null, "MahjongTiles", "DominoTiles", "PlayingCards", "EnclosedAlphanumericSupplement", "EnclosedIdeographicSupplement", "MiscellaneousSymbolsandPictographs", "Emoticons", "OrnamentalDingbats", "TransportandMapSymbols", "AlchemicalSymbols", "GeometricShapesExtended", "SupplementalArrows-C", "SupplementalSymbolsandPictographs", "ChessSymbols", "SymbolsandPictographsExtended-A", "SymbolsforLegacyComputing", null, "CJKUnifiedIdeographsExtensionB", null, "CJKUnifiedIdeographsExtensionC", "CJKUnifiedIdeographsExtensionD", "CJKUnifiedIdeographsExtensionE", "CJKUnifiedIdeographsExtensionF", null, "CJKCompatibilityIdeographsSupplement", null, "CJKUnifiedIdeographsExtensionG", "CJKUnifiedIdeographsExtensionH", null, "Tags", null, "VariationSelectorsSupplement", null, "SupplementaryPrivateUseArea-A|PrivateUse", "SupplementaryPrivateUseArea-B|PrivateUse"], [128, 128, 128, 208, 96, 80, 112, 144, 256, 48, 96, 112, 256, 80, 48, 64, 64, 64, 32, 16, 48, 96, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 256, 160, 96, 256, 384, 32, 96, 640, 32, 96, 32, 32, 32, 32, 128, 176, 80, 80, 48, 96, 32, 32, 144, 80, 128, 64, 64, 80, 48, 16, 48, 16, 48, 128, 64, 64, 256, 256, 112, 48, 48, 48, 80, 64, 112, 256, 256, 64, 32, 160, 128, 32, 96, 256, 192, 48, 16, 256, 128, 128, 256, 256, 96, 32, 128, 48, 80, 96, 32, 128, 128, 224, 16, 16, 64, 96, 96, 48, 96, 16, 32, 48, 16, 256, 256, 6592, 64, 20992, 1168, 64, 48, 320, 96, 96, 32, 224, 48, 16, 64, 96, 32, 48, 48, 32, 96, 32, 96, 32, 96, 32, 48, 64, 80, 64, 11184, 80, 896, 128, 1024, 6400, 512, 80, 688, 16, 16, 16, 32, 32, 144, 240, 16, 128, 128, 64, 80, 64, 48, 128, 32, 64, 32, 48, 32, 48, 32, 64, 32, 80, 48, 48, 80, 48, 64, 80, 64, 384, 64, 64, 64, 32, 32, 48, 48, 32, 32, 32, 64, 32, 96, 96, 32, 32, 32, 64, 64, 32, 32, 48, 80, 80, 48, 128, 64, 288, 32, 64, 64, 48, 64, 64, 48, 32, 128, 80, 48, 80, 48, 96, 32, 80, 48, 48, 80, 128, 128, 128, 96, 160, 128, 96, 32, 80, 48, 80, 176, 80, 80, 96, 96, 64, 96, 80, 96, 16, 64, 96, 160, 112, 80, 64, 96, 80, 304, 32, 96, 80, 16, 64, 1024, 128, 208, 2624, 112, 1072, 48, 4e3, 640, 8576, 576, 48, 96, 48, 144, 688, 96, 96, 160, 64, 32, 6144, 768, 512, 128, 8816, 16, 256, 48, 64, 400, 2304, 160, 16, 4688, 208, 48, 256, 256, 80, 112, 32, 32, 96, 32, 128, 1024, 688, 1104, 256, 48, 96, 112, 80, 320, 48, 64, 464, 48, 736, 32, 224, 32, 96, 784, 80, 64, 80, 176, 256, 256, 48, 112, 96, 256, 256, 768, 80, 48, 128, 128, 128, 256, 256, 112, 144, 256, 1024, 42720, 32, 4160, 224, 5776, 7488, 3088, 544, 1504, 4944, 4192, 711760, 128, 128, 240, 65040, 65536, 65536]), + x$1 = function (A) { + const n = new Map(), + G = A.split(""), + i = M$1.map(() => []); + let r = 0, + o = 0; + for (; o < G.length;) { + const A = J$1[G[o]], + n = (31 & A) - 2; + let e = 1 + J$1[G[o + 1]]; + switch (32 & A ? (e += J$1[G[o + 2]] << 6, e += J$1[G[o + 3]] << 12, e += J$1[G[o + 4]] << 18, o += 5) : o += 2, n) { + case -2: + { + let A = 0; + for (let a = r; a < r + e; ++a) { + i[A].push(B$1(a)), A = (A + 1) % 2; + } + break; + } + case -1: + break; + default: + { + const A = i[n]; + 1 === e ? A.push(B$1(r)) : A.push(a$1(r, r + e - 1)); + break; + } + } + r += e; + } + const l = new Map(); + return M$1.forEach((A, B) => { + const a = i[B].reduce(t$1, e$1); + n.set(A, a); + const G = A.charAt(0), + r = l.get(G) || []; + l.set(G, r), r.push(a); + }), l.forEach((A, B) => { + n.set(B, A.reduce(t$1, e$1)); + }), n; + }("bfUATCYATCPAQATAXATAOATBKJTBXCTBCZPATAQAZANAZADZPAXAQAXAbgUATAYDaATAZAaAGARAXAcAaAZAaAXAMBZADATBZAMAGASAMCTACWXACGDXXADHA3DAAPDAAtCAAFDBCAADCAABCCDBCCABCAABCCDCCAABCAAFCAADDAABCAABCBADCBDBGACADCGDCAEADACAEADACAEADAAPDAARDACAEADAABCBA7DFCAABCBDBABCCAJjDBAAGADaFRZDFLZNFEZGFAZAFAZQnvBAAADFAZACADABBFADCTACABDZBCATACCBACABACAABCQBACIDiCADBCCDCAXDDCADAXAABCBDBCyDvAhaAHEJBA1CAANDAgfBAABAClBBFATFDoTAOABBaBYABAHsOAHATAHBTAHBTAHABHGaBDGDTBBKcFXCTBYATBaBHKTAcATCGfFAGJHUKJTDGBHAmiBAATAGAHGcAaAHFFBHBaAHDGBKJGCaBGATNBAcAGAHAGdHaBBmYBAAHKGABNKJGgHIFBaATCFABBHAYBGVHDFAHIFAHCFAHEBBTOBAGYHCBBTABAGKBEGXZAGFBAcBBFHHGoFAHXcAHfIAG1HAIAHAGAICHHIDHAIBGAHGGJHBTBKJTAFAGOHAIBBAGHBBGBBBGVBAGGBAGABCGDBBHAGAICHDBBIBBBIBHAGABHIABDGBBAGCHBBBKJGBYBMFaAYAGATAHABBHBIABAGFBDGBBBGVBAGGBAGBBAGBBAGBBBHABAICHBBDHBBBHCBCHABGGDBAGABGKJHBGCHATABJHBIABAGIBAGCBAGVBAGGBAGBBAGEBBHAGAICHEBAHBIABAIBHABBGABOGBHBBBKJTAYABGGAHFBAHAIBBAGHBBGBBBGVBAGGBAGBBAGEBBHAGAIAHAIAHDBBIBBBIBHABGHBIABDGBBAGCHBBBKJaAGAMFBJHAGABAGFBCGCBAGDBCGBBAGABAGBBCGBBCGCBCGLBDIBHAIBBCICBAICHABBGABFIABNKJMCaFYAaABEHAICHAGHBAGCBAGWBAGPBBHAGAHCIDBAHCBAHDBGHBBAGCBBGABBGBHBBBKJBGTAMGaAGAHAIBTAGHBAGCBAGWBAGJBAGEBBHAGAIAHAIEBAHAIBBAIBHBBGIBBFGBBAGBHBBBKJBAGBIABLHBIBGIBAGCBAGoHBGAICHDBAICBAICHAGAaABDGCIAMGGCHBBBKJMIaAGFBAHAIBBAGRBCGXBAGIBAGABBGGBCHABDICHCBAHABAIHBFKJBBIBTABLGvHAGBHGBDYAGFFAHHTAKJTBBkGBBAGABAGEBAGXBAGABAGJHAGBHIGABBGEBAFABAHGBAKJBBGDBfGAaCTOaATAaCHBaFKJMJaAHAaAHAaAHAPAQAPAQAIBGHBAGjBDHNIAHETAHBGEHKBAHjBAaHHAaFBAaBTEaDTBBkGqIBHDIAHFIAHBIBHBGAKJTFGFIBHBGDHCGAICGBIGGCHDGMHAIBHBIFHAGAIAKJICHAaBClBACABECABBDqTAFADCmIFAABAGDBBGGBAGABAGDBBGoBAGDBBGgBAGDBBGGBAGABAGDBBGOBAG4BAGDBBmCBAABBHCTIMTBCGPaJBFiVBAABBDFBBOAmrJAAaATAGQUAGZPAQABCmKBAATCLCGHBGGRHCIABIGSHBIATBBIGRHBBLGMBAGCBAHBBLGzHBIAHGIHHAIBHKTCFATCYAGAHABBKJBFMJBFTFOATDHCcAHAKJBFGiFAG0BGGEHBGhHAGABEmFBAABJGeBAHCIDHBICBDIBHAIFHCBDaABCTBKJGdBBGEBKGrBDGZBFKJMABCahGWHBIBHABBTBG0IAHAIAHGBAHAIAHAIBHHIFHJBBHAKJBFKJBFTGFATFBBHNJAHPBwHDIAGuHAIAHEIAHAIEHAIBGHBCKJTGaJHIaITBBAHBIAGdIAHDIBHBIAHCGBKJGrHAIAHBICHAIAHCIBBHTDGjIHHHIBHBBCTEKJBCGCKJGdFFTBDIBGCqBBCCTHBHHCTAHMIAHGGDHAGFHAGBIAHBGABEDrF+DMFADhFkH/gVCAADHghBAADHCHDFBBCFBBDHCHDHCHDFBBCFBBDHBACABACABACABACADHCHDNBBDHEHDHEHDHEHDEBADBCDEAZADAZCDCBADBCDEAZCDDBBDBCDBAZCDHCEZCBBDCBADBCDEAZBBAUKcEOFTBRASAPARBSAPARATHVAWAcEUATIRASATDNBTCXAPAQATKXATANATJUAcEBAcJMAFABBMFXCPAQAFAMJXCPAQABAFMBCYgBOHMJDHAJCHLBOaBCAaDCAaBDACCDBCCDAaACAaBXACEaFCAaACAaACAaACDaADACDDAGDDAaBDBCBXECADDaAXAaBDAaAMPLiCADALDMAaBBDXEaEXBaDXAaBXAaBXAaGXAaeXBaBXAaAXAae3LEAAaHPAQAPAQAaTXBaGPAQA6QBAAXAadXYanXF6EBAABYaKBUM76NBAAMV62CAAXAaIXAa1XH6uBAAXA63DAAPAQAPAQAPAQAPAQAPAQAPAQAPAQAMdarXEPAQAXePAQAPAQAPAQAPAQAPAQAXP6/DAA3CCAAPAQAPAQAPAQAPAQAPAQAPAQAPAQAPAQAPAQAPAQAPAQAX+PAQAPAQAXfPAQA3BEAAavXUaBXFamBBafBA6oBAACvDvABCCDBAFCCADDACADFFBCBgjBAADAaFADHCCADABETDMATBDlBADABEDABBG3BGFATABNHAGWBIGGBAGGBAGGBAGGBAGGBAGGBAGGBAGGBAHfTBRASARASATCRASATARASATIOATBOATARASATBRASAPAQAPAQAPAQAPAQATEFATJOBTDOATAPATMaBTCPAQAPAQAPAQAPAQAOABhaZBA6YBAABL6VDAABZaLBDUATCaAFAGALAPAQAPAQAPAQAPAQAPAQAaBPAQAPAQAPAQAPAQAOAPAQBaALIHDIBOAFEaBLCFAGATAaBBAmVBAABBHBZBFBGAOAmZBAATAFCGABEGqBAmdBAABAaBMDaJGfajBLGPaeBAMJadMHaAMOafMJamMO6/EAAm/mBAa/mUIFAFAm2RAABCa2BIGnFFTBmLEAAFATCGPKJGBBTAtGAHAJCTAHJTAFAAbFBHBmFBAALJHBTFBHZWFIZBANDBA9FADHADCAAJFAZBADGAADDBATCDABCDAPCCADBECADABADABADAADBXFCCADAGAFBDAGGHAGCHAGDHAGWIBHBIAaDHABCMFaBYAaABFGzTDBHIBGxIPHBBHTBKJBFHRGFTCGATAGBHAKJGbHHTBGWHKIBBKTAGcBCHCIAGuHAIBHDIBHBICTMBAFAKJBDTBGEHAFAGIKJGEBAGoHFIBHBIBHBBIGCHAGHHAIABBKJBBTDGPFAGFaCGAIAHAIAGxHAGAHCGBHBGEHBGAHAGABXGBFATBGKIAHBIBTBGAFBIAHABJGFBBGFBBGFBIGGBAGGBADqZAFDDIFAZBBDjPBAAGiIBHAIBHAIBTAIAHABBKJBFmjuCABLGWBDGwhDgAA9/jBAmtFAABBmpBAABlDGBLDEBEGAHAGJXAGMBAGEBAGABAGBBAGBBAmrBAAZQBPmqFAAQAPAaPG/BBG1BGaABfGLYAaCHPTGPAQATABFHPTAOBNBPAQAPAQAPAQAPAQAPAQAPAQAPAQAPAQATBPAQATDNCTCBATDOAPAQAPAQAPAQATCXAOAXCBATAYATBBDGEBAmGCAABBcABATCYATCPAQATAXATAOATBKJTBXCTBCZPATAQAZANAZADZPAXAQAXAPAQATAPAQATBGJFAGsFBGeBCGFBBGFBBGFBBGCBCYBXAZAaAYBBAaAXDaBBJcCaBBBGLBAGZBAGSBAGBBAGOBBGNBhm6BAABETCBDMsBCaIL0MDaQMBaCBAaMBCaABuasHAhBCAAGcBCGwBOHAMaBDGfMDBIGTLAGHLABEGlHEBEGdBATAGjBDGHTALEBpCnDnmNBAABBKJBFCjBDDjBDGnBHGzBKTACKBACOBACGBACBBADKBADOBADGBADBhCBAAm2EAABIGVBJGHBXFFBAFpBAFIhEBAAGFBBGABAGrBAGBBCGABBGWBATAMHGWaBMGGeBHMIBvGSBAGBBEMEGVMFBCTAGZBETAB/G3BDMBGBMPBBMtGAHCBAHBBEHDGDBAGCBAGcBBHCBDHAMIBGTIBGGcMBTAGcMCBfGHaAGbHBBDMETGBIG1BCTGGVBBMHGSBEMHGRBGTDBLMGhPBAAmIBAAB2CyBMDyBGMFGjHDBHKJhlEAAMeBAGpBAHBOABBGBhKBAAHCGcMJGABHGVHKMDTEBVGRHDTDBlGUMGBTGWBIIAHAIAG0HOTGBDMTKJHAGBHBGABIHCIAGsICHDIBHBTBcATDHABJcABBGYBGKJBFHCGjHEIAHHBAKJTDGAIBGABHGiHATBGABIHBIAGvICHIIBGDTDHDTAIAHAKJGATAGATCBAMTBKGRBAGYICHCIBHAIAHBTFHAGBHAB9GGBAGABAGDBAGOBAGJTABFGuHAICHHBEKJBFHBIBBAGHBBGBBBGVBAGGBAGBBAGEBAHBGAIBHAIDBBIBBBICBBGABFIABEGEIBBBHGBCHEhKCAAG0ICHHIBHCIAHAGDTEKJTBBATAHAGCBdGvICHFIAHAIDHBIAHBGBTAGABHKJhlCAAGuICHDBBIDHBIAHBTWGDHBBhGvICHHIBHAIAHBTCGABKKJBFTMBSGqHAIAHAIBHFIAHAGATABFKJB1GaBBHCIBHDIAHEBDKJMBTCaAGGh4CAAGrICHIIAHBTAhjBAACfDfKJMIBLGHBBGABBGHBAGBBAGXIFBAIBBBHBIAHAGAIAGAIAHATCBIKJhFBAAGHBBGmICHDBBHBIDHAGATAGAIABaGAHJGnHFIAGAHDTHHABHGAHFIBHCGtHMIAHBTCGATEBMmIBAABGTJh1DAAGIBAGkIAHGBAHFIAHAGATEBJKJMSBCTBGdBBHVBAIAHGIAHBIAHBhIBAAGGBAGBBAGlHFBCHABAHBBAHGGAHABHKJBFGFBAGBBAGfIEBAHBBAIBHAIAHAGABGKJh1EAAGSHBIBTBBGHBGAIAGMBAGhIBHEBCIBHAIAHATMKJhVBAAGABOMUaHYDaQBMTAmZOAAhlBAAruBAABATEBKmDDAAhLpAAmgBAATBBMmvQAAcPHAGFHOhp+AAmGJAAh4GCAm4IAABGGeBAKJBDTBmOBAABAKJBFGdBBHETABJGvHGTEaDFDTAaABJKJBAMGBAGUBEGShvKAACfDfMWTDhkBAAmKBAABDHAGAI2BGHDFMB/FBTAFAHABKIBBNm3fBABHmVTAABpGIhmLCAFDBAFGBAFBBAmiEAABOGABcGCBBGABNGDBHmLGAAhDkAAmqBAABEGMBCGIBGGJBBaAHBTAcDhbJBAHtBBHWBI6zBAAB761DAABJamBBa7IBHCaCIFcHHHaBHGadHDa8BU6BBAAHCaAh5BAAMTBLMTBL6WBAABIMYhGCAACZDZCZDGBADRCZDZCABACBBBCABBCBBBCDBACHDDBADABADGBADKCZDZCBBACDBBCHBACGBADZCBBACDBACEBACABCCGBADZCZDZCZDZCZDZCZDZCZDZCZDbBBCYXADYXADFCYXADYXADFCYXADYXADFCYXADYXADFCYXADYXADFCADABBKx6/HAAH2aDHxaHHAaNHAaBTEBOHEBAHOhPRAADJGADTBFDFhUDAAHGBAHQBBHGBAHBBAHEBEF9BgHAhvBAAGsBCHGFGBBKJBDGAaAh/EAAGdHABQGrHDKJBEYAhPHAAGaFAHDKJhlLAAGGBAGDBAGBBAGOBAmEDAABBMIHGBoChDhHGFABDKJBDTBhQMAAM6aAMCYAMDhLBAAMsaAMOhBDAAGDBAGaBAGBBAGABBGABAGJBAGDBAGABAGABFGABDGABAGABAGABAGCBAGBBAGABBGABAGABAGABAGABAGABAGBBAGABBGDBAGGBAGDBAGDBAGABAGJBAGQBEGCBAGEBAGQBzXBhNEAAarBD6jBAABLaOBBaOBAaOBAakBJMM6gCAAB3acBMarBDaIBGaBBNaFhZCAA66DAAZE6XLAABDaQBCaMBC62BAABD6eBAABFaLBDaABOaLBDa3BHaJBFanBHadBBaBhNBAA6TFAABLaNBBaMBCaIBGatBAaGBHaNBDaIBGaIBG6SCAABAa2BkKJhFQAAmfbKABfm5ABABFmdDAABBmBaBABNmw0BAhewAAmdIAAhhXAAmKNBABEmfBBAhQxtCcABd8fBAAh/BAAnvDAAhP4PA99/PABB99/PA"); +function L$1(A) { + return 32 === A || 9 === A || 10 === A || 13 === A; +} +const X = [B$1(S$1(":")), a$1(S$1("A"), S$1("Z")), B$1(S$1("_")), a$1(S$1("a"), S$1("z")), a$1(192, 214), a$1(216, 246), a$1(192, 214), a$1(216, 246), a$1(248, 767), a$1(880, 893), a$1(895, 8191), a$1(8204, 8205), a$1(8304, 8591), a$1(11264, 12271), a$1(12289, 55295), a$1(63744, 64975), a$1(65008, 65533), a$1(65536, 983039)].reduce(t$1), + Z = [X, B$1(S$1("-")), B$1(S$1(".")), a$1(S$1("0"), S$1("9")), B$1(183), a$1(768, 879), a$1(8255, 8256)].reduce(t$1), + O = x$1.get("Nd"), + k$1 = b$1(O), + N$1 = y$1(a$1(0, 1114111), [x$1.get("P"), x$1.get("Z"), x$1.get("C")].reduce(t$1)), + v$1 = b$1(N$1); +function w$1(A) { + return 10 !== A && 13 !== A && !K$1(A); +} +const Y = { + s: L$1, + S: b$1(L$1), + i: X, + I: b$1(X), + c: Z, + C: b$1(Z), + d: O, + D: k$1, + w: N$1, + W: v$1 + }, + U = C$1("*"), + j$1 = C$1("\\"), + R = C$1("{"), + V = C$1("}"), + W = C$1("["), + q$1 = C$1("]"), + z$1 = C$1("^"), + $$1 = C$1("$"), + _ = C$1(","), + AA = C$1("-"), + BA = C$1("("), + aA = C$1(")"), + nA = C$1("."), + eA = C$1("|"), + tA = C$1("+"), + GA = C$1("?"), + iA = C$1("-["), + rA = S$1("0"); +function oA(A) { + function e(A) { + return new Set(A.split("").map(A => S$1(A))); + } + function G(A, B) { + const a = A.codePointAt(B); + return void 0 === a ? H$1(B, ["any character"]) : o$1(B + String.fromCodePoint(a).length, a); + } + const i = "xpath" === A.language ? T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, $$1, BA, aA, W, q$1]), A => S$1(A))])) : T(j$1, c$1([u$1(C$1("n"), () => 10), u$1(C$1("r"), () => 13), u$1(C$1("t"), () => 9), u$1(c$1([j$1, eA, nA, AA, z$1, GA, U, tA, R, V, BA, aA, W, q$1]), A => S$1(A))])); + function r(A, B) { + const a = e(B); + return I$1(C$1(A), D$1(s$1(G, A => a.has(A), B.split(""))), (A, B) => function (A) { + const B = x$1.get(A); + if (null == B) throw new Error(A + " is not a valid unicode category"); + return B; + }(null === B ? A : A + String.fromCodePoint(B))); + } + const l = c$1([r("L", "ultmo"), r("M", "nce"), r("N", "dlo"), r("P", "cdseifo"), r("Z", "slp"), r("S", "mcko"), r("C", "cfon")]), + p = [a$1(S$1("a"), S$1("z")), a$1(S$1("A"), S$1("Z")), a$1(S$1("0"), S$1("9")), B$1(45)].reduce(t$1), + M = c$1([l, u$1(T(C$1("Is"), function (A) { + return (B, a) => { + const n = A(B, a); + return n.success ? o$1(n.offset, B.slice(a, n.offset)) : n; + }; + }(d$1(s$1(G, p, ["block identifier"])))), B => function (A, B) { + const a = Q.get(A); + if (void 0 === a) { + if (B) return n$1; + throw new Error(`The unicode block identifier "${A}" is not known.`); + } + return a; + }(B, "xpath" !== A.language))]), + J = E$1(C$1("\\p{"), M, V, !0), + K = u$1(E$1(C$1("\\P{"), M, V, !0), b$1), + L = T(j$1, u$1(c$1("sSiIcCdDwW".split("").map(A => C$1(A))), A => Y[A])), + X = u$1(nA, () => w$1), + Z = c$1([L, J, K]), + O = e("\\[]"), + k = c$1([i, s$1(G, A => !O.has(A), ["unescaped character"])]), + N = c$1([u$1(AA, () => null), k]), + v = I$1(N, T(AA, N), a$1); + function oA(A, B) { + return [A].concat(B || []); + } + const lA = u$1(function (A) { + return (B, a) => { + const n = A(B, a); + return n.success ? o$1(a, n.value) : n; + }; + }(c$1([q$1, iA])), () => null), + HA = S$1("-"), + CA = c$1([u$1(F$1(F$1(AA, g$1(W, ["not ["])), lA), () => HA), T(g$1(AA, ["not -"]), k)]), + uA = c$1([I$1(u$1(CA, B$1), c$1([function (A, B) { + return uA(A, B); + }, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]); + const sA = c$1([I$1(u$1(k, B$1), c$1([uA, lA]), oA), I$1(c$1([v, Z]), c$1([cA, lA]), oA)]); + function cA(A, B) { + return sA(A, B); + } + const DA = u$1(sA, A => A.reduce(t$1)), + mA = u$1(T(z$1, DA), b$1), + IA = I$1(c$1([T(g$1(z$1, ["not ^"]), DA), mA]), D$1(T(AA, function (A, B) { + return dA(A, B); + })), y$1), + dA = E$1(W, IA, q$1, !0); + const hA = "xpath" === A.language ? c$1([u$1(i, B$1), Z, dA, X, u$1(z$1, () => A => -1 === A), u$1($$1, () => A => -2 === A)]) : c$1([u$1(i, B$1), Z, dA, X]), + pA = "xpath" === A.language ? e(".\\?*+{}()|^$[]") : e(".\\?*+{}()|[]"), + TA = s$1(G, A => !pA.has(A), ["NormalChar"]), + FA = u$1(T(j$1, I$1(u$1(s$1(G, a$1(S$1("1"), S$1("9")), ["digit"]), A => A - rA), m$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), (A, B) => { + B.reduce((A, B) => 10 * A + B, A); + })), A => { + throw new Error("Backreferences in XPath patterns are not yet implemented."); + }), + EA = "xpath" === A.language ? c$1([u$1(TA, A => ({ + kind: "predicate", + value: B$1(A) + })), u$1(hA, A => ({ + kind: "predicate", + value: A + })), u$1(E$1(BA, T(D$1(C$1("?:")), SA), aA, !0), A => ({ + kind: "regexp", + value: A + })), FA]) : c$1([u$1(TA, A => ({ + kind: "predicate", + value: B$1(A) + })), u$1(hA, A => ({ + kind: "predicate", + value: A + })), u$1(E$1(BA, SA, aA, !0), A => ({ + kind: "regexp", + value: A + }))]), + gA = u$1(d$1(u$1(s$1(G, a$1(rA, S$1("9")), ["digit"]), A => A - rA)), A => A.reduce((A, B) => 10 * A + B)), + fA = c$1([I$1(gA, T(_, gA), (A, B) => { + if (B < A) throw new Error("quantifier range is in the wrong order"); + return { + min: A, + max: B + }; + }), I$1(gA, _, A => ({ + min: A, + max: null + })), u$1(gA, A => ({ + min: A, + max: A + }))]), + PA = "xpath" === A.language ? I$1(c$1([u$1(GA, () => ({ + min: 0, + max: 1 + })), u$1(U, () => ({ + min: 0, + max: null + })), u$1(tA, () => ({ + min: 1, + max: null + })), E$1(R, fA, V, !0)]), D$1(GA), (A, B) => A) : c$1([u$1(GA, () => ({ + min: 0, + max: 1 + })), u$1(U, () => ({ + min: 0, + max: null + })), u$1(tA, () => ({ + min: 1, + max: null + })), E$1(R, fA, V, !0)]), + MA = m$1(I$1(EA, u$1(D$1(PA), A => null === A ? { + min: 1, + max: 1 + } : A), (A, B) => [A, B])), + JA = I$1(MA, m$1(T(eA, f$1(MA))), (A, B) => [A].concat(B)); + function SA(A, B) { + return JA(A, B); + } + const KA = function (A) { + return I$1(A, P$1, h$1); + }(JA); + return function (A) { + let B; + try { + B = KA(A, 0); + } catch (B) { + throw new Error(`Error parsing pattern "${A}": ${B instanceof Error ? B.message : B}`); + } + return B.success ? B.value : function (A, B, a) { + const n = a.map(A => `"${A}"`); + throw new Error(`Error parsing pattern "${A}" at offset ${B}: expected ${n.length > 1 ? "one of " + n.join(", ") : n[0]} but found "${A.slice(B, B + 1)}"`); + }(A, B.offset, B.expected); + }; +} +function lA(A) { + return [...A].map(A => A.codePointAt(0)); +} +function HA(B, a = { + language: "xsd" +}) { + const n = oA(a)(B), + e = w$2(A => { + r$1(A, n, "xpath" === a.language), A.accept(); + }); + return function (A) { + const B = "xpath" === a.language ? [-1, ...lA(A), -2] : lA(A); + return e.execute(B).success; + }; +} + +var xspattern = /*#__PURE__*/Object.freeze({ + __proto__: null, + compile: HA +}); + +function n(n, t) { + return { + success: !0, + offset: n, + value: t + }; +} +function t(t) { + return n(t, void 0); +} +function e(n, t, e = !1) { + return { + success: !1, + offset: n, + expected: t, + fatal: e + }; +} +function r(t) { + return (r, u) => { + const o = u + t.length; + return r.slice(u, o) === t ? n(o, t) : e(u, [t]); + }; +} +function u(n) { + return n > 65535 ? 2 : 1; +} +function o(n, r) { + return (o, c) => { + const f = o.codePointAt(c); + return void 0 !== f && n(f) ? t(c + u(f)) : e(c, r); + }; +} +function c(n, r) { + return (u, o) => { + const c = o; + for (;;) { + const t = u.codePointAt(o); + if (void 0 === t) break; + if (!n(t)) break; + o += t > 65535 ? 2 : 1; + } + return void 0 !== r && o === c ? e(o, r) : t(o); + }; +} +function f(n, t, e) { + return o(e => n <= e && e <= t, e || [`${String.fromCodePoint(n)}-${String.fromCodePoint(t)}`]); +} +function s(n) { + return (r, o) => { + let c = n; + for (; c > 0;) { + const n = r.codePointAt(o); + if (void 0 === n) return e(o, ["any character"]); + o += u(n), c -= 1; + } + return t(o); + }; +} +function i(t, e) { + return (r, u) => { + const o = t(r, u); + return o.success ? n(o.offset, e(o.value)) : o; + }; +} +function l(n) { + return i(n, () => {}); +} +function a(n, t, r, u) { + return (o, c) => { + const f = n(o, c); + return f.success ? t(f.value) ? f : e(c, r, u) : f; + }; +} +function d(n, t) { + return (r, u) => { + let o = null; + for (const e of n) { + const n = e(r, u); + if (n.success) return n; + if (null === o || n.offset > o.offset ? o = n : n.offset === o.offset && void 0 === t && (o.expected = o.expected.concat(n.expected)), n.fatal) return n; + } + return t = t || (null == o ? void 0 : o.expected) || [], o && (o.expected = t), o || e(u, t); + }; +} +function v(t) { + return (e, r) => { + const u = t(e, r); + return u.success || u.fatal ? u : n(r, null); + }; +} +function p(t) { + return (e, r) => { + let u = [], + o = r; + for (;;) { + const n = t(e, o); + if (!n.success) { + if (n.fatal) return n; + break; + } + if (u.push(n.value), n.offset === o) break; + o = n.offset; + } + return n(o, u); + }; +} +function x(n) { + return (e, r) => { + let u = r; + for (;;) { + const t = n(e, u); + if (!t.success) { + if (t.fatal) return t; + break; + } + if (t.offset === u) break; + u = t.offset; + } + return t(u); + }; +} +function y(n) { + return i(n, n => n.filter(n => void 0 !== n)); +} +function b(t, e, r) { + return (u, o) => { + const c = t(u, o); + if (!c.success) return c; + const f = e(u, c.offset); + return f.success ? n(f.offset, r(c.value, f.value)) : f; + }; +} +function h(...t) { + return (e, r) => { + const u = []; + for (const n of t) { + const t = n(e, r); + if (!t.success) return t; + r = t.offset, u.push(t.value); + } + return n(r, u); + }; +} +function k(...n) { + return (e, r) => { + for (const t of n) { + const n = t(e, r); + if (!n.success) return n; + r = n.offset; + } + return t(r); + }; +} +function P(n) { + return b(n, p(n), (n, t) => [n].concat(t)); +} +function g(n, t) { + return n; +} +function A(n, t) { + return t; +} +function m(n) { + return b(n, x(n), A); +} +function C(n, t) { + return b(n, t, A); +} +function S(n, t) { + return b(n, t, g); +} +function $(n, t, e, r = !1) { + return C(n, r ? D(S(t, e)) : S(t, e)); +} +function j(t) { + return (e, r) => { + const u = t(e, r); + return u.success ? n(u.offset, e.slice(r, u.offset)) : u; + }; +} +function q(t) { + return (e, r) => { + const u = t(e, r); + return u.success ? n(r, u.value) : u; + }; +} +function w(n, r) { + return (u, o) => n(u, o).success ? e(o, r) : t(o); +} +function z(n, t, e) { + return C(w(t, e), n); +} +function B(n, t, r = 0, u = []) { + return (o, c) => { + const f = o.codePointAt(c + r); + if (void 0 === f) return e(c, u); + const s = n[f]; + return void 0 === s ? void 0 === t ? e(c, u) : t(o, c) : s(o, c); + }; +} +function D(n) { + return (t, r) => { + const u = n(t, r); + return u.success ? u : e(u.offset, u.expected, !0); + }; +} +const E = (n, r) => 0 === r ? t(r) : e(r, ["start of input"]), + F = (n, r) => n.length === r ? t(r) : e(r, ["end of input"]); +function G(n) { + return b(n, F, g); +} +function H(n) { + const t = []; + let e = n.next(); + for (; !e.done;) t.push(e.value), e = n.next(); + return [t, e.value]; +} +function I(n) { + return function* (t, e) { + const r = n(t, e); + return r.success && (yield r.value), r; + }; +} +function J(n, t) { + return function* (e, r) { + const u = yield* n(e, r); + return u.success ? yield* t(e, u.offset) : u; + }; +} +function K(n) { + return function* (t, e) { + const r = n(t, e); + let u = r.next(); + for (; !u.done;) { + const n = u.value; + void 0 !== n && (yield n), u = r.next(); + } + return u.value; + }; +} +function L(n) { + return function* (e, r) { + for (;;) { + const [u, o] = H(n(e, r)); + if (!o.success) return o.fatal ? o : t(r); + if (yield* u, r === o.offset) return t(r); + r = o.offset; + } + }; +} +function M(n) { + return function* (e, r) { + const [u, o] = H(n(e, r)); + return o.success ? (yield* u, o) : o.fatal ? o : t(r); + }; +} +function N(n) { + return function* (t, e) { + const r = yield* n(t, e); + return r.success ? F(t, r.offset) : r; + }; +} + +var prsc = /*#__PURE__*/Object.freeze({ + __proto__: null, + codepoint: o, + codepoints: c, + collect: H, + complete: G, + consume: l, + cut: D, + delimited: $, + dispatch: B, + end: F, + error: e, + except: z, + filter: a, + filterUndefined: y, + first: g, + followed: S, + map: i, + not: w, + ok: t, + okWithValue: n, + optional: v, + or: d, + peek: q, + plus: P, + plusConsumed: m, + preceded: C, + range: f, + recognize: j, + second: A, + sequence: h, + sequenceConsumed: k, + skipChars: s, + star: p, + starConsumed: x, + start: E, + streaming: I, + streamingComplete: N, + streamingFilterUndefined: K, + streamingOptional: M, + streamingStar: L, + streamingThen: J, + then: b, + token: r +}); + +const fontoxpath = function (xspattern, prsc) { + const VERSION = '3.33.0'; + const fontoxpathGlobal = {}; + function aa(a, b) { + if (!("0" !== a && "-0" !== a || "0" !== b && "-0" !== b)) return 0; + var c = /(?:\+|(-))?(\d+)?(?:\.(\d+))?/; + a = c.exec(a + ""); + var d = c.exec(b + ""), + e = !a[1]; + const f = !d[1]; + b = (a[2] || "").replace(/^0*/, ""); + c = (d[2] || "").replace(/^0*/, ""); + a = a[3] || ""; + d = d[3] || ""; + if (e && !f) return 1; + if (!e && f) return -1; + e = e && f; + if (b.length > c.length) return e ? 1 : -1; + if (b.length < c.length) return e ? -1 : 1; + if (b > c) return e ? 1 : -1; + if (b < c) return e ? -1 : 1; + b = Math.max(a.length, d.length); + c = a.padEnd(b, "0"); + b = d.padEnd(b, "0"); + return c > b ? e ? 1 : -1 : c < b ? e ? -1 : 1 : 0; + } + function ba(a, b) { + a = a.toString(); + if (-1 < a.indexOf(".") && 0 === b) return !1; + a = /^[-+]?0*([1-9]\d*)?(?:\.((?:\d*[1-9])*)0*)?$/.exec(a); + return a[2] ? a[2].length <= b : !0; + } + function da() { + return function (a, b) { + return 1 > aa(a, b); + }; + } + function fa() { + return function (a, b) { + return 0 > aa(a, b); + }; + } + function ha() { + return function (a, b) { + return -1 < aa(a, b); + }; + } + function ia() { + return function (a, b) { + return 0 < aa(a, b); + }; + } + function ja(a, b) { + switch (b) { + case "required": + return /(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString()); + case "prohibited": + return !/(Z)|([+-])([01]\d):([0-5]\d)$/.test(a.toString()); + case "optional": + return !0; + } + } + function ka(a) { + switch (a) { + case 1: + case 0: + case 6: + case 3: + return {}; + case 4: + return { + ka: ba, + wa: da(), + nc: fa(), + xa: ha(), + oc: ia() + }; + case 18: + return {}; + case 9: + case 8: + case 7: + case 11: + case 12: + case 13: + case 15: + case 14: + return { + Ba: ja + }; + case 22: + case 21: + case 20: + case 23: + case 44: + return {}; + default: + return null; + } + } + var la = {}, + ma = {}; + function na(a) { + return /^([+-]?(\d*(\.\d*)?([eE][+-]?\d*)?|INF)|NaN)$/.test(a); + } + function oa(a) { + return /^[_:A-Za-z][-._:A-Za-z0-9]*$/.test(a); + } + function pa(a) { + return oa(a) && /^[_A-Za-z]([-._A-Za-z0-9])*$/.test(a); + } + function qa(a) { + a = a.split(":"); + return 1 === a.length ? pa(a[0]) : 2 !== a.length ? !1 : pa(a[0]) && pa(a[1]); + } + function ra(a) { + return !/[\u0009\u000A\u000D]/.test(a); + } + function sa(a) { + return pa(a); + } + const ta = new Map([[45, function () { + return !0; + }], [46, function () { + return !0; + }], [1, function () { + return !0; + }], [0, function (a) { + return /^(0|1|true|false)$/.test(a); + }], [6, function (a) { + return na(a); + }], [3, na], [4, function (a) { + return /^[+-]?\d*(\.\d*)?$/.test(a); + }], [18, function (a) { + return /^(-)?P(\d+Y)?(\d+M)?(\d+D)?(T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.test(a); + }], [9, function (a) { + return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [8, function (a) { + return /^(([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9](\.[0-9]+)?|(24:00:00(\.0+)?))(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [7, function (a) { + return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [11, function (a) { + return /^-?([1-9][0-9]{3,}|0[0-9]{3})-(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [12, function (a) { + return /^-?([1-9][0-9]{3,}|0[0-9]{3})(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [13, function (a) { + return /^--(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [15, function (a) { + return /^---(0[1-9]|[12][0-9]|3[01])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [14, function (a) { + return /^--(0[1-9]|1[0-2])(Z|(\+|-)((0[0-9]|1[0-3]):[0-5][0-9]|14:00))?$/.test(a); + }], [22, function (a) { + return /^([0-9A-Fa-f]{2})*$/.test(a); + }], [21, function (a) { + return new RegExp(/^((([A-Za-z0-9+/] ?){4})*((([A-Za-z0-9+/] ?){3}[A-Za-z0-9+/])|(([A-Za-z0-9+/] ?){2}[AEIMQUYcgkosw048] ?=)|(([A-Za-z0-9+/] ?)[AQgw] ?= ?=)))?$/).test(a); + }], [20, function () { + return !0; + }], [44, qa], [48, ra], [52, function (a) { + return ra(a) && !/^ | {2,}| $/.test(a); + }], [51, function (a) { + return /^[a-zA-Z]{1,8}(-[a-zA-Z0-9]{1,8})*$/.test(a); + }], [50, function (a) { + return /^[-._:A-Za-z0-9]+$/.test(a); + }], [25, oa], [23, qa], [24, pa], [42, sa], [41, sa], [26, function (a) { + return pa(a); + }], [5, function (a) { + return /^[+-]?\d+$/.test(a); + }], [16, function (a) { + return /^-?P[0-9]+(Y([0-9]+M)?|M)$/.test(a); + }], [17, function (a) { + return /^-?P([0-9]+D)?(T([0-9]+H)?([0-9]+M)?([0-9]+(\.[0-9]+)?S)?)?$/.test(a); + }]]); + var ua = Object.create(null); + [{ + C: 0, + name: 59 + }, { + C: 0, + name: 46, + parent: 59, + K: { + whiteSpace: "preserve" + } + }, { + C: 0, + name: 19, + parent: 46 + }, { + C: 0, + name: 1, + parent: 46 + }, { + C: 0, + name: 0, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 4, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 6, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 3, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 18, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 9, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 8, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 7, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 11, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 12, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 13, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 15, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 14, + parent: 46, + K: { + Ba: "optional", + whiteSpace: "collapse" + } + }, { + C: 0, + name: 22, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 21, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 20, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 23, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 0, + name: 44, + parent: 46, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 10, + S: 9, + K: { + whiteSpace: "collapse", + Ba: "required" + } + }, { + C: 1, + name: 48, + S: 1, + K: { + whiteSpace: "replace" + } + }, { + C: 1, + name: 52, + S: 48, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 51, + S: 52, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 50, + S: 52, + K: { + whiteSpace: "collapse" + } + }, { + C: 2, + name: 49, + type: 50, + K: { + minLength: 1, + whiteSpace: "collapse" + } + }, { + C: 1, + name: 25, + S: 52, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 24, + S: 25, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 42, + S: 24, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 41, + S: 24, + K: { + whiteSpace: "collapse" + } + }, { + C: 2, + name: 43, + type: 41, + K: { + minLength: 1, + whiteSpace: "collapse" + } + }, { + C: 1, + name: 26, + S: 24, + K: { + whiteSpace: "collapse" + } + }, { + C: 2, + name: 40, + type: 26, + K: { + minLength: 1, + whiteSpace: "collapse" + } + }, { + C: 0, + name: 5, + parent: 4, + K: { + ka: 0, + whiteSpace: "collapse" + } + }, { + C: 1, + name: 27, + S: 5, + K: { + ka: 0, + wa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 28, + S: 27, + K: { + ka: 0, + wa: "-1", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 31, + S: 5, + K: { + ka: 0, + wa: "9223372036854775807", + xa: "-9223372036854775808", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 32, + S: 31, + K: { + ka: 0, + wa: "2147483647", + xa: "-2147483648", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 33, + S: 32, + K: { + ka: 0, + wa: "32767", + xa: "-32768", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 34, + S: 33, + K: { + ka: 0, + wa: "127", + xa: "-128", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 30, + S: 5, + K: { + ka: 0, + xa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 36, + S: 30, + K: { + ka: 0, + wa: "18446744073709551615", + xa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 35, + S: 36, + K: { + ka: 0, + wa: "4294967295", + xa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 38, + S: 35, + K: { + ka: 0, + wa: "65535", + xa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 37, + S: 38, + K: { + ka: 0, + wa: "255", + xa: "0", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 29, + S: 30, + K: { + ka: 0, + xa: "1", + whiteSpace: "collapse" + } + }, { + C: 1, + name: 16, + S: 18, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 17, + S: 18, + K: { + whiteSpace: "collapse" + } + }, { + C: 1, + name: 60, + S: 59 + }, { + C: 3, + name: 39, + Ca: [] + }, { + C: 1, + name: 61, + S: 60 + }, { + C: 1, + name: 62, + S: 60 + }, { + C: 0, + name: 53, + parent: 59 + }, { + C: 1, + name: 54, + S: 53 + }, { + C: 1, + name: 58, + S: 53 + }, { + C: 1, + name: 47, + S: 53 + }, { + C: 1, + name: 56, + S: 53 + }, { + C: 1, + name: 57, + S: 53 + }, { + C: 1, + name: 55, + S: 53 + }, { + C: 3, + name: 2, + Ca: [4, 5, 6, 3] + }, { + C: 3, + name: 63, + Ca: [] + }].forEach(a => { + const b = a.name, + c = a.K || {}; + switch (a.C) { + case 0: + a = a.parent ? ua[a.parent] : null; + var d = ta.get(b) || null; + ua[b] = { + C: 0, + type: b, + Ka: c, + parent: a, + gb: d, + Oa: ka(b), + Ca: [] + }; + break; + case 1: + a = ua[a.S]; + d = ta.get(b) || null; + ua[b] = { + C: 1, + type: b, + Ka: c, + parent: a, + gb: d, + Oa: a.Oa, + Ca: [] + }; + break; + case 2: + ua[b] = { + C: 2, + type: b, + Ka: c, + parent: ua[a.type], + gb: null, + Oa: la, + Ca: [] + }; + break; + case 3: + a = a.Ca.map(e => ua[e]), ua[b] = { + C: 3, + type: b, + Ka: c, + parent: null, + gb: null, + Oa: ma, + Ca: a + }; + } + }); + function g(a, b) { + if (!ua[b]) throw Error("Unknown type"); + return { + type: b, + value: a + }; + } + var va = g(!0, 0), + wa = g(!1, 0); + var xa = (a = "A wrong argument type was specified in a function call.") => Error(`FORG0006: ${a}`); + var ya = class { + constructor(a, b) { + this.done = a; + this.value = b; + } + }, + p = new ya(!0); + function q(a) { + return new ya(!1, a); + } + function za(a, b) { + if (3 === b.C) return !!b.Ca.find(c => za(a, c)); + for (; a;) { + if (a.type === b.type) return !0; + if (3 === a.C) return !!a.Ca.find(c => v(c.type, b.type)); + a = a.parent; + } + return !1; + } + function v(a, b) { + return a === b ? !0 : za(ua[a], ua[b]); + } + var Aa = class { + constructor(a) { + this.o = w; + this.h = a; + let b = -1; + this.value = { + next: () => { + b++; + return b >= a.length ? p : q(a[b]); + } + }; + } + hb() { + return this; + } + filter(a) { + let b = -1; + return this.o.create({ + next: () => { + for (b++; b < this.h.length && !a(this.h[b], b, this);) b++; + return b >= this.h.length ? p : q(this.h[b]); + } + }); + } + first() { + return this.h[0]; + } + O() { + return this.h; + } + fa() { + if (v(this.h[0].type, 53)) return !0; + throw xa("Cannot determine the effective boolean value of a sequence with a length higher than one."); + } + Pa() { + return this.h.length; + } + F() { + return !1; + } + oa() { + return !1; + } + map(a) { + let b = -1; + return this.o.create({ + next: () => ++b >= this.h.length ? p : q(a(this.h[b], b, this)) + }, this.h.length); + } + N(a) { + return a(this.h); + } + X(a) { + return a.multiple ? a.multiple(this) : a.default(this); + } + }; + var Ba = class { + constructor() { + this.value = { + next: () => p + }; + } + hb() { + return this; + } + filter() { + return this; + } + first() { + return null; + } + O() { + return []; + } + fa() { + return !1; + } + Pa() { + return 0; + } + F() { + return !0; + } + oa() { + return !1; + } + map() { + return this; + } + N(a) { + return a([]); + } + X(a) { + return a.empty ? a.empty(this) : a.default(this); + } + }; + var Ca = class { + constructor(a, b) { + this.type = a; + this.value = b; + } + }; + const Da = { + [0]: "xs:boolean", + [1]: "xs:string", + [2]: "xs:numeric", + [3]: "xs:double", + [4]: "xs:decimal", + [5]: "xs:integer", + [6]: "xs:float", + [7]: "xs:date", + [8]: "xs:time", + [9]: "xs:dateTime", + [10]: "xs:dateTimeStamp", + [11]: "xs:gYearMonth", + [12]: "xs:gYear", + [13]: "xs:gMonthDay", + [14]: "xs:gMonth", + [15]: "xs:gDay", + [16]: "xs:yearMonthDuration", + [17]: "xs:dayTimeDuration", + [18]: "xs:duration", + [19]: "xs:untypedAtomic", + [20]: "xs:anyURI", + [21]: "xs:base64Binary", + [22]: "xs:hexBinary", + [23]: "xs:QName", + [24]: "xs:NCName", + [25]: "xs:Name", + [26]: "xs:ENTITY", + [27]: "xs:nonPositiveInteger", + [28]: "xs:negativeInteger", + [29]: "xs:positiveInteger", + [30]: "xs:nonNegativeInteger", + [31]: "xs:long", + [32]: "xs:int", + [33]: "xs:short", + [34]: "xs:byte", + [35]: "xs:unsignedInt", + [36]: "xs:unsignedLong", + [37]: "xs:unsignedByte", + [38]: "xs:unsignedShort", + [39]: "xs:error", + [40]: "xs:ENTITIES", + [41]: "xs:IDREF", + [42]: "xs:ID", + [43]: "xs:IDREFS", + [44]: "xs:NOTATION", + [45]: "xs:anySimpleType", + [46]: "xs:anyAtomicType", + [47]: "attribute()", + [48]: "xs:normalizedString", + [49]: "xs:NMTOKENS", + [50]: "xs:NMTOKEN", + [51]: "xs:language", + [52]: "xs:token", + [53]: "node()", + [54]: "element()", + [55]: "document-node()", + [56]: "text()", + [57]: "processing-instruction()", + [58]: "comment()", + [59]: "item()", + [60]: "function(*)", + [61]: "map(*)", + [62]: "array(*)", + [63]: "none" + }, + Ea = { + "xs:boolean": 0, + "xs:string": 1, + "xs:numeric": 2, + "xs:double": 3, + "xs:decimal": 4, + "xs:integer": 5, + "xs:float": 6, + "xs:date": 7, + "xs:time": 8, + "xs:dateTime": 9, + "xs:dateTimeStamp": 10, + "xs:gYearMonth": 11, + "xs:gYear": 12, + "xs:gMonthDay": 13, + "xs:gMonth": 14, + "xs:gDay": 15, + "xs:yearMonthDuration": 16, + "xs:dayTimeDuration": 17, + "xs:duration": 18, + "xs:untypedAtomic": 19, + "xs:anyURI": 20, + "xs:base64Binary": 21, + "xs:hexBinary": 22, + "xs:QName": 23, + "xs:NCName": 24, + "xs:Name": 25, + "xs:ENTITY": 26, + "xs:nonPositiveInteger": 27, + "xs:negativeInteger": 28, + "xs:positiveInteger": 29, + "xs:nonNegativeInteger": 30, + "xs:long": 31, + "xs:int": 32, + "xs:short": 33, + "xs:byte": 34, + "xs:unsignedInt": 35, + "xs:unsignedLong": 36, + "xs:unsignedByte": 37, + "xs:unsignedShort": 38, + "xs:error": 39, + "xs:ENTITIES": 40, + "xs:IDREF": 41, + "xs:ID": 42, + "xs:IDREFS": 43, + "xs:NOTATION": 44, + "xs:anySimpleType": 45, + "xs:anyAtomicType": 46, + "attribute()": 47, + "xs:normalizedString": 48, + "xs:NMTOKENS": 49, + "xs:NMTOKEN": 50, + "xs:language": 51, + "xs:token": 52, + "node()": 53, + "element()": 54, + "document-node()": 55, + "text()": 56, + "processing-instruction()": 57, + "comment()": 58, + "item()": 59, + "function(*)": 60, + "map(*)": 61, + "array(*)": 62 + }; + function Ha(a) { + return 2 === a.g ? Da[a.type] + "*" : 1 === a.g ? Da[a.type] + "+" : 0 === a.g ? Da[a.type] + "?" : Da[a.type]; + } + function Ia(a) { + if ("none" === a) throw Error('XPST0051: The type "none" could not be found'); + if (!a.startsWith("xs:") && 0 <= a.indexOf(":")) throw Error(`XPST0081: Invalid prefix for input ${a}`); + const b = Ea[a]; + if (void 0 === b) throw Error(`XPST0051: The type "${a}" could not be found`); + return b; + } + function Ja(a) { + switch (a[a.length - 1]) { + case "*": + return { + type: Ia(a.substr(0, a.length - 1)), + g: 2 + }; + case "?": + return { + type: Ia(a.substr(0, a.length - 1)), + g: 0 + }; + case "+": + return { + type: Ia(a.substr(0, a.length - 1)), + g: 1 + }; + default: + return { + type: Ia(a), + g: 3 + }; + } + } + function Ka(a) { + switch (a) { + case "*": + return 2; + case "?": + return 0; + case "+": + return 1; + default: + return 3; + } + } + function La(a) { + const b = a.value; + if (v(a.type, 53)) return !0; + if (v(a.type, 0)) return b; + if (v(a.type, 1) || v(a.type, 20) || v(a.type, 19)) return 0 !== b.length; + if (v(a.type, 2)) return !isNaN(b) && 0 !== b; + throw xa(`Cannot determine the effective boolean value of a value with the type ${Da[a.type]}`); + } + function Ma(a, b = 0) { + a.h = b; + } + var Na = class { + constructor(a, b = null) { + this.D = w; + this.value = { + next: c => { + if (null !== this.o && this.h >= this.o) return p; + if (void 0 !== this.v[this.h]) return q(this.v[this.h++]); + c = a.next(c); + if (c.done) return this.o = this.h, c; + if (this.l || 2 > this.h) this.v[this.h] = c.value; + this.h++; + return c; + } + }; + this.l = !1; + this.v = []; + this.h = 0; + this.o = b; + } + hb() { + return this.D.create(this.O()); + } + filter(a) { + let b = -1; + const c = this.value; + return this.D.create({ + next: d => { + b++; + for (d = c.next(d); !d.done && !a(d.value, b, this);) b++, d = c.next(0); + return d; + } + }); + } + first() { + if (void 0 !== this.v[0]) return this.v[0]; + const a = this.value.next(0); + Ma(this); + return a.done ? null : a.value; + } + O() { + if (this.h > this.v.length && this.o !== this.v.length) throw Error("Implementation error: Sequence Iterator has progressed."); + const a = this.value; + this.l = !0; + let b = a.next(0); + for (; !b.done;) b = a.next(0); + return this.v; + } + fa() { + const a = this.value, + b = this.h; + Ma(this); + var c = a.next(0); + if (c.done) return Ma(this, b), !1; + c = c.value; + if (v(c.type, 53)) return Ma(this, b), !0; + if (!a.next(0).done) throw xa("Cannot determine the effective boolean value of a sequence with a length higher than one."); + Ma(this, b); + return La(c); + } + Pa(a = !1) { + if (null !== this.o) return this.o; + if (a) return -1; + a = this.h; + const b = this.O().length; + Ma(this, a); + return b; + } + F() { + return 0 === this.o ? !0 : null === this.first(); + } + oa() { + if (null !== this.o) return 1 === this.o; + var a = this.value; + const b = this.h; + Ma(this); + if (a.next(0).done) return Ma(this, b), !1; + a = a.next(0); + Ma(this, b); + return a.done; + } + map(a) { + let b = 0; + const c = this.value; + return this.D.create({ + next: d => { + d = c.next(d); + return d.done ? p : q(a(d.value, b++, this)); + } + }, this.o); + } + N(a, b) { + const c = this.value; + let d; + const e = []; + let f = !0; + (function () { + for (let h = c.next(f ? 0 : b); !h.done; h = c.next(b)) f = !1, e.push(h.value); + d = a(e).value; + })(); + return this.D.create({ + next: () => d.next(0) + }); + } + X(a) { + let b = null; + const c = d => { + b = d.value; + d = d.Pa(!0); + -1 !== d && (this.o = d); + }; + return this.D.create({ + next: d => { + if (b) return b.next(d); + if (this.F()) return c(a.empty ? a.empty(this) : a.default(this)), b.next(d); + if (this.oa()) return c(a.m ? a.m(this) : a.default(this)), b.next(d); + c(a.multiple ? a.multiple(this) : a.default(this)); + return b.next(d); + } + }); + } + }; + var Oa = class { + constructor(a) { + this.v = w; + this.h = a; + let b = !1; + this.value = { + next: () => { + if (b) return p; + b = !0; + return q(a); + } + }; + this.o = null; + } + hb() { + return this; + } + filter(a) { + return a(this.h, 0, this) ? this : this.v.create(); + } + first() { + return this.h; + } + O() { + return [this.h]; + } + fa() { + null === this.o && (this.o = La(this.h)); + return this.o; + } + Pa() { + return 1; + } + F() { + return !1; + } + oa() { + return !0; + } + map(a) { + return this.v.create(a(this.h, 0, this)); + } + N(a) { + return a([this.h]); + } + X(a) { + return a.m ? a.m(this) : a.default(this); + } + }; + const Pa = new Ba(); + function Qa(a = null, b = null) { + if (null === a) return Pa; + if (Array.isArray(a)) switch (a.length) { + case 0: + return Pa; + case 1: + return new Oa(a[0]); + default: + return new Aa(a); + } + return a.next ? new Na(a, b) : new Oa(a); + } + var w = { + create: Qa, + m: a => new Oa(a), + empty: () => Qa(), + aa: () => Qa(va), + T: () => Qa(wa) + }; + function Ra(a) { + const b = [], + c = a.value; + return () => { + let d = 0; + return w.create({ + next: () => { + if (void 0 !== b[d]) return b[d++]; + const e = c.next(0); + return e.done ? e : b[d++] = e; + } + }); + }; + } + var Sa = class { + constructor(a, b, c) { + this.namespaceURI = b || null; + this.prefix = a || ""; + this.localName = c; + } + za() { + return this.prefix ? this.prefix + ":" + this.localName : this.localName; + } + }; + function Ua(a, b) { + const c = a.value, + d = b.map(e => null === e ? null : Ra(e)); + b = b.reduce((e, f, h) => { + null === f && e.push(a.o[h]); + return e; + }, []); + b = new Va({ + j: b, + arity: b.length, + Ya: !0, + I: a.I, + localName: "boundFunction", + namespaceURI: a.l, + i: a.s, + value: function (e, f, h) { + const k = Array.from(arguments).slice(3), + l = d.map(n => null === n ? k.shift() : n()); + return c.apply(void 0, [e, f, h].concat(l)); + } + }); + return w.m(b); + } + var Va = class extends Ca { + constructor({ + j: a, + arity: b, + Ya: c = !1, + I: d = !1, + localName: e, + namespaceURI: f, + i: h, + value: k + }) { + super(60, null); + this.value = k; + this.I = d; + d = -1; + for (k = 0; k < a.length; k++) 4 === a[k] && (d = k); + -1 < d && (k = Array(b - (a.length - 1)).fill(a[d - 1]), a = a.slice(0, d).concat(k)); + this.o = a; + this.v = b; + this.ia = c; + this.D = e; + this.l = f; + this.s = h; + } + Ya() { + return this.ia; + } + }; + function Wa(a, b) { + const c = []; + 2 !== a && 1 !== a || c.push("type-1-or-type-2"); + c.push(`type-${a}`); + b && c.push(`name-${b}`); + return c; + } + function Xa(a) { + const b = a.node.nodeType; + let c; + if (2 === b || 1 === b) c = a.node.localName; + return Wa(b, c); + } + function Ya(a) { + let b = a.nodeType; + 4 === b && (b = 3); + let c; + if (2 === b || 1 === b) c = a.localName; + return Wa(b, c); + } + var Za = class { + getAllAttributes(a, b = null) { + if (1 !== a.nodeType) return []; + a = Array.from(a.attributes); + return null === b ? a : a.filter(c => Ya(c).includes(b)); + } + getAttribute(a, b) { + return 1 !== a.nodeType ? null : a.getAttribute(b); + } + getChildNodes(a, b = null) { + a = Array.from(a.childNodes); + return null === b ? a : a.filter(c => Ya(c).includes(b)); + } + getData(a) { + return 2 === a.nodeType ? a.value : a.data; + } + getFirstChild(a, b = null) { + for (a = a.firstChild; a; a = a.nextSibling) if (null === b || Ya(a).includes(b)) return a; + return null; + } + getLastChild(a, b = null) { + for (a = a.lastChild; a; a = a.previousSibling) if (null === b || Ya(a).includes(b)) return a; + return null; + } + getNextSibling(a, b = null) { + for (a = a.nextSibling; a; a = a.nextSibling) if (null === b || Ya(a).includes(b)) return a; + return null; + } + getParentNode(a, b = null) { + return (a = 2 === a.nodeType ? a.ownerElement : a.parentNode) ? null === b || Ya(a).includes(b) ? a : null : null; + } + getPreviousSibling(a, b = null) { + for (a = a.previousSibling; a; a = a.previousSibling) if (null === b || Ya(a).includes(b)) return a; + return null; + } + }; + class $a { + insertBefore(a, b, c) { + return a.insertBefore(b, c); + } + removeAttributeNS(a, b, c) { + return a.removeAttributeNS(b, c); + } + removeChild(a, b) { + return a.removeChild(b); + } + setAttributeNS(a, b, c, d) { + a.setAttributeNS(b, c, d); + } + setData(a, b) { + a.data = b; + } + } + var ab = new $a(); + class bb { + constructor(a) { + this.h = a; + } + insertBefore(a, b, c) { + return this.h.insertBefore(a, b, c); + } + removeAttributeNS(a, b, c) { + return this.h.removeAttributeNS(a, b, c); + } + removeChild(a, b) { + return this.h.removeChild(a, b); + } + setAttributeNS(a, b, c, d) { + this.h.setAttributeNS(a, b, c, d); + } + setData(a, b) { + this.h.setData(a, b); + } + } + function cb(a) { + return void 0 !== a.Ra; + } + function db(a, b, c) { + let d = null; + b && (cb(b.node) ? d = { + G: b.G, + offset: c, + parent: b.node + } : b.G && (d = b.G)); + return { + node: a, + G: d + }; + } + function eb(a, b, c = null) { + return a.getAllAttributes(b.node, c).map(d => db(d, b, d.nodeName)); + } + function fb(a, b, c) { + b = b.node; + return cb(b) ? (a = b.attributes.find(d => c === d.name)) ? a.value : null : (a = a.h.getAttribute(b, c)) ? a : null; + } + function hb(a, b, c = null) { + return a.getChildNodes(b.node, c).map((d, e) => db(d, b, e)); + } + function ib(a, b) { + return a.getData(b.node); + } + function jb(a, b, c = null) { + const d = b.node; + cb(d) ? a = d.childNodes[0] : ((c = a.h.getFirstChild(d, c)) && 10 === c.nodeType && (c = a.h.getNextSibling(c)), a = c); + return a ? db(a, b, 0) : null; + } + function kb(a, b, c = null) { + var d = b.node; + cb(d) ? (a = d.childNodes.length - 1, d = d.childNodes[a]) : ((d = a.h.getLastChild(d, c)) && 10 === d.nodeType && (d = a.h.getPreviousSibling(d)), a = a.getChildNodes(b.node, c).length - 1); + return d ? db(d, b, a) : null; + } + function x(a, b, c = null) { + const d = b.node, + e = b.G; + if (e) "number" === typeof e.offset && d === e.parent.childNodes[e.offset] || "string" === typeof e.offset && d === e.parent.attributes.find(f => e.offset === f.nodeName) ? (a = e.parent, b = e.G) : (a = a.getParentNode(d, c), b = e);else { + if (cb(d)) return null; + a = a.getParentNode(d, c); + b = null; + } + return a ? { + node: a, + G: b + } : null; + } + function lb(a, b, c = null) { + const d = b.node; + let e, f, h; + const k = b.G; + if (cb(d)) k && (h = k.offset + 1, e = k.parent.childNodes[h]);else if (k) h = k.offset + 1, f = x(a, b, null), e = a.getChildNodes(f.node, c)[h];else { + for (e = d; e && (!(e = a.h.getNextSibling(e, c)) || 10 === e.nodeType);); + return e ? { + node: e, + G: null + } : null; + } + return e ? db(e, f || x(a, b, c), h) : null; + } + function mb(a, b, c = null) { + const d = b.node; + let e, f; + const h = b.G; + let k; + if (cb(d)) h && (k = h.offset - 1, e = h.parent.childNodes[k]);else if (h) k = h.offset - 1, f = x(a, b, null), e = a.getChildNodes(f.node, c)[k];else { + for (e = d; e && (!(e = a.h.getPreviousSibling(e, c)) || 10 === e.nodeType);); + return e ? { + node: e, + G: null + } : null; + } + return e ? db(e, f || x(a, b, c), k) : null; + } + var nb = class { + constructor(a) { + this.h = a; + this.o = []; + } + getAllAttributes(a, b = null) { + return cb(a) ? a.attributes : this.h.getAllAttributes(a, b); + } + getChildNodes(a, b = null) { + b = cb(a) ? a.childNodes : this.h.getChildNodes(a, b); + return 9 === a.nodeType ? b.filter(c => 10 !== c.nodeType) : b; + } + getData(a) { + return cb(a) ? 2 === a.nodeType ? a.value : a.data : this.h.getData(a) || ""; + } + getParentNode(a, b = null) { + return this.h.getParentNode(a, b); + } + }; + var ob = (a, b, c, d, e) => e.N(([f]) => d.N(([h]) => { + const k = f.value; + if (0 >= k || k > h.h.length) throw Error("FOAY0001: array position out of bounds."); + return h.h[k - 1](); + })); + var pb = class extends Va { + constructor(a) { + super({ + value: (b, c, d, e) => ob(b, c, d, w.m(this), e), + localName: "get", + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + j: [{ + type: 5, + g: 3 + }], + arity: 1, + i: { + type: 59, + g: 2 + } + }); + this.type = 62; + this.h = a; + } + }; + function qb(a) { + switch (a.node.nodeType) { + case 2: + return 47; + case 1: + return 54; + case 3: + case 4: + return 56; + case 7: + return 57; + case 8: + return 58; + case 9: + return 55; + default: + return 53; + } + } + function rb(a) { + return { + type: qb(a), + value: a + }; + } + function A(a, b) { + a = a.map(c => c.first()); + return b(a); + } + function sb(a, b) { + var c = v(a.type, 1) || v(a.type, 20) || v(a.type, 19), + d = v(b.type, 1) || v(b.type, 20) || v(b.type, 19); + if (c && d) return a.value === b.value; + c = v(a.type, 4) || v(a.type, 3) || v(a.type, 6); + d = v(b.type, 4) || v(b.type, 3) || v(b.type, 6); + if (c && d) return isNaN(a.value) && isNaN(b.value) ? !0 : a.value === b.value; + c = v(a.type, 0) || v(a.type, 22) || v(a.type, 18) || v(a.type, 23) || v(a.type, 44); + d = v(b.type, 0) || v(b.type, 22) || v(b.type, 18) || v(b.type, 23) || v(b.type, 44); + return c && d ? a.value === b.value : !1; + } + var tb = (a, b, c, d, e) => A([d, e], ([f, h]) => (f = f.h.find(k => sb(k.key, h))) ? f.value() : w.empty()); + var ub = class extends Va { + constructor(a) { + super({ + j: [{ + type: 59, + g: 3 + }], + arity: 1, + localName: "get", + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + value: (b, c, d, e) => tb(b, c, d, w.m(this), e), + i: { + type: 59, + g: 2 + } + }); + this.type = 61; + this.h = a; + } + }; + function vb(a, b) { + return a.h() === b.h() && a.o() === b.o(); + } + var wb = class { + $a() { + return 0; + } + getHours() { + return 0; + } + getMinutes() { + return 0; + } + ab() { + return 0; + } + h() { + return 0; + } + o() { + return 0; + } + getSeconds() { + return 0; + } + bb() { + return 0; + } + na() { + return !0; + } + }; + function xb(a) { + var b = Math.abs(a.$a()), + c = Math.abs(a.getHours()); + const d = Math.abs(a.getMinutes()); + a = Math.abs(a.getSeconds()); + b = `${b ? `${b}D` : ""}`; + c = (c ? `${c}H` : "") + (d ? `${d}M` : "") + (a ? `${a}S` : ""); + return b && c ? `${b}T${c}` : b ? b : c ? `T${c}` : "T0S"; + } + var yb = class extends wb { + constructor(a) { + super(); + if (a > Number.MAX_SAFE_INTEGER || a < Number.MIN_SAFE_INTEGER) throw Error("FODT0002: Number of seconds given to construct DayTimeDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER"); + this.ca = a; + } + $a() { + return Math.trunc(this.ca / 86400); + } + getHours() { + return Math.trunc(this.ca % 86400 / 3600); + } + getMinutes() { + return Math.trunc(this.ca % 3600 / 60); + } + o() { + return this.ca; + } + getSeconds() { + const a = this.ca % 60; + return Object.is(-0, a) ? 0 : a; + } + na() { + return Object.is(-0, this.ca) ? !1 : 0 <= this.ca; + } + toString() { + return (this.na() ? "P" : "-P") + xb(this); + } + }, + zb = (a, b, c, d, e, f) => { + a = 86400 * a + 3600 * b + 60 * c + d + e; + return new yb(f || 0 === a ? a : -a); + }, + Ab = a => (a = /^(-)?P(\d+Y)?(\d+M)?(\d+D)?(?:T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.exec(a)) ? zb(a[4] ? parseInt(a[4], 10) : 0, a[5] ? parseInt(a[5], 10) : 0, a[6] ? parseInt(a[6], 10) : 0, a[7] ? parseInt(a[7], 10) : 0, a[8] ? parseFloat(a[8]) : 0, !a[1]) : null, + Bb = a => { + a = /^(Z)|([+-])([01]\d):([0-5]\d)$/.exec(a); + return "Z" === a[1] ? zb(0, 0, 0, 0, 0, !0) : zb(0, a[3] ? parseInt(a[3], 10) : 0, a[4] ? parseInt(a[4], 10) : 0, 0, 0, "+" === a[2]); + }; + function Cb(a, b) { + if (isNaN(b)) throw Error("FOCA0005: Cannot multiply xs:dayTimeDuration by NaN"); + a = a.ca * b; + if (a > Number.MAX_SAFE_INTEGER || !Number.isFinite(a)) throw Error("FODT0002: Value overflow while multiplying xs:dayTimeDuration"); + return new yb(a < Number.MIN_SAFE_INTEGER || Object.is(-0, a) ? 0 : a); + } + function Db(a) { + return a ? parseInt(a, 10) : null; + } + function Eb(a) { + a += ""; + const b = a.startsWith("-"); + b && (a = a.substring(1)); + return (b ? "-" : "") + a.padStart(4, "0"); + } + function Fb(a) { + return (a + "").padStart(2, "0"); + } + function Hb(a) { + a += ""; + 1 === a.split(".")[0].length && (a = a.padStart(a.length + 1, "0")); + return a; + } + function Ib(a) { + return 0 === a.getHours() && 0 === a.getMinutes() ? "Z" : (a.na() ? "+" : "-") + Fb(Math.abs(a.getHours())) + ":" + Fb(Math.abs(a.getMinutes())); + } + function Jb(a) { + var b = /^(?:(-?\d{4,}))?(?:--?(\d\d))?(?:-{1,3}(\d\d))?(T)?(?:(\d\d):(\d\d):(\d\d))?(\.\d+)?(Z|(?:[+-]\d\d:\d\d))?$/.exec(a); + a = b[1] ? parseInt(b[1], 10) : null; + const c = Db(b[2]), + d = Db(b[3]), + e = b[4], + f = Db(b[5]), + h = Db(b[6]), + k = Db(b[7]), + l = b[8] ? parseFloat(b[8]) : 0; + b = b[9] ? Bb(b[9]) : null; + if (a && (-271821 > a || 273860 < a)) throw Error("FODT0001: Datetime year is out of bounds"); + return e ? new Kb(a, c, d, f, h, k, l, b, 9) : null !== f && null !== h && null !== k ? new Kb(1972, 12, 31, f, h, k, l, b, 8) : null !== a && null !== c && null !== d ? new Kb(a, c, d, 0, 0, 0, 0, b, 7) : null !== a && null !== c ? new Kb(a, c, 1, 0, 0, 0, 0, b, 11) : null !== c && null !== d ? new Kb(1972, c, d, 0, 0, 0, 0, b, 13) : null !== a ? new Kb(a, 1, 1, 0, 0, 0, 0, b, 12) : null !== c ? new Kb(1972, c, 1, 0, 0, 0, 0, b, 14) : new Kb(1972, 12, d, 0, 0, 0, 0, b, 15); + } + function Lb(a, b) { + switch (b) { + case 15: + return new Kb(1972, 12, a.o, 0, 0, 0, 0, a.Y, 15); + case 14: + return new Kb(1972, a.h, 1, 0, 0, 0, 0, a.Y, 14); + case 12: + return new Kb(a.v, 1, 1, 0, 0, 0, 0, a.Y, 12); + case 13: + return new Kb(1972, a.h, a.o, 0, 0, 0, 0, a.Y, 13); + case 11: + return new Kb(a.v, a.h, 1, 0, 0, 0, 0, a.Y, 11); + case 8: + return new Kb(1972, 12, 31, a.l, a.s, a.D, a.qa, a.Y, 8); + case 7: + return new Kb(a.v, a.h, a.o, 0, 0, 0, 0, a.Y, 7); + default: + return new Kb(a.v, a.h, a.o, a.l, a.s, a.D, a.qa, a.Y, 9); + } + } + function Mb(a, b) { + b = a.Y || b || Bb("Z"); + return new Date(Date.UTC(a.v, a.h - 1, a.o, a.l - b.getHours(), a.s - b.getMinutes(), a.D, 1E3 * a.qa)); + } + var Kb = class { + constructor(a, b, c, d, e, f, h, k, l = 9) { + this.v = a; + this.h = b; + this.o = c + (24 === d ? 1 : 0); + this.l = 24 === d ? 0 : d; + this.s = e; + this.D = f; + this.qa = h; + this.Y = k; + this.type = l; + } + getDay() { + return this.o; + } + getHours() { + return this.l; + } + getMinutes() { + return this.s; + } + getMonth() { + return this.h; + } + getSeconds() { + return this.D; + } + getYear() { + return this.v; + } + toString() { + switch (this.type) { + case 9: + return Eb(this.v) + "-" + Fb(this.h) + "-" + Fb(this.o) + "T" + Fb(this.l) + ":" + Fb(this.s) + ":" + Hb(this.D + this.qa) + (this.Y ? Ib(this.Y) : ""); + case 7: + return Eb(this.v) + "-" + Fb(this.h) + "-" + Fb(this.o) + (this.Y ? Ib(this.Y) : ""); + case 8: + return Fb(this.l) + ":" + Fb(this.s) + ":" + Hb(this.D + this.qa) + (this.Y ? Ib(this.Y) : ""); + case 15: + return "---" + Fb(this.o) + (this.Y ? Ib(this.Y) : ""); + case 14: + return "--" + Fb(this.h) + (this.Y ? Ib(this.Y) : ""); + case 13: + return "--" + Fb(this.h) + "-" + Fb(this.o) + (this.Y ? Ib(this.Y) : ""); + case 12: + return Eb(this.v) + (this.Y ? Ib(this.Y) : ""); + case 11: + return Eb(this.v) + "-" + Fb(this.h) + (this.Y ? Ib(this.Y) : ""); + } + throw Error("Unexpected subType"); + } + }; + function Nb(a, b, c) { + const d = Mb(a, c).getTime(); + c = Mb(b, c).getTime(); + return d === c ? a.qa === b.qa ? 0 : a.qa > b.qa ? 1 : -1 : d > c ? 1 : -1; + } + function Ob(a, b, c) { + return 0 === Nb(a, b, c); + } + function Pb(a, b, c) { + a = (Mb(a, c).getTime() - Mb(b, c).getTime()) / 1E3; + return new yb(a); + } + function Qb(a) { + throw Error(`Not implemented: adding durations to ${Da[a.type]}`); + } + function Rb(a) { + throw Error(`Not implemented: subtracting durations from ${Da[a.type]}`); + } + function Sb(a, b) { + if (null === a) return null; + switch (typeof a) { + case "boolean": + return a ? va : wa; + case "number": + return g(a, 3); + case "string": + return g(a, 1); + case "object": + if ("nodeType" in a) return rb({ + node: a, + G: null + }); + if (Array.isArray(a)) return new pb(a.map(c => { + if (void 0 === c) return () => w.empty(); + c = Sb(c); + c = null === c ? w.empty() : w.m(c); + return Ra(c); + })); + if (a instanceof Date) { + const c = Jb(a.toISOString()); + return g(c, c.type); + } + return new ub(Object.keys(a).filter(c => void 0 !== a[c]).map(c => { + var d = Sb(a[c]); + d = null === d ? w.empty() : w.m(d); + return { + key: g(c, 1), + value: Ra(d) + }; + })); + } + throw Error(`Value ${String(a)} of type "${typeof a}" is not adaptable to an XPath value.`); + } + function Tb(a, b) { + if ("number" !== typeof a && ("string" !== typeof a || !ta.get(b)(a))) throw Error(`Cannot convert JavaScript value '${a}' to the XPath type ${Da[b]} since it is not valid.`); + } + function Ub(a, b, c) { + if (null === b) return null; + switch (a) { + case 0: + return b ? va : wa; + case 1: + return g(b + "", 1); + case 3: + case 2: + return Tb(b, 3), g(+b, 3); + case 4: + return Tb(b, a), g(+b, 4); + case 5: + return Tb(b, a), g(b | 0, 5); + case 6: + return Tb(b, a), g(+b, 6); + case 7: + case 8: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + if (!(b instanceof Date)) throw Error(`The JavaScript value ${b} with type ${typeof b} is not a valid type to be converted to an XPath ${Da[a]}.`); + return g(Lb(Jb(b.toISOString()), a), a); + case 53: + case 47: + case 55: + case 54: + case 56: + case 57: + case 58: + if ("object" !== typeof b || !("nodeType" in b)) throw Error(`The JavaScript value ${b} with type ${typeof b} is not a valid type to be converted to an XPath ${Da[a]}.`); + return rb({ + node: b, + G: null + }); + case 59: + return Sb(b); + case 61: + return Sb(b); + default: + throw Error(`Values of the type "${Da[a]}" can not be adapted from JavaScript to equivalent XPath values.`); + } + } + function Vb(a, b, c) { + if (0 === c.g) return b = Ub(c.type, b), null === b ? [] : [b]; + if (2 === c.g || 1 === c.g) { + if (!Array.isArray(b)) throw Error(`The JavaScript value ${b} should be an array if it is to be converted to ${Ha(c)}.`); + return b.map(e => Ub(c.type, e)).filter(e => null !== e); + } + const d = Ub(c.type, b); + if (null === d) throw Error(`The JavaScript value ${b} should be a single entry if it is to be converted to ${Ha(c)}.`); + return [d]; + } + function Wb(a, b, c = { + type: 59, + g: 0 + }) { + return w.create(Vb(a, b, c)); + } + var ac = class { + constructor() { + this.h = Math.abs(Math.floor(Math.random() * $b) % $b); + } + }, + $b = 2 ** 32; + function bc(a, b, c, d) { + return new cc({ + M: c, + Aa: b, + ta: d || a.ta, + ra: a.ra + }, a.h, a.o); + } + function dc(a, b) { + let c = 0; + const d = b.value; + return { + next: e => { + e = d.next(e); + return e.done ? p : q(bc(a, c++, e.value, b)); + } + }; + } + function ec(a) { + a.h.ib || (a.h.ib = !0, a.h.qb = Jb(new Date().toISOString()), a.h.vb = Ab("PT0S")); + return a.h.qb; + } + function fc(a) { + a.h.ib || (a.h.ib = !0, a.h.qb = Jb(new Date().toISOString()), a.h.vb = Ab("PT0S")); + return a.h.vb; + } + function gc(a, b = null) { + a = 29421 * (null !== b && void 0 !== b ? b : a.o.h) % $b; + return { + rb: Math.floor(a), + $b: a / $b + }; + } + function hc(a, b) { + return new cc({ + M: a.M, + Aa: a.Aa, + ta: a.ta, + ra: Object.assign(Object.create(null), a.ra, b) + }, a.h, a.o); + } + var cc = class { + constructor(a, b = { + qb: null, + vb: null, + ib: !1 + }, c = new ac()) { + this.h = b; + this.Aa = a.Aa; + this.ta = a.ta; + this.M = a.M; + this.ra = a.ra || Object.create(null); + this.o = c; + } + }; + var ic = class { + constructor(a, b, c, d, e, f, h, k, l) { + this.debug = a; + this.Ha = b; + this.h = c; + this.Ja = d; + this.Ma = e; + this.o = f; + this.v = h; + this.jb = k; + this.Ua = l; + } + }; + function jc(a) { + let b = 0, + c = null, + d = !0; + return w.create({ + next: e => { + for (; b < a.length;) { + c || (c = a[b].value, d = !0); + const f = c.next(d ? 0 : e); + d = !1; + if (f.done) b++, c = null;else return f; + } + return p; + } + }); + } + var kc = (a, b, c) => Error(`FORG0001: Cannot cast ${a} to ${Da[b]}${c ? `, ${c}` : ""}`), + lc = a => Error(`XPDY0002: ${a}`), + mc = a => Error(`XPTY0004: ${a}`), + nc = a => Error(`FOTY0013: Atomization is not supported for ${Da[a]}.`), + oc = a => Error(`XPST0081: The prefix ${a} could not be resolved.`); + function pc(a, b) { + if (v(a.type, 46) || v(a.type, 19) || v(a.type, 0) || v(a.type, 4) || v(a.type, 3) || v(a.type, 6) || v(a.type, 5) || v(a.type, 2) || v(a.type, 23) || v(a.type, 1)) return w.create(a); + const c = b.h; + if (v(a.type, 53)) { + const d = a.value; + if (2 === d.node.nodeType || 3 === d.node.nodeType) return w.create(g(ib(c, d), 19)); + if (8 === d.node.nodeType || 7 === d.node.nodeType) return w.create(g(ib(c, d), 1)); + const e = []; + (function k(h) { + if (8 !== d.node.nodeType && 7 !== d.node.nodeType) { + var l = h.nodeType; + 3 === l || 4 === l ? e.push(c.getData(h)) : 1 !== l && 9 !== l && 11 !== l || c.getChildNodes(h).forEach(n => { + k(n); + }); + } + })(d.node); + return w.create(g(e.join(""), 19)); + } + if (v(a.type, 60) && !v(a.type, 62)) throw nc(a.type); + if (v(a.type, 62)) return jc(a.h.map(d => qc(d(), b))); + throw Error(`Atomizing ${a.type} is not implemented.`); + } + function qc(a, b) { + let c = !1; + const d = a.value; + let e = null; + return w.create({ + next: () => { + for (; !c;) { + if (!e) { + var f = d.next(0); + if (f.done) { + c = !0; + break; + } + e = pc(f.value, b).value; + } + f = e.next(0); + if (f.done) e = null;else return f; + } + return p; + } + }); + } + function rc(a) { + for (a = ua[a]; a && 0 !== a.C;) a = a.parent; + return a ? a.type : null; + } + function sc(a, b) { + b = ua[b]; + const c = b.Ka; + if (!c || !c.whiteSpace) return b.parent ? sc(a, b.parent.type) : a; + switch (b.Ka.whiteSpace) { + case "replace": + return a.replace(/[\u0009\u000A\u000D]/g, " "); + case "collapse": + return a.replace(/[\u0009\u000A\u000D]/g, " ").replace(/ {2,}/g, " ").replace(/^ | $/g, ""); + } + return a; + } + function tc(a, b) { + for (b = ua[b]; b && null === b.gb;) { + if (2 === b.C || 3 === b.C) return !0; + b = b.parent; + } + return b ? b.gb(a) : !0; + } + function uc(a, b) { + for (; a;) { + if (a.Oa && a.Oa[b]) return a.Oa[b]; + a = a.parent; + } + return () => !0; + } + function vc(a, b) { + let c = ua[b]; + for (; c;) { + if (c.Ka && !Object.keys(c.Ka).every(d => { + if ("whiteSpace" === d) return !0; + const e = uc(c, d); + return e ? e(a, c.Ka[d]) : !0; + })) return !1; + c = c.parent; + } + return !0; + } + function wc(a) { + return a ? 2 === a.g || 0 === a.g : !0; + } + function xc(a) { + return a(1) || a(19) ? b => ({ + u: !0, + value: g(b, 20) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:anyURI or any of its derived types.") + }); + } + function yc(a) { + return a(22) ? b => { + let c = ""; + for (let d = 0; d < b.length; d += 2) c += String.fromCharCode(parseInt(b.substr(d, 2), 16)); + return { + u: !0, + value: g(btoa(c), 21) + }; + } : a(1) || a(19) ? b => ({ + u: !0, + value: g(b, 21) + }) : () => ({ + error: Error("XPTY0004: Casting not supported from given type to xs:base64Binary or any of its derived types."), + u: !1 + }); + } + function zc(a) { + return a(2) ? b => ({ + u: !0, + value: 0 === b || isNaN(b) ? wa : va + }) : a(1) || a(19) ? b => { + switch (b) { + case "true": + case "1": + return { + u: !0, + value: va + }; + case "false": + case "0": + return { + u: !0, + value: wa + }; + default: + return { + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.") + }; + } + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:boolean or any of its derived types.") + }); + } + function Dc(a) { + return a(9) ? b => ({ + u: !0, + value: g(Lb(b, 7), 7) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 7) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:date or any of its derived types.") + }); + } + function Ec(a) { + return a(7) ? b => ({ + u: !0, + value: g(Lb(b, 9), 9) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 9) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:dateTime or any of its derived types.") + }); + } + function Fc(a) { + return a(18) && !a(16) ? b => ({ + u: !0, + value: g(b.Ga, 17) + }) : a(16) ? () => ({ + u: !0, + value: g(Ab("PT0.0S"), 17) + }) : a(19) || a(1) ? b => { + const c = Ab(b); + return c ? { + u: !0, + value: g(c, 17) + } : { + u: !1, + error: Error(`FORG0001: Can not cast ${b} to xs:dayTimeDuration`) + }; + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:dayTimeDuration or any of its derived types.") + }); + } + function Gc(a) { + return a(5) ? b => ({ + u: !0, + value: g(b, 4) + }) : a(6) || a(3) ? b => isNaN(b) || !isFinite(b) ? { + u: !1, + error: Error(`FOCA0002: Can not cast ${b} to xs:decimal`) + } : Math.abs(b) > Number.MAX_VALUE ? { + u: !1, + error: Error(`FOAR0002: Can not cast ${b} to xs:decimal, it is out of bounds for JavaScript numbers`) + } : { + u: !0, + value: g(b, 4) + } : a(0) ? b => ({ + u: !0, + value: g(b ? 1 : 0, 4) + }) : a(1) || a(19) ? b => { + const c = parseFloat(b); + return !isNaN(c) || isFinite(c) ? { + u: !0, + value: g(c, 4) + } : { + u: !1, + error: Error(`FORG0001: Can not cast ${b} to xs:decimal`) + }; + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:decimal or any of its derived types.") + }); + } + function Hc(a, b) { + return a(2) ? c => ({ + u: !0, + value: c + }) : a(0) ? c => ({ + u: !0, + value: c ? 1 : 0 + }) : a(1) || a(19) ? c => { + switch (c) { + case "NaN": + return { + u: !0, + value: NaN + }; + case "INF": + case "+INF": + return { + u: !0, + value: Infinity + }; + case "-INF": + return { + u: !0, + value: -Infinity + }; + case "0": + case "+0": + return { + u: !0, + value: 0 + }; + case "-0": + return { + u: !0, + value: -0 + }; + } + const d = parseFloat(c); + return isNaN(d) ? { + u: !1, + error: kc(c, b) + } : { + u: !0, + value: d + }; + } : () => ({ + u: !1, + error: Error(`XPTY0004: Casting not supported from given type to ${b} or any of its derived types.`) + }); + } + function Ic(a) { + const b = Hc(a, 3); + return c => { + c = b(c); + return c.u ? { + u: !0, + value: g(c.value, 3) + } : c; + }; + } + function Jc(a) { + const b = Math.abs(a.bb()); + a = Math.abs(a.ab()); + return `${b ? `${b}Y` : ""}` + `${a ? `${a}M` : ""}` || "0M"; + } + var Kc = class extends wb { + constructor(a) { + super(); + if (a > Number.MAX_SAFE_INTEGER || a < Number.MIN_SAFE_INTEGER) throw Error("FODT0002: Number of months given to construct YearMonthDuration overflows MAX_SAFE_INTEGER or MIN_SAFE_INTEGER"); + this.ea = a; + } + ab() { + const a = this.ea % 12; + return 0 === a ? 0 : a; + } + h() { + return this.ea; + } + bb() { + return Math.trunc(this.ea / 12); + } + na() { + return Object.is(-0, this.ea) ? !1 : 0 <= this.ea; + } + toString() { + return (this.na() ? "P" : "-P") + Jc(this); + } + }, + Lc = a => { + var b = /^(-)?P(\d+Y)?(\d+M)?(\d+D)?(?:T(\d+H)?(\d+M)?(\d+(\.\d*)?S)?)?$/.exec(a); + if (b) { + a = !b[1]; + b = 12 * (b[2] ? parseInt(b[2], 10) : 0) + (b[3] ? parseInt(b[3], 10) : 0); + if (b > Number.MAX_SAFE_INTEGER || !Number.isFinite(b)) throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration"); + a = new Kc(a || 0 === b ? b : -b); + } else a = null; + return a; + }; + function Mc(a, b) { + if (isNaN(b)) throw Error("FOCA0005: Cannot multiply xs:yearMonthDuration by NaN"); + a = Math.round(a.ea * b); + if (a > Number.MAX_SAFE_INTEGER || !Number.isFinite(a)) throw Error("FODT0002: Value overflow while constructing xs:yearMonthDuration"); + return new Kc(a < Number.MIN_SAFE_INTEGER || 0 === a ? 0 : a); + } + var Nc = class extends wb { + constructor(a, b) { + super(); + this.Va = a; + this.Ga = b; + } + $a() { + return this.Ga.$a(); + } + getHours() { + return this.Ga.getHours(); + } + getMinutes() { + return this.Ga.getMinutes(); + } + ab() { + return this.Va.ab(); + } + h() { + return this.Va.h(); + } + o() { + return this.Ga.o(); + } + getSeconds() { + return this.Ga.getSeconds(); + } + bb() { + return this.Va.bb(); + } + na() { + return this.Va.na() && this.Ga.na(); + } + toString() { + const a = this.na() ? "P" : "-P", + b = Jc(this.Va), + c = xb(this.Ga); + return "0M" === b ? a + c : "T0S" === c ? a + b : a + b + c; + } + }; + function Oc(a) { + return a(16) ? b => ({ + u: !0, + value: g(new Nc(b, new yb(b.na() ? 0 : -0)), 18) + }) : a(17) ? b => { + b = new Nc(new Kc(b.na() ? 0 : -0), b); + return { + u: !0, + value: g(b, 18) + }; + } : a(18) ? b => ({ + u: !0, + value: g(b, 18) + }) : a(19) || a(1) ? b => { + var c; + return c = new Nc(Lc(b), Ab(b)), { + u: !0, + value: g(c, 18) + }; + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:duration or any of its derived types.") + }); + } + function Pc(a) { + const b = Hc(a, 6); + return c => { + c = b(c); + return c.u ? { + u: !0, + value: g(c.value, 6) + } : c; + }; + } + function Qc(a) { + return a(7) || a(9) ? b => ({ + u: !0, + value: g(Lb(b, 15), 15) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 15) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:gDay or any of its derived types.") + }); + } + function Rc(a) { + return a(7) || a(9) ? b => ({ + u: !0, + value: g(Lb(b, 14), 14) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 14) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:gMonth or any of its derived types.") + }); + } + function Sc(a) { + return a(7) || a(9) ? b => ({ + u: !0, + value: g(Lb(b, 13), 13) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 13) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:gMonthDay or any of its derived types.") + }); + } + function Tc(a) { + return a(7) || a(9) ? b => ({ + u: !0, + value: g(Lb(b, 12), 12) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 12) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:gYear or any of its derived types.") + }); + } + function Uc(a) { + return a(7) || a(9) ? b => ({ + u: !0, + value: g(Lb(b, 11), 11) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 11) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:gYearMonth or any of its derived types.") + }); + } + function Vc(a) { + return a(21) ? b => { + b = atob(b); + let c = ""; + for (let d = 0, e = b.length; d < e; d++) c += Number(b.charCodeAt(d)).toString(16); + return { + u: !0, + value: g(c.toUpperCase(), 22) + }; + } : a(1) || a(19) ? b => ({ + u: !0, + value: g(b, 22) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:hexBinary or any of its derived types.") + }); + } + function Wc(a) { + return a(0) ? b => ({ + u: !0, + value: g(b ? 1 : 0, 5) + }) : a(2) ? b => { + const c = Math.trunc(b); + return !isFinite(c) || isNaN(c) ? { + u: !1, + error: Error(`FOCA0002: can not cast ${b} to xs:integer`) + } : Number.isSafeInteger(c) ? { + u: !0, + value: g(c, 5) + } : { + u: !1, + error: Error(`FOAR0002: can not cast ${b} to xs:integer, it is out of bounds for JavaScript numbers.`) + }; + } : a(1) || a(19) ? b => { + const c = parseInt(b, 10); + return isNaN(c) ? { + u: !1, + error: kc(b, 5) + } : Number.isSafeInteger(c) ? { + u: !0, + value: g(c, 5) + } : { + u: !1, + error: Error(`FOCA0003: can not cast ${b} to xs:integer, it is out of bounds for JavaScript numbers.`) + }; + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:integer or any of its derived types.") + }); + } + const Xc = [3, 6, 4, 5]; + function Yc(a) { + var b = Zc; + return c => { + for (const d of Xc) { + const e = b(a, d)(c); + if (e.u) return e; + } + return { + u: !1, + error: Error(`XPTY0004: Casting not supported from "${c}" given type to xs:numeric or any of its derived types.`) + }; + }; + } + function $c(a) { + if (a(1) || a(19)) return b => ({ + u: !0, + value: b + "" + }); + if (a(20)) return b => ({ + u: !0, + value: b + }); + if (a(23)) return b => ({ + u: !0, + value: b.prefix ? `${b.prefix}:${b.localName}` : b.localName + }); + if (a(44)) return b => ({ + u: !0, + value: b.toString() + }); + if (a(2)) { + if (a(5) || a(4)) return b => ({ + u: !0, + value: (b + "").replace("e", "E") + }); + if (a(6) || a(3)) return b => isNaN(b) ? { + u: !0, + value: "NaN" + } : isFinite(b) ? Object.is(b, -0) ? { + u: !0, + value: "-0" + } : { + u: !0, + value: (b + "").replace("e", "E").replace("E+", "E") + } : { + u: !0, + value: `${0 > b ? "-" : ""}INF` + }; + } + return a(9) || a(7) || a(8) || a(15) || a(14) || a(13) || a(12) || a(11) ? b => ({ + u: !0, + value: b.toString() + }) : a(16) ? b => ({ + u: !0, + value: b.toString() + }) : a(17) ? b => ({ + u: !0, + value: b.toString() + }) : a(18) ? b => ({ + u: !0, + value: b.toString() + }) : a(22) ? b => ({ + u: !0, + value: b.toUpperCase() + }) : b => ({ + u: !0, + value: b + "" + }); + } + function ad(a) { + const b = $c(a); + return c => { + c = b(c); + return c.u ? { + u: !0, + value: g(c.value, 1) + } : c; + }; + } + function bd(a) { + return a(9) ? b => ({ + u: !0, + value: g(Lb(b, 8), 8) + }) : a(19) || a(1) ? b => ({ + u: !0, + value: g(Jb(b), 8) + }) : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:time or any of its derived types.") + }); + } + function cd(a) { + const b = $c(a); + return c => { + c = b(c); + return c.u ? { + u: !0, + value: g(c.value, 19) + } : c; + }; + } + function dd(a) { + return a(18) && !a(17) ? b => ({ + u: !0, + value: g(b.Va, 16) + }) : a(17) ? () => ({ + u: !0, + value: g(Lc("P0M"), 16) + }) : a(19) || a(1) ? b => { + const c = Lc(b); + return c ? { + u: !0, + value: g(c, 16) + } : { + u: !1, + error: kc(b, 16) + }; + } : () => ({ + u: !1, + error: Error("XPTY0004: Casting not supported from given type to xs:yearMonthDuration or any of its derived types.") + }); + } + const ed = [2, 5, 17, 16]; + function Zc(a, b) { + const c = d => v(a, d); + if (39 === b) return () => ({ + u: !1, + error: Error("FORG0001: Casting to xs:error is always invalid.") + }); + switch (b) { + case 19: + return cd(c); + case 1: + return ad(c); + case 6: + return Pc(c); + case 3: + return Ic(c); + case 4: + return Gc(c); + case 5: + return Wc(c); + case 2: + return Yc(a); + case 18: + return Oc(c); + case 16: + return dd(c); + case 17: + return Fc(c); + case 9: + return Ec(c); + case 8: + return bd(c); + case 7: + return Dc(c); + case 11: + return Uc(c); + case 12: + return Tc(c); + case 13: + return Sc(c); + case 15: + return Qc(c); + case 14: + return Rc(c); + case 0: + return zc(c); + case 21: + return yc(c); + case 22: + return Vc(c); + case 20: + return xc(c); + case 23: + throw Error("Casting to xs:QName is not implemented."); + } + return () => ({ + u: !1, + error: Error(`XPTY0004: Casting not supported from ${a} to ${b}.`) + }); + } + const gd = Object.create(null); + function hd(a, b) { + if (19 === a && 1 === b) return f => ({ + u: !0, + value: g(f, 1) + }); + if (44 === b) return () => ({ + u: !1, + error: Error("XPST0080: Casting to xs:NOTATION is not permitted.") + }); + if (39 === b) return () => ({ + u: !1, + error: Error("FORG0001: Casting to xs:error is not permitted.") + }); + if (45 === a || 45 === b) return () => ({ + u: !1, + error: Error("XPST0080: Casting from or to xs:anySimpleType is not permitted.") + }); + if (46 === a || 46 === b) return () => ({ + u: !1, + error: Error("XPST0080: Casting from or to xs:anyAtomicType is not permitted.") + }); + if (v(a, 60) && 1 === b) return () => ({ + u: !1, + error: Error("FOTY0014: Casting from function item to xs:string is not permitted.") + }); + if (a === b) return f => ({ + u: !0, + value: { + type: b, + value: f + } + }); + const c = ed.includes(a) ? a : rc(a), + d = ed.includes(b) ? b : rc(b); + if (null === d || null === c) return () => ({ + u: !1, + error: Error(`XPST0081: Can not cast: type ${d ? Da[a] : Da[b]} is unknown.`) + }); + const e = []; + 1 !== c && 19 !== c || e.push(f => { + const h = sc(f, b); + return tc(h, b) ? { + u: !0, + value: h + } : { + u: !1, + error: kc(f, b, "pattern validation failed.") + }; + }); + c !== d && (e.push(Zc(c, d)), e.push(f => ({ + u: !0, + value: f.value + }))); + 19 !== d && 1 !== d || e.push(f => tc(f, b) ? { + u: !0, + value: f + } : { + u: !1, + error: kc(f, b, "pattern validation failed.") + }); + e.push(f => vc(f, b) ? { + u: !0, + value: f + } : { + u: !1, + error: kc(f, b, "pattern validation failed.") + }); + e.push(f => ({ + u: !0, + value: { + type: b, + value: f + } + })); + return f => { + f = { + u: !0, + value: f + }; + for (let h = 0, k = e.length; h < k && (f = e[h](f.value), !1 !== f.u); ++h); + return f; + }; + } + function id(a, b) { + const c = a.type + 1E4 * b; + let d = gd[c]; + d ||= gd[c] = hd(a.type, b); + return d.call(void 0, a.value, b); + } + function jd(a, b) { + a = id(a, b); + if (!0 === a.u) return a.value; + throw a.error; + } + function kd(a) { + let b = !1; + return { + next: () => { + if (b) return p; + b = !0; + return q(a); + } + }; + } + function ld(a, b) { + return a === b ? !0 : a && b && a.offset === b.offset && a.parent === b.parent ? ld(a.G, b.G) : !1; + } + function md(a, b) { + return a === b || a.node === b.node && ld(a.G, b.G) ? !0 : !1; + } + function nd(a, b, c) { + var d = x(a, b, null); + a = hb(a, d, null); + for (let e = 0, f = a.length; e < f; ++e) { + d = a[e]; + if (md(d, b)) return -1; + if (md(d, c)) return 1; + } + } + function od(a, b) { + const c = []; + for (; b; b = x(a, b, null)) c.unshift(b); + return c; + } + function pd(a, b) { + const c = []; + for (; b; b = a.getParentNode(b, null)) c.unshift(b); + return c; + } + function qd(a, b, c, d) { + if (c.G || d.G || cb(c.node) || cb(d.node)) { + if (md(c, d)) return 0; + c = od(b, c); + d = od(b, d); + const f = c[0], + h = d[0]; + if (!md(f, h)) return b = a.findIndex(k => md(k, f)), c = a.findIndex(k => md(k, h)), -1 === b && (b = a.push(f)), -1 === c && (c = a.push(h)), b - c; + a = 1; + for (var e = Math.min(c.length, d.length); a < e && md(c[a], d[a]); ++a); + return c[a] ? d[a] ? nd(b, c[a], d[a]) : 1 : -1; + } + c = c.node; + e = d.node; + if (c === e) return 0; + d = pd(b, c); + c = pd(b, e); + if (d[0] !== c[0]) { + const f = { + node: d[0], + G: null + }, + h = { + node: c[0], + G: null + }; + b = a.findIndex(k => md(k, f)); + c = a.findIndex(k => md(k, h)); + -1 === b && (b = a.push(f)); + -1 === c && (c = a.push(h)); + return b - c; + } + a = 1; + for (e = Math.min(d.length, c.length); a < e && d[a] === c[a]; ++a); + d = d[a]; + e = c[a]; + if (!d) return -1; + if (!e) return 1; + b = b.getChildNodes(c[a - 1], null); + for (let f = 0, h = b.length; f < h; ++f) { + a = b[f]; + if (a === d) return -1; + if (a === e) return 1; + } + } + function rd(a, b, c, d) { + const e = v(c.type, 47), + f = v(d.type, 47); + if (e && !f) { + if (c = x(b, c.value), d = d.value, md(c, d)) return 1; + } else if (f && !e) { + if (c = c.value, d = x(b, d.value), md(c, d)) return -1; + } else if (e && f) { + if (md(x(b, d.value), x(b, c.value))) return c.value.node.localName > d.value.node.localName ? 1 : -1; + c = x(b, c.value); + d = x(b, d.value); + } else c = c.value, d = d.value; + return qd(a, b, c, d); + } + function sd(a, b, c) { + return rd(a.o, a, b, c); + } + function td(a, b) { + return ud(b, (c, d) => rd(a.o, a, c, d)).filter((c, d, e) => 0 === d ? !0 : !md(c.value, e[d - 1].value)); + } + const vd = (a, b) => a < b ? -1 : 0; + function ud(a, b = vd) { + if (1 >= a.length) return a; + var c = Math.floor(a.length / 2); + const d = ud(a.slice(0, c), b); + a = ud(a.slice(c), b); + for (c = []; d.length && a.length;) 0 > b(d[0], a[0]) ? c.push(d.shift()) : c.push(a.shift()); + return c.concat(d.concat(a)); + } + var wd = xspattern; + function xd(a, b) { + if (v(a.type, 2)) { + if (v(a.type, 6)) return 3 === b ? g(a.value, 3) : null; + if (v(a.type, 4)) { + if (6 === b) return g(a.value, 6); + if (3 === b) return g(a.value, 3); + } + return null; + } + return v(a.type, 20) && 1 === b ? g(a.value, 1) : null; + } + function yd(a, b, c, d, e) { + if (v(a.type, b.type)) return a; + v(b.type, 46) && v(a.type, 53) && (a = pc(a, c).first()); + if (v(a.type, b.type) || 46 === b.type) return a; + if (v(a.type, 19)) { + c = jd(a, b.type); + if (!c) throw Error(`XPTY0004 Unable to convert ${e ? "return" : "argument"} of type ${Da[a.type]} to type ${Ha(b)} while calling ${d}`); + return c; + } + c = xd(a, b.type); + if (!c) throw Error(`XPTY0004 Unable to cast ${e ? "return" : "argument"} of type ${Da[a.type]} to type ${Ha(b)} while calling ${d}`); + return c; + } + function zd(a) { + switch (a) { + case 2: + return "*"; + case 1: + return "+"; + case 0: + return "?"; + case 3: + return ""; + } + } + var Ad = (a, b, c, d, e) => 0 === a.g ? b.X({ + default: () => b.map(f => yd(f, a, c, d, e)), + multiple: () => { + throw Error(`XPTY0004: Multiplicity of ${e ? "function return value" : "function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected "?", but got "+".`); + } + }) : 1 === a.g ? b.X({ + empty: () => { + throw Error(`XPTY0004: Multiplicity of ${e ? "function return value" : "function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected "+", but got "empty-sequence()"`); + }, + default: () => b.map(f => yd(f, a, c, d, e)) + }) : 2 === a.g ? b.map(f => yd(f, a, c, d, e)) : b.X({ + m: () => b.map(f => yd(f, a, c, d, e)), + default: () => { + throw Error(`XPTY0004: Multiplicity of ${e ? "function return value" : "function argument"} of type ${Da[a.type]}${zd(a.g)} for ${d} is incorrect. Expected exactly one`); + } + }); + function Bd(a, b) { + return v(a, 5) ? g(b, 5) : v(a, 6) ? g(b, 6) : v(a, 3) ? g(b, 3) : g(b, 4); + } + const Cd = [{ + la: "M", + ja: 1E3 + }, { + la: "CM", + ja: 900 + }, { + la: "D", + ja: 500 + }, { + la: "CD", + ja: 400 + }, { + la: "C", + ja: 100 + }, { + la: "XC", + ja: 90 + }, { + la: "L", + ja: 50 + }, { + la: "XL", + ja: 40 + }, { + la: "X", + ja: 10 + }, { + la: "IX", + ja: 9 + }, { + la: "V", + ja: 5 + }, { + la: "IV", + ja: 4 + }, { + la: "I", + ja: 1 + }]; + function Dd(a, b) { + const c = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + let d = Cd.reduce((e, f) => { + const h = Math.floor(a / f.ja); + a -= h * f.ja; + return e + f.la.repeat(h); + }, ""); + b && (d = d.toLowerCase()); + c && (d = `-${d}`); + return d; + } + const Ed = "ABCDEFGHIJKLMNOPQRSTUVWXYZ".split(""); + function Fd(a, b) { + const c = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + let d = "", + e; + for (; 0 < a;) e = (a - 1) % Ed.length, d = Ed[e] + d, a = (a - e) / Ed.length | 0; + b && (d = d.toLowerCase()); + c && (d = `-${d}`); + return d; + } + function Gd(a, b, c = []) { + return Array.from({ + length: b + }, (d, e) => e + a).filter(d => !c.includes(d)); + } + const Hd = Gd(1488, 27, [1498, 1501, 1503, 1507, 1509]), + Id = Gd(1575, 36, [1577, 1595, 1596, 1597, 1598, 1599, 1600, 1609]), + Jd = "\u0623\u0628\u062c\u062f\u0647\u0648\u0632\u062d\u0637\u064a\u0643\u0644\u0645\u0646\u0633\u0639\u0641\u0635\u0642\u0631\u0634\u062a\u062b\u062e\u0630\u0636\u0638\u063a".split(""), + Kd = [[1E3, "\u063a"], [900, "\u0638"], [800, "\u0636"], [700, "\u0630"], [600, "\u062e"], [500, "\u062b"], [400, "\u062a"], [300, "\u0634"], [200, "\u0631"], [100, "\u0642"], [90, "\u0635"], [80, "\u0641"], [70, "\u0639"], [60, "\u0633"], [50, "\u0646"], [40, "\u0645"], [30, "\u0644"], [20, "\u0643"], [10, "\u064a"], [9, "\u0637"], [8, "\u062d"], [7, "\u0632"], [6, "\u0648"], [5, "\u0647"], [4, "\u062f"], [3, "\u062c"], [2, "\u0628"], [1, "\u0623"]], + Ld = [[400, "\u05ea"], [300, "\u05e9"], [200, "\u05e8"], [100, "\u05e7"], [90, "\u05e6"], [80, "\u05e4"], [70, "\u05e2"], [60, "\u05e1"], [50, "\u05e0"], [40, "\u05de"], [30, "\u05dc"], [20, "\u05db"], [10, "\u05d9"], [9, "\u05d8"], [8, "\u05d7"], [7, "\u05d6"], [6, "\u05d5"], [5, "\u05d4"], [4, "\u05d3"], [3, "\u05d2"], [2, "\u05d1"], [1, "\u05d0"]]; + function Md(a, b = []) { + var c = 25; + b.sort((d, e) => d - e); + c -= b.length; + return function (d) { + const e = 0 > d; + d = Math.abs(d); + if (!d) return "-"; + const f = []; + for (; 0 < d;) { + let h = a + (d - 1) % c; + b.forEach(k => { + h >= k && h++; + }); + f.unshift(String.fromCodePoint(h)); + d = Math.floor((d - 1) / c); + } + d = f.join(""); + e && (d = `-${d}`); + return d; + }; + } + const Nd = Md(945, [962]), + Od = Md(913, [930]); + function Pd(a) { + return new Intl.NumberFormat([], { + numberingSystem: "arab", + useGrouping: !1 + }).format(a); + } + function Qd(a) { + return new Intl.NumberFormat([], { + numberingSystem: "arabext", + useGrouping: !1 + }).format(a); + } + const Rd = new Map([["A", function (a) { + return Fd(a, !1); + }], ["a", function (a) { + return Fd(a, !0); + }], ["I", function (a) { + return Dd(a, !1); + }], ["i", function (a) { + return Dd(a, !0); + }], ["lowerGreek", Nd], ["\u03b1", Nd], ["upperGreek", Od], ["\u0391", Od], ["arabicAbjadi", function (a) { + const b = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + a = Array(Math.floor((a - 1) / Jd.length) + 1).fill(Jd[(a - 1) % Jd.length]).join(String.fromCodePoint(8204)); + b && (a = `-${a}`); + return a; + }], ["arabicAbjadNumeral", function (a) { + const b = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + var c = [], + d = Math.floor(a / 1E3); + a -= 1E3 * d; + if (1 === d) c.push(Kd[0][1]);else if (1 < d) { + for (const [f, h] of Kd) { + var e = f; + const k = h; + for (; d >= e;) c.push(k), d -= e; + } + c.push(Kd[0][1]); + } + for (const [f, h] of Kd) for (d = f, e = h; a >= d;) a -= d, c.push(e); + c = c.join(""); + b && (c = `-${c}`); + return c; + }], ["arabicAlifBaTa", function (a) { + const b = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + a = Array(Math.floor((a - 1) / Id.length) + 1).fill(String.fromCodePoint(Id[(a - 1) % Id.length])).join(String.fromCodePoint(8204)); + b && (a = `-${a}`); + return a; + }], ["hebrewAlefBet", function (a) { + const b = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + var c = Math.floor((a - 1) / Hd.length); + const d = String.fromCodePoint(1514); + c = Array(c).fill(d); + c.push(String.fromCodePoint(Hd[(a - 1) % Hd.length])); + a = c.join(""); + b && (a = `-${a}`); + return a; + }], ["hebrewNumeral", function (a) { + const b = 0 > a; + a = Math.abs(a); + if (!a) return "-"; + var c = [], + d = Math.floor(a / 400); + a -= 400 * d; + for (var e = 0; e < d; e++) c.push("\u05ea"); + for (const [f, h] of Ld) for (d = f, e = h; a >= d;) a -= d, c.push(e); + a = c.slice(-2).join(""); + "\u05d9\u05d4" === a && c.splice(-2, 2, "\u05d8", "\u05d5"); + "\u05d9\u05d5" === a && c.splice(-2, 2, "\u05d8", "\u05d6"); + c = c.join(""); + b && (c = `-${c}`); + return c; + }], ["arabicIndicNumeral", Pd], ["\u0661", Pd], ["\u0662", Pd], ["\u0663", Pd], ["\u0664", Pd], ["\u0665", Pd], ["\u0666", Pd], ["\u0667", Pd], ["\u0668", Pd], ["\u0669", Pd], ["persianNumeral", Qd], ["\u06f1", Qd], ["\u06f2", Qd], ["\u06f3", Qd], ["\u06f4", Qd], ["\u06f5", Qd], ["\u06f6", Qd], ["\u06f7", Qd], ["\u06f8", Qd], ["\u06f9", Qd]]); + function Sd(a) { + if (Math.floor(a) === a || isNaN(a)) return 0; + a = /\d+(?:\.(\d*))?(?:[Ee](-)?(\d+))*/.exec(`${a}`); + const b = a[1] ? a[1].length : 0; + if (a[3]) { + if (a[2]) return b + parseInt(a[3], 10); + a = b - parseInt(a[3], 10); + return 0 > a ? 0 : a; + } + return b; + } + function Td(a, b, c) { + return b && 0 === a * c % 1 % .5 ? 0 === Math.floor(a * c) % 2 ? Math.floor(a * c) / c : Math.ceil(a * c) / c : Math.round(a * c) / c; + } + function Ud(a, b, c, d, e, f) { + let h = !1; + return w.create({ + next: () => { + if (h) return p; + const k = e.first(); + if (!k) return h = !0, p; + if ((v(k.type, 6) || v(k.type, 3)) && (0 === k.value || isNaN(k.value) || Infinity === k.value || -Infinity === k.value)) return h = !0, q(k); + var l; + f ? l = f.first().value : l = 0; + h = !0; + if (Sd(k.value) < l) return q(k); + const n = [5, 4, 3, 6].find(u => v(k.type, u)), + t = jd(k, 4); + l = Td(t.value, a, Math.pow(10, l)); + switch (n) { + case 4: + return q(g(l, 4)); + case 3: + return q(g(l, 3)); + case 6: + return q(g(l, 6)); + case 5: + return q(g(l, 5)); + } + } + }); + } + const Vd = (a, b, c, d) => qc(d, b).X({ + empty: () => w.m(g(NaN, 3)), + m: () => { + const e = id(d.first(), 3); + return e.u ? w.m(e.value) : w.m(g(NaN, 3)); + }, + multiple: () => { + throw Error("fn:number may only be called with zero or one values"); + } + }); + function Wd(a) { + let b = 5381; + for (let c = 0; c < a.length; ++c) b = 33 * b + a.charCodeAt(c), b %= Number.MAX_SAFE_INTEGER; + return b; + } + const Xd = (a, b, c, d = w.empty()) => { + function e(f) { + const h = (k, l, n, t) => { + if (t.F() || t.oa()) return t; + k = t.O(); + l = f; + for (n = k.length - 1; 1 < n; n--) { + l = gc(a, l).rb; + t = l % n; + const u = k[t]; + k[t] = k[n]; + k[n] = u; + } + return w.create(k); + }; + return w.m(new ub([{ + key: g("number", 1), + value: () => w.m(g(gc(a, f).$b, 3)) + }, { + key: g("next", 1), + value: () => w.m(new Va({ + value: () => e(gc(a, f).rb), + Ya: !0, + localName: "", + namespaceURI: "", + j: [], + arity: 0, + i: { + type: 61, + g: 3 + } + })) + }, { + key: g("permute", 1), + value: () => w.m(new Va({ + value: h, + Ya: !0, + localName: "", + namespaceURI: "", + j: [{ + type: 59, + g: 2 + }], + arity: 1, + i: { + type: 59, + g: 2 + } + })) + }])); + } + b = d.F() ? gc(a) : gc(a, Wd(jd(d.first(), 1).value)); + return e(b.rb); + }; + var Yd = [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "abs", + j: [{ + type: 2, + g: 0 + }], + i: { + type: 2, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => Bd(e.type, Math.abs(e.value))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "format-integer", + j: [{ + type: 5, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = d.first(); + e = e.first(); + if (d.F()) return w.m(g("", 1)); + d = Rd.get(e.value); + e = a.value; + return d ? (d = d(e), w.m(g(d, 1))) : w.m(g(e.toString(), 1)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "ceiling", + j: [{ + type: 2, + g: 0 + }], + i: { + type: 2, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => Bd(e.type, Math.ceil(e.value))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "floor", + j: [{ + type: 2, + g: 0 + }], + i: { + type: 2, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => Bd(e.type, Math.floor(e.value))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "round", + j: [{ + type: 2, + g: 0 + }], + i: { + type: 2, + g: 0 + }, + callFunction: Ud.bind(null, !1) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "round", + j: [{ + type: 2, + g: 0 + }, { + type: 5, + g: 3 + }], + i: { + type: 2, + g: 0 + }, + callFunction: Ud.bind(null, !1) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "round-half-to-even", + j: [{ + type: 2, + g: 0 + }], + i: { + type: 2, + g: 0 + }, + callFunction: Ud.bind(null, !0) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "round-half-to-even", + j: [{ + type: 2, + g: 0 + }, { + type: 5, + g: 3 + }], + i: { + type: 2, + g: 0 + }, + callFunction: Ud.bind(null, !0) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "number", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 3, + g: 3 + }, + callFunction: Vd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "number", + j: [], + i: { + type: 3, + g: 3 + }, + callFunction: (a, b, c) => { + const d = a.M && Ad({ + type: 46, + g: 0 + }, w.m(a.M), b, "fn:number", !1); + if (!d) throw lc("fn:number needs an atomizable context item."); + return Vd(a, b, c, d); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "random-number-generator", + j: [], + i: { + type: 61, + g: 3 + }, + callFunction: Xd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "random-number-generator", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 61, + g: 3 + }, + callFunction: Xd + }]; + function Zd() { + throw Error("FOCH0002: No collations are supported"); + } + function $d(a, b, c, d) { + if (null === b.M) throw lc("The function which was called depends on dynamic context, which is absent."); + return a(b, c, d, w.m(b.M)); + } + const ae = (a, b, c, d) => d.X({ + empty: () => w.m(g("", 1)), + default: () => d.map(e => { + if (v(e.type, 53)) { + const f = pc(e, b).first(); + return v(e.type, 47) ? jd(f, 1) : f; + } + return jd(e, 1); + }) + }), + be = (a, b, c, d, e) => A([e], ([f]) => qc(d, b).N(h => { + h = h.map(k => jd(k, 1).value).join(f.value); + return w.m(g(h, 1)); + })), + ce = (a, b, c, d) => { + if (d.F()) return w.m(g(0, 5)); + a = d.first().value; + return w.m(g(Array.from(a).length, 5)); + }, + ee = (a, b, c, d, e, f) => { + const h = Ud(!1, a, b, c, e, null), + k = null !== f ? Ud(!1, a, b, c, f, null) : null; + let l = !1, + n = null, + t = null, + u = null; + return w.create({ + next: () => { + if (l) return p; + if (!n && (n = d.first(), null === n)) return l = !0, q(g("", 1)); + t ||= h.first(); + !u && f && (u = null, u = k.first()); + l = !0; + return q(g(Array.from(n.value).slice(Math.max(t.value - 1, 0), f ? t.value + u.value - 1 : void 0).join(""), 1)); + } + }); + }, + ge = (a, b, c, d, e) => { + if (d.F() || 0 === d.first().value.length) return w.empty(); + a = d.first().value; + e = e.first().value; + e = fe(e); + e.lastIndex = 0; + b = []; + c = e.exec(a); + for (d = 0; c;) b.push(a.slice(d, c.index)), d = e.lastIndex, c = e.exec(a); + b.push(a.slice(d)); + return w.create(b.map(f => g(f, 1))); + }, + he = (a, b, c, d) => { + if (d.F()) return w.m(g("", 1)); + a = d.first().value.trim(); + return w.m(g(a.replace(/\s+/g, " "), 1)); + }, + ie = new Map(), + je = new Map(); + function fe(a) { + if (je.has(a)) return je.get(a); + let b; + try { + b = new RegExp(a, "g"); + } catch (c) { + throw Error(`FORX0002: ${c}`); + } + if (b.test("")) throw Error(`FORX0003: the pattern ${a} matches the zero length string`); + je.set(a, b); + return b; + } + var ke = [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "compare", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d, e) => { + if (d.F() || e.F()) return w.empty(); + a = d.first().value; + e = e.first().value; + return a > e ? w.m(g(1, 5)) : a < e ? w.m(g(-1, 5)) : w.m(g(0, 5)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "compare", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Zd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "concat", + j: [{ + type: 46, + g: 0 + }, { + type: 46, + g: 0 + }, 4], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, ...d) => { + d = d.map(e => qc(e, b).N(f => w.m(g(f.map(h => null === h ? "" : jd(h, 1).value).join(""), 1)))); + return A(d, e => w.m(g(e.map(f => f.value).join(""), 1))); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "contains", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 0, + g: 3 + }, + callFunction: Zd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "contains", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = d.F() ? "" : d.first().value; + e = e.F() ? "" : e.first().value; + return 0 === e.length ? w.aa() : 0 === a.length ? w.T() : a.includes(e) ? w.aa() : w.T(); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "ends-with", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = e.F() ? "" : e.first().value; + if (0 === a.length) return w.aa(); + d = d.F() ? "" : d.first().value; + return 0 === d.length ? w.T() : d.endsWith(a) ? w.aa() : w.T(); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "ends-with", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 0, + g: 3 + }, + callFunction: Zd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "normalize-space", + j: [{ + type: 1, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: he + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "normalize-space", + j: [], + i: { + type: 1, + g: 3 + }, + callFunction: $d.bind(null, (a, b, c, d) => he(a, b, c, ae(a, b, c, d))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "starts-with", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = e.F() ? "" : e.first().value; + if (0 === a.length) return w.aa(); + d = d.F() ? "" : d.first().value; + return 0 === d.length ? w.T() : d.startsWith(a) ? w.aa() : w.T(); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "starts-with", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 0, + g: 3 + }, + callFunction: Zd + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string", + j: [{ + type: 59, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: ae + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string", + j: [], + i: { + type: 1, + g: 3 + }, + callFunction: $d.bind(null, ae) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "substring-before", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = d.F() ? "" : d.first().value; + e = e.F() ? "" : e.first().value; + if ("" === e) return w.m(g("", 1)); + e = a.indexOf(e); + return -1 === e ? w.m(g("", 1)) : w.m(g(a.substring(0, e), 1)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "substring-after", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, d, e) => { + a = d.F() ? "" : d.first().value; + e = e.F() ? "" : e.first().value; + if ("" === e) return w.m(g(a, 1)); + b = a.indexOf(e); + return -1 === b ? w.m(g("", 1)) : w.m(g(a.substring(b + e.length), 1)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "substring", + j: [{ + type: 1, + g: 0 + }, { + type: 3, + g: 3 + }], + i: { + type: 1, + g: 3 + }, + callFunction: ee + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "substring", + j: [{ + type: 1, + g: 0 + }, { + type: 3, + g: 3 + }, { + type: 3, + g: 3 + }], + i: { + type: 1, + g: 3 + }, + callFunction: ee + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "upper-case", + j: [{ + type: 1, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, d) => d.F() ? w.m(g("", 1)) : d.map(e => g(e.value.toUpperCase(), 1)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "lower-case", + j: [{ + type: 1, + g: 0 + }], + i: { + type: 1, + g: 3 + }, + callFunction: (a, b, c, d) => d.F() ? w.m(g("", 1)) : d.map(e => g(e.value.toLowerCase(), 1)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string-join", + j: [{ + type: 46, + g: 2 + }, { + type: 1, + g: 3 + }], + i: { + type: 1, + g: 3 + }, + callFunction: be + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string-join", + j: [{ + type: 46, + g: 2 + }], + i: { + type: 1, + g: 3 + }, + callFunction(a, b, c, d) { + return be(a, b, c, d, w.m(g("", 1))); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string-length", + j: [{ + type: 1, + g: 0 + }], + i: { + type: 5, + g: 3 + }, + callFunction: ce + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "string-length", + j: [], + i: { + type: 5, + g: 3 + }, + callFunction: $d.bind(null, (a, b, c, d) => ce(a, b, c, ae(a, b, c, d))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "tokenize", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }, { + type: 1, + g: 3 + }], + i: { + type: 1, + g: 2 + }, + callFunction() { + throw Error("Not implemented: Using flags in tokenize is not supported"); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "tokenize", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 1, + g: 2 + }, + callFunction: ge + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "tokenize", + j: [{ + type: 1, + g: 0 + }], + i: { + type: 1, + g: 2 + }, + callFunction(a, b, c, d) { + return ge(a, b, c, he(a, b, c, d), w.m(g(" ", 1))); + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }, { + type: 1, + g: 3 + }], + callFunction: (a, b, c, d, e, f) => A([d, e, f], ([h, k, l]) => { + h = Array.from(h ? h.value : ""); + const n = Array.from(k.value), + t = Array.from(l.value); + k = h.map(u => { + if (n.includes(u)) { + if (u = n.indexOf(u), u <= t.length) return t[u]; + } else return u; + }); + return w.m(g(k.join(""), 1)); + }), + localName: "translate", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 5, + g: 2 + }], + callFunction: (a, b, c, d) => d.N(e => { + e = e.map(f => { + f = f.value; + if (9 === f || 10 === f || 13 === f || 32 <= f && 55295 >= f || 57344 <= f && 65533 >= f || 65536 <= f && 1114111 >= f) return String.fromCodePoint(f); + throw Error("FOCH0001"); + }).join(""); + return w.m(g(e, 1)); + }), + localName: "codepoints-to-string", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }], + callFunction: (a, b, c, d) => A([d], ([e]) => { + e = e ? e.value.split("") : []; + return 0 === e.length ? w.empty() : w.create(e.map(f => g(f.codePointAt(0), 5))); + }), + localName: "string-to-codepoints", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 5, + g: 2 + } + }, { + j: [{ + type: 1, + g: 0 + }], + callFunction: (a, b, c, d) => A([d], ([e]) => null === e || 0 === e.value.length ? w.create(g("", 1)) : w.create(g(encodeURIComponent(e.value).replace(/[!'()*]/g, f => "%" + f.charCodeAt(0).toString(16).toUpperCase()), 1))), + localName: "encode-for-uri", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }], + callFunction: (a, b, c, d) => A([d], ([e]) => null === e || 0 === e.value.length ? w.create(g("", 1)) : w.create(g(e.value.replace(/([\u00A0-\uD7FF\uE000-\uFDCF\uFDF0-\uFFEF "<>{}|\\^`/\n\u007f\u0080-\u009f]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g, f => encodeURI(f)), 1))), + localName: "iri-to-uri", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 0 + }], + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + if (null === f || null === h) return w.empty(); + f = f.value; + var k = h.value; + if (f.length !== k.length) return w.T(); + h = f.split(""); + f = k.split(""); + for (k = 0; k < h.length; k++) if (h[k].codePointAt(0) !== f[k].codePointAt(0)) return w.T(); + return w.aa(); + }), + localName: "codepoint-equal", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 0 + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + f = f ? f.value : ""; + h = h.value; + let k = ie.get(h); + if (!k) { + try { + k = (0, wd.compile)(h, { + language: "xpath" + }); + } catch (l) { + throw Error(`FORX0002: ${l}`); + } + ie.set(h, k); + } + return k(f) ? w.aa() : w.T(); + }), + localName: "matches", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }, { + type: 1, + g: 3 + }], + callFunction: (a, b, c, d, e, f) => A([d, e, f], ([h, k, l]) => { + h = h ? h.value : ""; + k = k.value; + l = l.value; + if (l.includes("$0")) throw Error("Using $0 in fn:replace to replace substrings with full matches is not supported."); + l = l.split(/((?:\$\$)|(?:\\\$)|(?:\\\\))/).map(n => { + switch (n) { + case "\\$": + return "$$"; + case "\\\\": + return "\\"; + case "$$": + throw Error('FORX0004: invalid replacement: "$$"'); + default: + return n; + } + }).join(""); + k = fe(k); + h = h.replace(k, l); + return w.m(g(h, 1)); + }), + localName: "replace", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }, { + type: 1, + g: 3 + }, { + type: 1, + g: 3 + }], + localName: "replace", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + }, + callFunction() { + throw Error("Not implemented: Using flags in replace is not supported"); + } + }]; + const le = new WeakMap(); + let me = 0; + function ne(a, b, c, d, e) { + if (null === c.M) throw lc(`The function ${a} depends on dynamic context, which is absent.`); + return b(c, d, e, w.m(c.M)); + } + const oe = (a, b, c, d) => A([d], ([e]) => { + if (null === e) return w.empty(); + e = e.value; + switch (e.node.nodeType) { + case 1: + case 2: + return w.m(g(new Sa(e.node.prefix, e.node.namespaceURI, e.node.localName), 23)); + case 7: + return w.m(g(new Sa("", "", e.node.target), 23)); + default: + return w.empty(); + } + }), + pe = (a, b, c, d) => d.X({ + default: () => ae(a, b, c, oe(a, b, c, d)), + empty: () => w.m(g("", 1)) + }), + qe = (a, b, c, d) => qc(d, b), + re = (a, b, c, d) => { + if (d.F()) return w.m(g("", 1)); + if (!v(d.first().type, 53)) throw Error("XPTY0004: The context item must be a node."); + c = d.first().value; + a = w; + b = a.m; + c = c.node; + le.has(c) || le.set(c, `id${++me}`); + c = le.get(c); + return b.call(a, g(c, 1)); + }, + se = (a, b, c, d) => A([d], ([e]) => { + e = e ? e.value : null; + return null !== e && jb(b.h, e, null) ? w.aa() : w.T(); + }); + function te(a, b) { + a = a.toLowerCase(); + b = b.toLowerCase(); + return a === b ? !0 : 5 > a.length || !a.startsWith(b) ? !1 : te(a.replace(/-[a-z0-9]+$/, ""), b); + } + const ue = (a, b, c, d, e) => { + b = b.h; + if (d.F()) d = "";else if (v(d.first().type, 1)) d = d.first().value;else throw Error("XPTY0004: The first argument of lang must be a string."); + if (e) e = e.first().value;else { + if (!a || !a.M) throw lc("The function lang depends on dynamic context if a node is not passed as the second argument."); + if (!v(a.M.type, 53)) throw Error("XPTY0004: The context item must be a node."); + e = a.M.value; + } + a: { + for (a = d; e;) if (1 !== e.node.nodeType) e = x(b, e);else if (1 === e.node.nodeType) { + if (d = fb(b, e, "xml:lang")) { + b = te(d, a) ? w.aa() : w.T(); + break a; + } + e = x(b, e); + } + b = w.T(); + } + return b; + }, + ve = (a, b, c, d) => A([d], ([e]) => { + function f(n) { + let t = 0, + u = n; + for (; null !== u;) (n.node.nodeType !== u.node.nodeType ? 0 : 1 === u.node.nodeType ? u.node.localName === n.node.localName && u.node.namespaceURI === n.node.namespaceURI : 7 === u.node.nodeType ? u.node.target === n.node.target : 1) && t++, u = mb(h, u, null); + return t; + } + if (null === e) return w.empty(); + const h = b.h; + let k = ""; + for (e = e.value; null !== x(b.h, e, null); e = x(b.h, e, null)) switch (e.node.nodeType) { + case 1: + var l = e; + k = `/Q{${l.node.namespaceURI || ""}}${l.node.localName}[${f(l)}]${k}`; + break; + case 2: + l = e; + k = `/@${l.node.namespaceURI ? `Q{${l.node.namespaceURI}}` : ""}${l.node.localName}${k}`; + break; + case 3: + k = `/text()[${f(e)}]${k}`; + break; + case 7: + l = e; + k = `/processing-instruction(${l.node.target})[${f(l)}]${k}`; + break; + case 8: + k = `/comment()[${f(e)}]${k}`; + } + return 9 === e.node.nodeType ? w.create(g(k || "/", 1)) : w.create(g("Q{http://www.w3.org/2005/xpath-functions}root()" + k, 1)); + }), + we = (a, b, c, d) => d.map(e => g(e.value.node.namespaceURI || "", 20)), + xe = (a, b, c, d) => d.X({ + default: () => d.map(e => 7 === e.value.node.nodeType ? g(e.value.node.target, 1) : g(e.value.node.localName || "", 1)), + empty: () => w.m(g("", 1)) + }); + function ye(a, b, c) { + if (2 === b.node.nodeType) return md(b, c); + for (; c;) { + if (md(b, c)) return !0; + if (9 === c.node.nodeType) break; + c = x(a, c, null); + } + return !1; + } + const ze = (a, b, c, d) => d.map(e => { + if (!v(e.type, 53)) throw Error("XPTY0004 Argument passed to fn:root() should be of the type node()"); + let f; + for (e = e.value; e;) f = e, e = x(b.h, f, null); + return rb(f); + }); + var Ae = [{ + j: [{ + type: 53, + g: 0 + }], + callFunction: pe, + localName: "name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [], + callFunction: ne.bind(null, "name", pe), + localName: "name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 53, + g: 3 + }], + callFunction: we, + localName: "namespace-uri", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 20, + g: 3 + } + }, { + j: [], + callFunction: ne.bind(null, "namespace-uri", we), + localName: "namespace-uri", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 20, + g: 3 + } + }, { + j: [{ + type: 53, + g: 2 + }], + callFunction: (a, b, c, d) => d.N(e => { + if (!e.length) return w.empty(); + e = td(b.h, e).reduceRight((f, h, k, l) => { + if (k === l.length - 1) return f.push(h), f; + if (ye(b.h, h.value, f[0].value)) return f; + f.unshift(h); + return f; + }, []); + return w.create(e); + }), + localName: "innermost", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 53, + g: 2 + } + }, { + j: [{ + type: 53, + g: 2 + }], + callFunction: (a, b, c, d) => d.N(e => { + if (!e.length) return w.empty(); + e = td(b.h, e).reduce((f, h, k) => { + if (0 === k) return f.push(h), f; + if (ye(b.h, f[f.length - 1].value, h.value)) return f; + f.push(h); + return f; + }, []); + return w.create(e); + }, 1), + localName: "outermost", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 53, + g: 2 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: se, + localName: "has-children", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [], + callFunction: ne.bind(null, "has-children", se), + localName: "has-children", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: ve, + localName: "path", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 0 + } + }, { + j: [], + callFunction: ne.bind(null, "path", ve), + localName: "path", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 0 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: oe, + localName: "node-name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 23, + g: 0 + } + }, { + j: [], + callFunction: ne.bind(null, "node-name", oe), + localName: "node-name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 23, + g: 0 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: xe, + localName: "local-name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [], + callFunction: ne.bind(null, "local-name", xe), + localName: "local-name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: ze, + localName: "root", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 53, + g: 0 + } + }, { + j: [], + callFunction: ne.bind(null, "root", ze), + localName: "root", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 53, + g: 0 + } + }, { + j: [], + callFunction: ne.bind(null, "data", qe), + localName: "data", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: qe, + localName: "data", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 2 + } + }, { + j: [{ + type: 1, + g: 0 + }], + callFunction: ue, + localName: "lang", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 1, + g: 0 + }, { + type: 53, + g: 3 + }], + callFunction: ue, + localName: "lang", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [], + callFunction: ne.bind(null, "generate-id", re), + localName: "generate-id", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }, { + j: [{ + type: 53, + g: 0 + }], + callFunction: re, + localName: "generate-id", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }]; + function Be(a, b) { + let c = 0; + const d = a.length; + let e = !1, + f = null; + return { + next: () => { + if (!e) { + for (; c < d;) { + f ||= b(a[c], c, a); + const h = f.next(0); + f = null; + if (h.value) c++;else return q(!1); + } + e = !0; + return q(!0); + } + return p; + } + }; + } + function Ce(a) { + a = a.node.nodeType; + return 1 === a || 3 === a; + } + function De(a, b) { + if ((v(a.type, 4) || v(a.type, 6)) && (v(b.type, 4) || v(b.type, 6))) { + var c = jd(a, 6), + d = jd(b, 6); + return c.value === d.value || isNaN(a.value) && isNaN(b.value); + } + return (v(a.type, 4) || v(a.type, 6) || v(a.type, 3)) && (v(b.type, 4) || v(b.type, 6) || v(b.type, 3)) ? (c = jd(a, 3), d = jd(b, 3), c.value === d.value || isNaN(a.value) && isNaN(b.value)) : v(a.type, 23) && v(b.type, 23) ? a.value.namespaceURI === b.value.namespaceURI && a.value.localName === b.value.localName : (v(a.type, 9) || v(a.type, 7) || v(a.type, 8) || v(a.type, 11) || v(a.type, 12) || v(a.type, 13) || v(a.type, 14) || v(a.type, 15)) && (v(b.type, 9) || v(b.type, 7) || v(b.type, 8) || v(b.type, 11) || v(b.type, 12) || v(b.type, 13) || v(b.type, 14) || v(b.type, 15)) ? Ob(a.value, b.value) : (v(a.type, 16) || v(a.type, 17) || v(a.type, 18)) && (v(b.type, 16) || v(b.type, 17) || v(b.type, 17)) ? vb(a.value, b.value) : a.value === b.value; + } + function Ee(a, b, c) { + const [d, e] = [b, c].map(f => ({ + type: 1, + value: f.reduce((h, k) => h += pc(k, a).first().value, "") + })); + return q(De(d, e)); + } + function Fe(a, b, c, d) { + for (; a.value && v(a.value.type, 56);) { + b.push(a.value); + const e = lb(d, a.value.value); + a = c.next(0); + if (e && 3 !== e.node.nodeType) break; + } + return a; + } + function Ge(a, b, c, d, e) { + const f = b.h, + h = d.value, + k = e.value; + let l = null, + n = null, + t = null, + u; + const z = [], + y = []; + return { + next: () => { + for (; !u;) if (l ||= h.next(0), l = Fe(l, z, h, f), n ||= k.next(0), n = Fe(n, y, k, f), z.length || y.length) { + var G = Ee(b, z, y); + z.length = 0; + y.length = 0; + if (!1 === G.value) return u = !0, G; + } else { + if (l.done || n.done) return u = !0, q(l.done === n.done); + t ||= He(a, b, c, l.value, n.value); + G = t.next(0); + t = null; + if (!1 === G.value) return u = !0, G; + n = l = null; + } + return p; + } + }; + } + function Ie(a, b, c, d, e) { + return d.h.length !== e.h.length ? kd(!1) : Be(d.h, f => { + const h = e.h.find(k => De(k.key, f.key)); + return h ? Ge(a, b, c, f.value(), h.value()) : kd(!1); + }); + } + function Je(a, b, c, d, e) { + return d.h.length !== e.h.length ? kd(!1) : Be(d.h, (f, h) => { + h = e.h[h]; + return Ge(a, b, c, f(), h()); + }); + } + function Ke(a, b, c, d, e) { + d = hb(b.h, d.value); + e = hb(b.h, e.value); + d = d.filter(f => Ce(f)); + e = e.filter(f => Ce(f)); + d = w.create(d.map(f => rb(f))); + e = w.create(e.map(f => rb(f))); + return Ge(a, b, c, d, e); + } + function Le(a, b, c, d, e) { + const f = Ge(a, b, c, oe(a, b, c, w.m(d)), oe(a, b, c, w.m(e))), + h = Ke(a, b, c, d, e); + d = eb(b.h, d.value).filter(n => "http://www.w3.org/2000/xmlns/" !== n.node.namespaceURI).sort((n, t) => n.node.nodeName > t.node.nodeName ? 1 : -1).map(n => rb(n)); + e = eb(b.h, e.value).filter(n => "http://www.w3.org/2000/xmlns/" !== n.node.namespaceURI).sort((n, t) => n.node.nodeName > t.node.nodeName ? 1 : -1).map(n => rb(n)); + const k = Ge(a, b, c, w.create(d), w.create(e)); + let l = !1; + return { + next: () => { + if (l) return p; + var n = f.next(0); + if (!n.done && !1 === n.value) return l = !0, n; + n = k.next(0); + if (!n.done && !1 === n.value) return l = !0, n; + n = h.next(0); + l = !0; + return n; + } + }; + } + function Me(a, b, c, d, e) { + const f = Ge(a, b, c, oe(a, b, c, w.m(d)), oe(a, b, c, w.m(e))); + let h = !1; + return { + next: () => { + if (h) return p; + const k = f.next(0); + return k.done || !1 !== k.value ? q(De(pc(d, b).first(), pc(e, b).first())) : (h = !0, k); + } + }; + } + function He(a, b, c, d, e) { + if (v(d.type, 46) && v(e.type, 46)) return kd(De(d, e)); + if (v(d.type, 61) && v(e.type, 61)) return Ie(a, b, c, d, e); + if (v(d.type, 62) && v(e.type, 62)) return Je(a, b, c, d, e); + if (v(d.type, 53) && v(e.type, 53)) { + if (v(d.type, 55) && v(e.type, 55)) return Ke(a, b, c, d, e); + if (v(d.type, 54) && v(e.type, 54)) return Le(a, b, c, d, e); + if (v(d.type, 47) && v(e.type, 47) || v(d.type, 57) && v(e.type, 57) || v(d.type, 58) && v(e.type, 58)) return Me(a, b, c, d, e); + } + return kd(!1); + } + var Ne = class extends cc { + constructor() { + super({ + M: null, + Aa: -1, + ta: w.empty(), + ra: {} + }); + } + }; + var Oe = (a = "Can not execute an updating expression in a non-updating context.") => Error(`XUST0001: ${a}`), + Pe = a => Error(`XUTY0004: The attribute ${a.name}="${a.value}" follows a node that is not an attribute node.`), + Qe = () => Error("XUTY0005: The target of a insert expression with into must be a single element or document node."), + Re = () => Error("XUTY0006: The target of a insert expression with before or after must be a single element, text, comment, or processing instruction node."), + Se = () => Error("XUTY0008: The target of a replace expression must be a single element, attribute, text, comment, or processing instruction node."), + Te = () => Error("XUTY0012: The target of a rename expression must be a single element, attribute, or processing instruction node."), + Ue = a => Error(`XUDY0017: The target ${a.outerHTML} is used in more than one replace value of expression.`), + Ve = a => Error(`XUDY0021: Applying the updates will result in the XDM instance violating constraint: '${a}'`), + We = a => Error(`XUDY0023: The namespace binding ${a} is conflicting.`), + Xe = a => Error(`XUDY0024: The namespace binding ${a} is conflicting.`), + Ye = () => Error("XUDY0027: The target for an insert, replace, or rename expression expression should not be empty."); + function C(a, b, c) { + b && null !== b.M ? a.B ? (null === a.ob && (a.ob = Ra(a.h(new Ne(), c).hb())), a = a.ob()) : a = a.h(b, c) : a = a.h(b, c); + return a; + } + var D = class { + constructor(a, b, c = { + B: !1, + W: !1, + R: "unsorted", + subtree: !1 + }, d = !1, e) { + this.o = a; + this.ia = c.R || "unsorted"; + this.subtree = !!c.subtree; + this.W = !!c.W; + this.B = !!c.B; + this.Fa = b; + this.I = !1; + this.ob = null; + this.Qb = d; + this.type = e; + } + D() { + return null; + } + v(a) { + this.Fa.forEach(b => b.v(a)); + if (!this.Qb && this.Fa.some(b => b.I)) throw Oe(); + } + }; + var Ze = class { + constructor(a, b) { + this.J = a; + this.da = b; + } + }; + var $e = class { + constructor(a) { + a && "object" === typeof a && "nodeType" in a && (a = a.ownerDocument || a, "function" === typeof a.createElementNS && "function" === typeof a.createProcessingInstruction && "function" === typeof a.createTextNode && "function" === typeof a.createComment && (this.h = a)); + this.h || (this.h = null); + } + createAttributeNS(a, b) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createAttributeNS(a, b); + } + createCDATASection(a) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createCDATASection(a); + } + createComment(a) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createComment(a); + } + createDocument() { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.implementation.createDocument(null, null, null); + } + createElementNS(a, b) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createElementNS(a, b); + } + createProcessingInstruction(a, b) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createProcessingInstruction(a, b); + } + createTextNode(a) { + if (!this.h) throw Error("Please pass a node factory if an XQuery script uses node constructors"); + return this.h.createTextNode(a); + } + }; + function af(a, b, c, d) { + return eb(d, a, `name-${b}`).some(e => e.node.localName === b && e.node.namespaceURI === c); + } + var bf = (a, b, c, d) => { + const e = x(c, a).node, + f = (a = lb(c, a)) ? a.node : null; + b.forEach(h => { + d.insertBefore(e, h.node, f); + }); + }, + cf = (a, b, c, d) => { + const e = x(c, a).node; + b.forEach(f => { + d.insertBefore(e, f.node, a.node); + }); + }, + df = (a, b, c, d) => { + const e = (c = jb(c, a)) ? c.node : null; + b.forEach(f => { + d.insertBefore(a.node, f.node, e); + }); + }, + ef = (a, b, c) => { + b.forEach(d => { + c.insertBefore(a.node, d.node, null); + }); + }, + ff = (a, b, c, d) => { + b.forEach(e => { + const f = e.node.localName, + h = e.node.namespaceURI; + if (af(a, f, h, c)) throw Ve(`An attribute ${h ? `Q{${h}}${f}` : f} already exists.`); + d.setAttributeNS(a.node, h, f, ib(c, e)); + }); + }, + hf = (a, b, c, d, e) => { + d ||= new $e(a ? a.node : null); + let f; + switch (a.node.nodeType) { + case 1: + const h = c.getAllAttributes(a.node), + k = c.getChildNodes(a.node), + l = d.createElementNS(b.namespaceURI, b.za()); + f = { + node: l, + G: null + }; + h.forEach(n => { + e.setAttributeNS(l, n.namespaceURI, n.nodeName, n.value); + }); + k.forEach(n => { + e.insertBefore(l, n, null); + }); + break; + case 2: + b = d.createAttributeNS(b.namespaceURI, b.za()); + b.value = ib(c, a); + f = { + node: b, + G: null + }; + break; + case 7: + f = { + node: d.createProcessingInstruction(b.za(), ib(c, a)), + G: null + }; + } + if (!x(c, a)) throw Error("Not supported: renaming detached nodes."); + gf(a, [f], c, e); + }, + jf = (a, b, c, d) => { + c.getChildNodes(a.node).forEach(e => d.removeChild(a.node, e)); + b && d.insertBefore(a.node, b.node, null); + }, + gf = (a, b, c, d) => { + const e = x(c, a); + var f = a.node.nodeType; + if (2 === f) { + if (b.some(k => 2 !== k.node.nodeType)) throw Error('Constraint "If $target is an attribute node, $replacement must consist of zero or more attribute nodes." failed.'); + const h = e ? e.node : null; + d.removeAttributeNS(h, a.node.namespaceURI, a.node.localName); + b.forEach(k => { + const l = k.node.localName, + n = k.node.namespaceURI; + if (af(e, l, n, c)) throw Ve(`An attribute ${n ? `Q{${n}}${l}` : l} already exists.`); + d.setAttributeNS(h, n, l, ib(c, k)); + }); + } + if (1 === f || 3 === f || 8 === f || 7 === f) { + const h = (f = lb(c, a)) ? f.node : null; + d.removeChild(e.node, a.node); + b.forEach(k => { + d.insertBefore(e.node, k.node, h); + }); + } + }; + var lf = (a, b, c, d) => { + kf(a, b); + a.filter(e => -1 !== ["insertInto", "insertAttributes", "replaceValue", "rename"].indexOf(e.type)).forEach(e => { + switch (e.type) { + case "insertInto": + ef(e.target, e.content, d); + break; + case "insertAttributes": + ff(e.target, e.content, b, d); + break; + case "rename": + hf(e.target, e.o, b, c, d); + break; + case "replaceValue": + var f = e.target; + e = e.o; + if (2 === f.node.nodeType) { + const h = x(b, f); + h ? d.setAttributeNS(h.node, f.node.namespaceURI, f.node.localName, e) : f.node.value = e; + } else d.setData(f.node, e); + } + }); + a.filter(e => -1 !== ["insertBefore", "insertAfter", "insertIntoAsFirst", "insertIntoAsLast"].indexOf(e.type)).forEach(e => { + switch (e.type) { + case "insertAfter": + bf(e.target, e.content, b, d); + break; + case "insertBefore": + cf(e.target, e.content, b, d); + break; + case "insertIntoAsFirst": + df(e.target, e.content, b, d); + break; + case "insertIntoAsLast": + ef(e.target, e.content, d); + } + }); + a.filter(e => "replaceNode" === e.type).forEach(e => { + gf(e.target, e.o, b, d); + }); + a.filter(e => "replaceElementContent" === e.type).forEach(e => { + jf(e.target, e.text, b, d); + }); + a.filter(e => "delete" === e.type).forEach(e => { + e = e.target; + var f = x(b, e); + (f = f ? f.node : null) && (2 === e.node.nodeType ? d.removeAttributeNS(f, e.node.namespaceURI, e.node.localName) : d.removeChild(f, e.node)); + }); + if (a.some(e => "put" === e.type)) throw Error('Not implemented: the execution for pendingUpdate "put" is not yet implemented.'); + }; + const kf = (a, b) => { + function c(f, h) { + const k = new Set(); + a.filter(l => l.type === f).map(l => l.target).forEach(l => { + l = l ? l.node : null; + k.has(l) && h(l); + k.add(l); + }); + } + c("rename", f => { + throw Error(`XUDY0015: The target ${f.outerHTML} is used in more than one rename expression.`); + }); + c("replaceNode", f => { + throw Error(`XUDY0016: The target ${f.outerHTML} is used in more than one replace expression.`); + }); + c("replaceValue", f => { + throw Ue(f); + }); + c("replaceElementContent", f => { + throw Ue(f); + }); + const d = new Map(), + e = f => new Sa(f.node.prefix, f.node.namespaceURI, f.node.localName); + a.filter(f => "replaceNode" === f.type && 2 === f.target.node.nodeType).forEach(f => { + var h = x(b, f.target); + h = h ? h.node : null; + const k = d.get(h); + k ? k.push(...f.o.map(e)) : d.set(h, f.o.map(e)); + }); + a.filter(f => "rename" === f.type && 2 === f.target.node.nodeType).forEach(f => { + var h = x(b, f.target); + if (h) { + h = h.node; + var k = d.get(h); + k ? k.push(f.o) : d.set(h, [f.o]); + } + }); + d.forEach(f => { + const h = {}; + f.forEach(k => { + h[k.prefix] || (h[k.prefix] = k.namespaceURI); + if (h[k.prefix] !== k.namespaceURI) throw Xe(k.namespaceURI); + }); + }); + }; + var mf = (a, ...b) => a.concat(...b.filter(Boolean)); + function nf(a) { + return a.I ? (b, c) => a.s(b, c) : (b, c) => { + const d = a.h(b, c); + return { + next: () => { + const e = d.O(); + return q({ + da: [], + J: e + }); + } + }; + }; + } + var of = class extends D { + constructor(a, b, c, d) { + super(a, b, c, !0, d); + this.I = !0; + } + h() { + throw Oe(); + } + }; + function pf(a, b) { + a = a.next(0); + b(a.value.da); + return w.create(a.value.J); + } + function qf(a) { + a.Fa.some(b => b.I) && (a.I = !0); + } + var rf = class extends of { + constructor(a, b, c, d) { + super(a, b, c, d); + this.I = this.Fa.some(e => e.I); + } + h(a, b) { + return this.A(a, b, this.Fa.map(c => d => c.h(d, b))); + } + s(a, b) { + let c = []; + const d = this.A(a, b, this.Fa.map(f => f.I ? h => { + h = f.s(h, b); + return pf(h, k => c = mf(c, k)); + } : h => f.h(h, b))); + let e = !1; + return { + next: () => { + if (e) return p; + const f = d.O(); + e = !0; + return q(new Ze(f, c)); + } + }; + } + v(a) { + super.v(a); + qf(this); + } + }; + const sf = ["external", "attribute", "nodeName", "nodeType", "universal"], + tf = sf.length; + function uf(a, b) { + for (let c = 0; c < tf; ++c) { + if (b.h[c] < a.h[c]) return 1; + if (b.h[c] > a.h[c]) return -1; + } + return 0; + } + var vf = class { + constructor(a) { + this.h = sf.map(b => a[b] || 0); + if (Object.keys(a).some(b => !sf.includes(b))) throw Error("Invalid specificity kind passed"); + } + add(a) { + const b = sf.reduce((c, d, e) => { + c[d] = this.h[e] + a.h[e]; + return c; + }, Object.create(null)); + return new vf(b); + } + }; + const wf = () => mc("Expected base expression of a function call to evaluate to a sequence of single function item"); + function xf(a, b, c, d) { + const e = []; + for (let f = 0; f < b.length; ++f) { + if (null === b[f]) { + e.push(null); + continue; + } + const h = Ad(a[f], b[f], c, d, !1); + e.push(h); + } + return e; + } + function Df(a, b) { + if (!v(a.type, 60)) throw mc("Expected base expression to evaluate to a function item"); + if (a.v !== b) throw wf(); + return a; + } + function Ef(a, b, c, d, e, f, h) { + let k = 0; + e = e.map(l => l ? null : f[k++](c)); + e = xf(a.o, e, d, a.D); + if (0 <= e.indexOf(null)) return Ua(a, e); + b = b.apply(void 0, [c, d, h, ...e]); + return Ad(a.s, b, d, a.D, !0); + } + var Gf = class extends rf { + constructor(a, b, c) { + super(new vf({ + external: 1 + }), [a].concat(b.filter(d => !!d)), { + R: "unsorted", + W: !1, + subtree: !1, + B: !1 + }, c); + this.ma = b.length; + this.P = b.map(d => null === d); + this.L = null; + this.ya = a; + this.La = b; + } + s(a, b) { + if (!this.l || !this.l.I) return super.s(a, b); + let c = []; + const d = Ef(this.l, (f, h, k, ...l) => pf(this.l.value(f, h, k, ...l), n => { + c = mf(c, n); + }), a, b, this.P, this.La.map(f => () => f.I ? pf(f.s(a, b), h => { + c = mf(c, h); + }) : C(f, a, b)), this.L); + let e = !1; + return { + next: () => { + if (e) return p; + const f = d.O(); + e = !0; + return q({ + da: c, + J: f + }); + } + }; + } + A(a, b, [c, ...d]) { + if (this.l) return Ef(this.l, (f, h, k, ...l) => this.l.value(f, h, k, ...l), a, b, this.P, d, this.L); + const e = c(a); + return e.X({ + default: () => { + throw wf(); + }, + m: () => e.N(([f]) => { + f = Df(f, this.ma); + if (f.I) throw Error("XUDY0038: The function returned by the PrimaryExpr of a dynamic function invocation can not be an updating function"); + return Ef(f, f.value, a, b, this.P, d, this.L); + }) + }); + } + v(a) { + this.L = Ff(a); + super.v(a); + if (this.ya.B) { + a = C(this.ya, null, null); + if (!a.oa()) throw wf(); + this.l = Df(a.first(), this.ma); + this.l.I && (this.I = !0); + } + } + }; + const Hf = (a, b, c, d, e, f) => A([d, e, f], ([h, k, l]) => { + k = k.value; + l = l.value; + if (k > h.h.length || 0 >= k) throw Error("FOAY0001: subarray start out of bounds."); + if (0 > l) throw Error("FOAY0002: subarray length out of bounds."); + if (k + l > h.h.length + 1) throw Error("FOAY0001: subarray start + length out of bounds."); + return w.m(new pb(h.h.slice(k - 1, l + k - 1))); + }), + If = (a, b, c, d, e) => A([d], ([f]) => e.N(h => { + h = h.map(l => l.value).sort((l, n) => n - l).filter((l, n, t) => t[n - 1] !== l); + const k = f.h.concat(); + for (let l = 0, n = h.length; l < n; ++l) { + const t = h[l]; + if (t > f.h.length || 0 >= t) throw Error("FOAY0001: subarray position out of bounds."); + k.splice(t - 1, 1); + } + return w.m(new pb(k)); + })), + Jf = a => v(a, 1) || v(a, 20) || v(a, 19), + Kf = (a, b, c, d, e) => 0 === d.length ? 0 !== e.length : 0 !== e.length && He(a, b, c, d[0], e[0]).next(0).value ? Kf(a, b, c, d.slice(1), e.slice(1)) : d[0].value !== d[0].value ? !0 : Jf(d[0].type) && 0 !== e.length && Jf(e[0].type) ? d[0].value < e[0].value : 0 === e.length ? !1 : d[0].value < e[0].value, + Lf = (a, b, c, d) => { + d.sort((e, f) => Ge(a, b, c, w.create(e), w.create(f)).next(0).value ? 0 : Kf(a, b, c, e, f) ? -1 : 1); + return w.m(new pb(d.map(e => () => w.create(e)))); + }; + function Mf(a) { + return v(a.type, 62) ? jc(a.h.map(b => b().N(c => jc(c.map(Mf))))) : w.m(a); + } + var Nf = [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "size", + j: [{ + type: 62, + g: 3 + }], + i: { + type: 5, + g: 3 + }, + callFunction: (a, b, c, d) => A([d], ([e]) => w.m(g(e.h.length, 5))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "get", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction: ob + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "put", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e, f) => A([e, d], ([h, k]) => { + h = h.value; + if (0 >= h || h > k.h.length) throw Error("FOAY0001: array position out of bounds."); + k = k.h.concat(); + k.splice(h - 1, 1, Ra(f)); + return w.m(new pb(k)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "append", + j: [{ + type: 62, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d], ([f]) => w.m(new pb(f.h.concat([Ra(e)])))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "subarray", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 3 + }, { + type: 5, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: Hf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "subarray", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction(a, b, c, d, e) { + const f = w.m(g(d.first().value.length - e.first().value + 1, 5)); + return Hf(a, b, c, d, e, f); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "remove", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 2 + }], + i: { + type: 62, + g: 3 + }, + callFunction: If + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "insert-before", + j: [{ + type: 62, + g: 3 + }, { + type: 5, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e, f) => A([d, e], ([h, k]) => { + k = k.value; + if (k > h.h.length + 1 || 0 >= k) throw Error("FOAY0001: subarray position out of bounds."); + h = h.h.concat(); + h.splice(k - 1, 0, Ra(f)); + return w.m(new pb(h)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "head", + j: [{ + type: 62, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction(a, b, c, d) { + return ob(a, b, c, d, w.m(g(1, 5))); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "tail", + j: [{ + type: 62, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction(a, b, c, d) { + return If(a, b, c, d, w.m(g(1, 5))); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "reverse", + j: [{ + type: 62, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d) => A([d], ([e]) => w.m(new pb(e.h.concat().reverse()))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "join", + j: [{ + type: 62, + g: 2 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d) => d.N(e => { + e = e.reduce((f, h) => f.concat(h.h), []); + return w.m(new pb(e)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "for-each", + j: [{ + type: 62, + g: 3 + }, { + type: 60, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + if (1 !== h.v) throw mc("The callback passed into array:for-each has a wrong arity."); + f = f.h.map(k => Ra(h.value.call(void 0, a, b, c, xf(h.o, [k()], b, "array:for-each")[0]))); + return w.m(new pb(f)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "filter", + j: [{ + type: 62, + g: 3 + }, { + type: 60, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + if (1 !== h.v) throw mc("The callback passed into array:filter has a wrong arity."); + const k = f.h.map(t => { + t = xf(h.o, [t()], b, "array:filter")[0]; + const u = h.value; + return u(a, b, c, t); + }), + l = []; + let n = !1; + return w.create({ + next: () => { + if (n) return p; + for (let u = 0, z = f.h.length; u < z; ++u) { + var t = k[u].fa(); + l[u] = t; + } + t = f.h.filter((u, z) => l[z]); + n = !0; + return q(new pb(t)); + } + }); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "fold-left", + j: [{ + type: 62, + g: 3 + }, { + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction: (a, b, c, d, e, f) => A([d, f], ([h, k]) => { + if (2 !== k.v) throw mc("The callback passed into array:fold-left has a wrong arity."); + return h.h.reduce((l, n) => { + n = xf(k.o, [n()], b, "array:fold-left")[0]; + return k.value.call(void 0, a, b, c, l, n); + }, e); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "fold-right", + j: [{ + type: 62, + g: 3 + }, { + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction: (a, b, c, d, e, f) => A([d, f], ([h, k]) => { + if (2 !== k.v) throw mc("The callback passed into array:fold-right has a wrong arity."); + return h.h.reduceRight((l, n) => { + n = xf(k.o, [n()], b, "array:fold-right")[0]; + return k.value.call(void 0, a, b, c, l, n); + }, e); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "for-each-pair", + j: [{ + type: 62, + g: 3 + }, { + type: 62, + g: 3 + }, { + type: 60, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d, e, f) => A([d, e, f], ([h, k, l]) => { + if (2 !== l.v) throw mc("The callback passed into array:for-each-pair has a wrong arity."); + const n = []; + for (let t = 0, u = Math.min(h.h.length, k.h.length); t < u; ++t) { + const [z, y] = xf(l.o, [h.h[t](), k.h[t]()], b, "array:for-each-pair"); + n[t] = Ra(l.value.call(void 0, a, b, c, z, y)); + } + return w.m(new pb(n)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "sort", + j: [{ + type: 62, + g: 3 + }], + i: { + type: 62, + g: 3 + }, + callFunction: (a, b, c, d) => A([d], ([e]) => { + e = e.h.map(f => f().O()); + return Lf(a, b, c, e); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/array", + localName: "flatten", + j: [{ + type: 59, + g: 2 + }], + i: { + type: 59, + g: 2 + }, + callFunction: (a, b, c, d) => d.N(e => jc(e.map(Mf))) + }]; + function E(a, b, c, d, e) { + return e.F() ? e : w.m(jd(e.first(), a)); + } + var Of = [{ + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "untypedAtomic", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 19, + g: 0 + }, + callFunction: E.bind(null, 19) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "error", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 39, + g: 0 + }, + callFunction: E.bind(null, 39) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "string", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 1, + g: 0 + }, + callFunction: E.bind(null, 1) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "boolean", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 0, + g: 0 + }, + callFunction: E.bind(null, 0) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "decimal", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 4, + g: 0 + }, + callFunction: E.bind(null, 4) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "float", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 6, + g: 0 + }, + callFunction: E.bind(null, 6) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "double", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: E.bind(null, 3) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "duration", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 18, + g: 0 + }, + callFunction: E.bind(null, 18) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "dateTime", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 9, + g: 0 + }, + callFunction: E.bind(null, 9) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "dateTimeStamp", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 10, + g: 0 + }, + callFunction: E.bind(null, 10) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "time", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 8, + g: 0 + }, + callFunction: E.bind(null, 8) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "date", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 7, + g: 0 + }, + callFunction: E.bind(null, 7) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "gYearMonth", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 11, + g: 0 + }, + callFunction: E.bind(null, 11) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "gYear", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 12, + g: 0 + }, + callFunction: E.bind(null, 12) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "gMonthDay", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 13, + g: 0 + }, + callFunction: E.bind(null, 13) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "gDay", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 15, + g: 0 + }, + callFunction: E.bind(null, 15) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "gMonth", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 14, + g: 0 + }, + callFunction: E.bind(null, 14) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "hexBinary", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 22, + g: 0 + }, + callFunction: E.bind(null, 22) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "base64Binary", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 21, + g: 0 + }, + callFunction: E.bind(null, 21) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "QName", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 23, + g: 0 + }, + callFunction: (a, b, c, d) => { + if (d.F()) return d; + a = d.first(); + if (v(a.type, 2)) throw Error("XPTY0004: The provided QName is not a string-like value."); + a = jd(a, 1).value; + a = sc(a, 23); + if (!tc(a, 23)) throw Error("FORG0001: The provided QName is invalid."); + if (!a.includes(":")) return c = c.$(""), w.m(g(new Sa("", c, a), 23)); + const [e, f] = a.split(":"); + c = c.$(e); + if (!c) throw Error(`FONS0004: The value ${a} can not be cast to a QName. Did you mean to use fn:QName?`); + return w.m(g(new Sa(e, c, f), 23)); + } + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "anyURI", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 20, + g: 0 + }, + callFunction: E.bind(null, 20) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "normalizedString", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 48, + g: 0 + }, + callFunction: E.bind(null, 48) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "token", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 52, + g: 0 + }, + callFunction: E.bind(null, 52) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "language", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 51, + g: 0 + }, + callFunction: E.bind(null, 51) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "NMTOKEN", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 50, + g: 0 + }, + callFunction: E.bind(null, 50) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "NMTOKENS", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 49, + g: 2 + }, + callFunction: E.bind(null, 49) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "Name", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 25, + g: 0 + }, + callFunction: E.bind(null, 25) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "NCName", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 24, + g: 0 + }, + callFunction: E.bind(null, 24) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "ID", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 42, + g: 0 + }, + callFunction: E.bind(null, 42) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "IDREF", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 41, + g: 0 + }, + callFunction: E.bind(null, 41) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "IDREFS", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 43, + g: 2 + }, + callFunction: E.bind(null, 43) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "ENTITY", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 26, + g: 0 + }, + callFunction: E.bind(null, 26) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "ENTITIES", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 40, + g: 2 + }, + callFunction: E.bind(null, 40) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "integer", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: E.bind(null, 5) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "nonPositiveInteger", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 27, + g: 0 + }, + callFunction: E.bind(null, 27) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "negativeInteger", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 28, + g: 0 + }, + callFunction: E.bind(null, 28) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "long", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 31, + g: 0 + }, + callFunction: E.bind(null, 31) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "int", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 32, + g: 0 + }, + callFunction: E.bind(null, 32) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "short", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 33, + g: 0 + }, + callFunction: E.bind(null, 33) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "byte", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 34, + g: 0 + }, + callFunction: E.bind(null, 34) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "nonNegativeInteger", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 30, + g: 0 + }, + callFunction: E.bind(null, 30) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "unsignedLong", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 36, + g: 0 + }, + callFunction: E.bind(null, 36) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "unsignedInt", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 35, + g: 0 + }, + callFunction: E.bind(null, 35) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "unsignedShort", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 38, + g: 0 + }, + callFunction: E.bind(null, 38) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "unsignedByte", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 37, + g: 0 + }, + callFunction: E.bind(null, 37) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "positiveInteger", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 29, + g: 0 + }, + callFunction: E.bind(null, 29) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "yearMonthDuration", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 16, + g: 0 + }, + callFunction: E.bind(null, 16) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "dayTimeDuration", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 17, + g: 0 + }, + callFunction: E.bind(null, 17) + }, { + namespaceURI: "http://www.w3.org/2001/XMLSchema", + localName: "dateTimeStamp", + j: [{ + type: 46, + g: 0 + }], + i: { + type: 10, + g: 0 + }, + callFunction: E.bind(null, 10) + }]; + const Pf = (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getYear(), 5)), + Qf = (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getMonth(), 5)), + Rf = (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getDay(), 5)), + Sf = (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getHours(), 5)), + Tf = (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getMinutes(), 5)), + Uf = (a, b, c, d) => { + d.F() || (a = w, b = a.m, d = d.first().value, d = b.call(a, g(d.D + d.qa, 4))); + return d; + }, + Vf = (a, b, c, d) => d.F() ? d : (a = d.first().value.Y) ? w.m(g(a, 17)) : w.empty(); + var Wf = [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "dateTime", + j: [{ + type: 7, + g: 0 + }, { + type: 8, + g: 0 + }], + i: { + type: 9, + g: 0 + }, + callFunction: (a, b, c, d, e) => { + if (d.F()) return d; + if (e.F()) return e; + a = d.first().value; + e = e.first().value; + b = a.Y; + c = e.Y; + if (b || c) { + if (!b || c) if (!b && c) b = c;else if (!vb(b, c)) throw Error("FORG0008: fn:dateTime: got a date and time value with different timezones."); + } else b = null; + return w.m(g(new Kb(a.getYear(), a.getMonth(), a.getDay(), e.getHours(), e.getMinutes(), e.getSeconds(), e.qa, b), 9)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "year-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Pf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "month-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Qf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "day-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Rf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "hours-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Sf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "minutes-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Tf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "seconds-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 4, + g: 0 + }, + callFunction: Uf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "timezone-from-dateTime", + j: [{ + type: 9, + g: 0 + }], + i: { + type: 17, + g: 0 + }, + callFunction: Vf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "year-from-date", + j: [{ + type: 7, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Pf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "month-from-date", + j: [{ + type: 7, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Qf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "day-from-date", + j: [{ + type: 7, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Rf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "timezone-from-date", + j: [{ + type: 7, + g: 0 + }], + i: { + type: 17, + g: 0 + }, + callFunction: Vf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "hours-from-time", + j: [{ + type: 8, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Sf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "minutes-from-time", + j: [{ + type: 8, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: Tf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "seconds-from-time", + j: [{ + type: 8, + g: 0 + }], + i: { + type: 4, + g: 0 + }, + callFunction: Uf + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "timezone-from-time", + j: [{ + type: 8, + g: 0 + }], + i: { + type: 17, + g: 0 + }, + callFunction: Vf + }]; + function Xf(a, b) { + const c = b.h, + d = b.Ja, + e = b.Ma; + switch (a.node.nodeType) { + case 1: + const h = d.createElementNS(a.node.namespaceURI, a.node.nodeName); + c.getAllAttributes(a.node).forEach(k => e.setAttributeNS(h, k.namespaceURI, k.nodeName, k.value)); + for (var f of hb(c, a)) a = Xf(f, b), e.insertBefore(h, a.node, null); + return { + node: h, + G: null + }; + case 2: + return b = d.createAttributeNS(a.node.namespaceURI, a.node.nodeName), b.value = ib(c, a), { + node: b, + G: null + }; + case 4: + return { + node: d.createCDATASection(ib(c, a)), + G: null + }; + case 8: + return { + node: d.createComment(ib(c, a)), + G: null + }; + case 9: + f = d.createDocument(); + for (const k of hb(c, a)) a = Xf(k, b), e.insertBefore(f, a.node, null); + return { + node: f, + G: null + }; + case 7: + return { + node: d.createProcessingInstruction(a.node.target, ib(c, a)), + G: null + }; + case 3: + return { + node: d.createTextNode(ib(c, a)), + G: null + }; + } + } + function Yf(a, b) { + const c = b.Ma; + var d = b.Ja; + const e = b.h; + if (cb(a.node)) switch (a.node.nodeType) { + case 2: + return d = d.createAttributeNS(a.node.namespaceURI, a.node.nodeName), d.value = ib(e, a), d; + case 8: + return d.createComment(ib(e, a)); + case 1: + const f = a.node.prefix, + h = a.node.localName, + k = d.createElementNS(a.node.namespaceURI, f ? f + ":" + h : h); + hb(e, a).forEach(l => { + l = Yf(l, b); + c.insertBefore(k, l, null); + }); + eb(e, a).forEach(l => { + c.setAttributeNS(k, l.node.namespaceURI, l.node.nodeName, ib(e, l)); + }); + k.normalize(); + return k; + case 7: + return d.createProcessingInstruction(a.node.target, ib(e, a)); + case 3: + return d.createTextNode(ib(e, a)); + } else return Xf(a, b).node; + } + function Zf(a, b, c) { + let d = a; + for (a = x(c, d); null !== a;) { + if (2 === d.node.nodeType) b.push(d.node.nodeName);else { + const e = hb(c, a); + b.push(e.findIndex(f => md(f, d))); + } + d = a; + a = x(c, d); + } + return d; + } + function $f(a, b, c) { + for (; 0 < b.length;) { + const d = b.pop(); + "string" === typeof d ? a = eb(c, a).find(e => e.node.nodeName === d) : a = hb(c, a)[d]; + } + return a.node; + } + function ag(a, b, c) { + var d = a.node; + if (!(cb(d) || c || a.G)) return d; + d = b.v; + const e = []; + if (c) return Yf(a, b); + a = Zf(a, e, b.h); + c = d.get(a.node); + c || (c = { + node: Yf(a, b), + G: null + }, d.set(a.node, c)); + return $f(c, e, b.h); + } + const bg = (a, b, c, d, e) => d.N(f => { + var h; + let k = ""; + for (let l = 0; l < f.length; l++) { + const n = f[l], + t = b.Ua && v(n.type, 53) ? b.Ua.serializeToString(ag(n.value, b, !1)) : null === (h = qc(w.m(n), b).map(u => jd(u, 1)).first()) || void 0 === h ? void 0 : h.value; + t && (k += `{type: ${Da[n.type]}, value: ${t}}\n`); + } + void 0 !== e && (k += e.first().value); + b.jb.trace(k); + return w.create(f); + }); + var cg = [{ + j: [{ + type: 59, + g: 2 + }], + callFunction: bg, + localName: "trace", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 1, + g: 3 + }], + callFunction: bg, + localName: "trace", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }]; + const dg = (a, b, c, d, e) => { + a = void 0 === d || d.F() ? new Sa("err", "http://www.w3.org/2005/xqt-errors", "FOER0000") : d.first().value; + b = ""; + void 0 === e || e.F() || (b = `: ${e.first().value}`); + throw Error(`${a.localName}${b}`); + }; + var eg = [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "error", + j: [], + i: { + type: 63, + g: 3 + }, + callFunction: dg + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "error", + j: [{ + type: 23, + g: 0 + }], + i: { + type: 63, + g: 3 + }, + callFunction: dg + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "error", + j: [{ + type: 23, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 63, + g: 3 + }, + callFunction: dg + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "error", + j: [{ + type: 23, + g: 0 + }, { + type: 1, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 63, + g: 3 + }, + callFunction() { + throw Error("Not implemented: Using an error object in error is not supported"); + } + }]; + function fg(a) { + return "string" === typeof a ? a : (a = new Za().getChildNodes(a).find(b => 8 === b.nodeType)) ? a.data : "some expression"; + } + var gg = class extends Error { + constructor(a, b) { + super(a); + this.position = { + end: { + ha: b.end.ha, + line: b.end.line, + offset: b.end.offset + }, + start: { + ha: b.start.ha, + line: b.start.line, + offset: b.start.offset + } + }; + } + }; + function hg(a, b) { + if (b instanceof Error) throw b; + "string" !== typeof a && (a = fg(a)); + const c = ig(b); + a = a.replace(/\r/g, "").split("\n"); + const d = Math.floor(Math.log10(Math.min(c.end.line + 2, a.length))) + 1; + a = a.reduce((e, f, h) => { + var k = h + 1; + if (2 < c.start.line - k || 2 < k - c.end.line) return e; + h = `${Array(d).fill(" ", 0, Math.floor(Math.log10(k)) + 1 - d).join("")}${k}: `; + e.push(`${h}${f}`); + if (k >= c.start.line && k <= c.end.line) { + const l = k < c.end.line ? f.length + h.length : c.end.ha - 1 + h.length; + k = k > c.start.line ? h.length : c.start.ha - 1 + h.length; + f = " ".repeat(h.length) + Array.from(f.substring(0, k - h.length), n => "\t" === n ? "\t" : " ").join("") + "^".repeat(l - k); + e.push(f); + } + return e; + }, []); + b = jg(b).join("\n"); + throw new gg(a.join("\n") + "\n\n" + b, c); + } + const kg = Object.create(null); + function lg(a, b) { + const c = new Map(); + for (let d = 0; d < a.length + 1; ++d) c.set(d, new Map()); + return function h(e, f) { + if (0 === e) return f; + if (0 === f) return e; + if (c.get(e).has(f)) return c.get(e).get(f); + var k = 0; + a[e - 1] !== b[f - 1] && (k = 1); + k = Math.min(h(e - 1, f) + 1, h(e, f - 1) + 1, h(e - 1, f - 1) + k); + c.get(e).set(f, k); + return k; + }(a.length, b.length); + } + function mg(a) { + const b = kg[a] ? kg[a] : Object.keys(kg).map(c => ({ + name: c, + sb: lg(a, c.slice(c.lastIndexOf(":") + 1)) + })).sort((c, d) => c.sb - d.sb).slice(0, 5).filter(c => c.sb < a.length / 2).reduce((c, d) => c.concat(kg[d.name]), []).slice(0, 5); + return b.length ? b.map(c => `"Q{${c.namespaceURI}}${c.localName} (${c.j.map(d => 4 === d ? "..." : Ha(d)).join(", ")})"`).reduce((c, d, e, f) => 0 === e ? c + d : c + ((e !== f.length - 1 ? ", " : " or ") + d), "Did you mean ") + "?" : "No similar functions found."; + } + function ng(a, b, c) { + var d = kg[a + ":" + b]; + return d ? (d = d.find(e => e.j.some(f => 4 === f) ? e.j.length - 1 <= c : e.j.length === c)) ? { + j: d.j, + arity: c, + callFunction: d.callFunction, + I: d.I, + localName: b, + namespaceURI: a, + i: d.i + } : null : null; + } + function og(a, b, c, d, e) { + kg[a + ":" + b] || (kg[a + ":" + b] = []); + kg[a + ":" + b].push({ + j: c, + arity: c.length, + callFunction: e, + I: !1, + localName: b, + namespaceURI: a, + i: d + }); + } + var pg = { + xml: "http://www.w3.org/XML/1998/namespace", + xs: "http://www.w3.org/2001/XMLSchema", + fn: "http://www.w3.org/2005/xpath-functions", + map: "http://www.w3.org/2005/xpath-functions/map", + array: "http://www.w3.org/2005/xpath-functions/array", + math: "http://www.w3.org/2005/xpath-functions/math", + fontoxpath: "http://fontoxml.com/fontoxpath", + local: "http://www.w3.org/2005/xquery-local-functions" + }; + var qg = class { + constructor(a, b, c, d) { + this.Da = [Object.create(null)]; + this.Ea = Object.create(null); + this.s = a; + this.ia = Object.keys(b).reduce((e, f) => { + if (void 0 === b[f]) return e; + e[f] = `Q{}${f}[0]`; + return e; + }, Object.create(null)); + this.o = Object.create(null); + this.h = Object.create(null); + this.v = c; + this.l = d; + this.D = []; + } + va(a, b, c) { + return ng(a, b, c); + } + eb(a, b) { + if (a) return null; + a = this.ia[b]; + this.o[b] || (this.o[b] = { + name: b + }); + return a; + } + Sa(a, b) { + const c = this.l(a, b); + if (c) this.D.push({ + cc: a, + arity: b, + Db: c + });else if ("" === a.prefix) { + if (this.v) return { + namespaceURI: this.v, + localName: a.localName + }; + } else if (b = this.$(a.prefix, !0)) return { + namespaceURI: b, + localName: a.localName + }; + return c; + } + $(a, b = !0) { + if (!b) return null; + if (pg[a]) return pg[a]; + b = this.s(a); + this.h[a] || (this.h[a] = { + namespaceURI: b, + prefix: a + }); + return void 0 !== b || a ? b : null; + } + }; + var rg = (a, b) => { + a = 2 === a.node.nodeType ? `${a.node.nodeName}="${ib(b, a)}"` : a.node.outerHTML; + return Error(`XQTY0024: The node ${a} follows a node that is not an attribute node or a namespace node.`); + }, + sg = a => Error(`XQDY0044: The node name "${a.za()}" is invalid for a computed attribute constructor.`), + tg = () => Error("XQST0045: Functions and variables may not be declared in one of the reserved namespace URIs."), + ug = (a, b) => Error(`XQST0049: The function or variable "Q{${a}}${b}" is declared more than once.`), + vg = () => Error("XQST0060: Functions declared in a module or as an external function must reside in a namespace."), + wg = () => Error("XQST0066: A Prolog may contain at most one default function namespace declaration."), + xg = () => Error("XQST0070: The prefixes xml and xmlns may not be used in a namespace declaration or be bound to another namespaceURI."), + yg = a => Error(`XQDY0074: The value "${a}" of a name expressions cannot be converted to an expanded QName.`), + zg = a => Error(`XPST0081: The prefix "${a}" could not be resolved`); + function Ag(a, b) { + return `Q{${a || ""}}${b}`; + } + function Bg(a, b) { + for (let c = a.length - 1; 0 <= c; --c) if (b in a[c]) return a[c][b]; + } + function Ff(a) { + const b = new Cg(a.o); + for (let c = 0; c < a.h + 1; ++c) b.D = [Object.assign(Object.create(null), b.D[0], a.D[c])], b.Da = [Object.assign(Object.create(null), b.Da[0], a.Da[c])], b.l = Object.assign(Object.create(null), a.l), b.Ea = a.Ea, b.v = a.v; + return b; + } + function Dg(a) { + a.s++; + a.h++; + a.D[a.h] = Object.create(null); + a.Da[a.h] = Object.create(null); + } + function Eg(a, b, c) { + return (a = a.Ea[Ag(b, c)]) ? a : null; + } + function Fg(a, b, c, d, e) { + d = Ag(b, c) + "~" + d; + if (a.l[d]) throw ug(b, c); + a.l[d] = e; + } + function Gg(a, b, c) { + a.D[a.h][b] = c; + } + function Hg(a, b, c) { + b = Ag(b || "", c); + return a.Da[a.h][b] = `${b}[${a.s}]`; + } + function Ig(a, b, c, d) { + a.Ea[`${Ag(b || "", c)}[${a.s}]`] = d; + } + function Jg(a) { + a.D.length = a.h; + a.Da.length = a.h; + a.h--; + } + var Cg = class { + constructor(a) { + this.o = a; + this.s = this.h = 0; + this.D = [Object.create(null)]; + this.l = Object.create(null); + this.v = null; + this.Ea = a && a.Ea; + this.Da = a && a.Da; + } + va(a, b, c, d = !1) { + const e = this.l[Ag(a, b) + "~" + c]; + return !e || d && e.wb ? null === this.o ? null : this.o.va(a, b, c, d) : e; + } + eb(a, b) { + const c = Bg(this.Da, Ag(a, b)); + return c ? c : null === this.o ? null : this.o.eb(a, b); + } + Sa(a, b) { + var c = a.prefix; + const d = a.localName; + return "" === c && this.v ? { + localName: d, + namespaceURI: this.v + } : c && (c = this.$(c, !1)) ? { + localName: d, + namespaceURI: c + } : null === this.o ? null : this.o.Sa(a, b); + } + $(a, b = !0) { + const c = Bg(this.D, a || ""); + return void 0 === c ? null === this.o ? void 0 : this.o.$(a || "", b) : c; + } + }; + function F(a, b) { + "*" === b || Array.isArray(b) || (b = [b]); + for (let c = 1; c < a.length; ++c) { + if (!Array.isArray(a[c])) continue; + const d = a[c]; + if ("*" === b || b.includes(d[0])) return d; + } + return null; + } + function H(a) { + return 2 > a.length ? "" : "object" === typeof a[1] ? a[2] || "" : a[1] || ""; + } + function I(a, b) { + if (!Array.isArray(a)) return null; + a = a[1]; + return "object" !== typeof a || Array.isArray(a) ? null : b in a ? a[b] : null; + } + function J(a, b) { + return b.reduce(F, a); + } + function K(a, b) { + const c = []; + for (let d = 1; d < a.length; ++d) { + if (!Array.isArray(a[d])) continue; + const e = a[d]; + "*" !== b && e[0] !== b || c.push(e); + } + return c; + } + function Kg(a) { + return { + localName: H(a), + namespaceURI: I(a, "URI"), + prefix: I(a, "prefix") + }; + } + function Lg(a) { + const b = F(a, "typeDeclaration"); + if (!b || F(b, "voidSequenceType")) return { + type: 59, + g: 2 + }; + const c = f => { + switch (f[0]) { + case "documentTest": + return 55; + case "elementTest": + return 54; + case "attributeTest": + return 47; + case "piTest": + return 57; + case "commentTest": + return 58; + case "textTest": + return 56; + case "anyKindTest": + return 53; + case "anyItemType": + return 59; + case "anyFunctionTest": + case "functionTest": + case "typedFunctionTest": + return 60; + case "anyMapTest": + case "typedMapTest": + return 61; + case "anyArrayTest": + case "typedArrayTest": + return 62; + case "atomicType": + return Ia([I(f, "prefix"), H(f)].join(":")); + case "parenthesizedItemType": + return c(F(f, "*")); + default: + throw Error(`Type declaration "${F(b, "*")[0]}" is not supported.`); + } + }; + a = { + type: c(F(b, "*")), + g: 3 + }; + let d = null; + const e = F(b, "occurrenceIndicator"); + e && (d = H(e)); + switch (d) { + case "*": + return a.g = 2, a; + case "?": + return a.g = 0, a; + case "+": + return a.g = 1, a; + case "": + case null: + return a; + } + } + function L(a, b, c) { + if ("object" !== typeof a[1] || Array.isArray(a[1])) { + const d = {}; + d[b] = c; + a.splice(1, 0, d); + } else a[1][b] = c; + } + function Mg(a) { + const b = { + type: 62, + g: 3 + }; + L(a, "type", b); + return b; + } + function Ng(a, b) { + if (!b || !b.ga) return { + type: 59, + g: 2 + }; + var c = F(a, "EQName"); + if (!c) return { + type: 59, + g: 2 + }; + var d = Kg(c); + c = d.localName; + const e = d.prefix; + d = K(F(a, "arguments"), "*"); + c = b.ga.Sa({ + localName: c, + prefix: e + }, d.length); + if (!c) return { + type: 59, + g: 2 + }; + b = b.ga.va(c.namespaceURI, c.localName, d.length + 1); + if (!b) return { + type: 59, + g: 2 + }; + 59 !== b.i.type && L(a, "type", b.i); + return b.i; + } + function M(a, b, c) { + return (a << 20) + (b << 12) + (c.charCodeAt(0) << 8) + c.charCodeAt(1); + } + var Og = { + [M(2, 2, "idivOp")]: 5, + [M(16, 16, "addOp")]: 16, + [M(16, 16, "subtractOp")]: 16, + [M(16, 16, "divOp")]: 4, + [M(16, 2, "multiplyOp")]: 16, + [M(16, 2, "divOp")]: 16, + [M(2, 16, "multiplyOp")]: 16, + [M(17, 17, "addOp")]: 17, + [M(17, 17, "subtractOp")]: 17, + [M(17, 17, "divOp")]: 4, + [M(17, 2, "multiplyOp")]: 17, + [M(17, 2, "divOp")]: 17, + [M(2, 17, "multiplyOp")]: 17, + [M(9, 9, "subtractOp")]: 17, + [M(7, 7, "subtractOp")]: 17, + [M(8, 8, "subtractOp")]: 17, + [M(9, 16, "addOp")]: 9, + [M(9, 16, "subtractOp")]: 9, + [M(9, 17, "addOp")]: 9, + [M(9, 17, "subtractOp")]: 9, + [M(7, 16, "addOp")]: 7, + [M(7, 16, "subtractOp")]: 7, + [M(7, 17, "addOp")]: 7, + [M(7, 17, "subtractOp")]: 7, + [M(8, 17, "addOp")]: 8, + [M(8, 17, "subtractOp")]: 8, + [M(9, 16, "addOp")]: 9, + [M(9, 16, "subtractOp")]: 9, + [M(9, 17, "addOp")]: 9, + [M(9, 17, "subtractOp")]: 9, + [M(7, 17, "addOp")]: 7, + [M(7, 17, "subtractOp")]: 7, + [M(7, 16, "addOp")]: 7, + [M(7, 16, "subtractOp")]: 7, + [M(8, 17, "addOp")]: 8, + [M(8, 17, "subtractOp")]: 8 + }, + Pg = { + [M(2, 2, "addOp")]: (a, b) => a + b, + [M(2, 2, "subtractOp")]: (a, b) => a - b, + [M(2, 2, "multiplyOp")]: (a, b) => a * b, + [M(2, 2, "divOp")]: (a, b) => a / b, + [M(2, 2, "modOp")]: (a, b) => a % b, + [M(2, 2, "idivOp")]: (a, b) => Math.trunc(a / b), + [M(16, 16, "addOp")]: function (a, b) { + return new Kc(a.ea + b.ea); + }, + [M(16, 16, "subtractOp")]: function (a, b) { + return new Kc(a.ea - b.ea); + }, + [M(16, 16, "divOp")]: function (a, b) { + return a.ea / b.ea; + }, + [M(16, 2, "multiplyOp")]: Mc, + [M(16, 2, "divOp")]: function (a, b) { + if (isNaN(b)) throw Error("FOCA0005: Cannot divide xs:yearMonthDuration by NaN"); + a = Math.round(a.ea / b); + if (a > Number.MAX_SAFE_INTEGER || !Number.isFinite(a)) throw Error("FODT0002: Value overflow while dividing xs:yearMonthDuration"); + return new Kc(a < Number.MIN_SAFE_INTEGER || 0 === a ? 0 : a); + }, + [M(2, 16, "multiplyOp")]: (a, b) => Mc(b, a), + [M(17, 17, "addOp")]: function (a, b) { + return new yb(a.ca + b.ca); + }, + [M(17, 17, "subtractOp")]: function (a, b) { + return new yb(a.ca - b.ca); + }, + [M(17, 17, "divOp")]: function (a, b) { + if (0 === b.ca) throw Error("FOAR0001: Division by 0"); + return a.ca / b.ca; + }, + [M(17, 2, "multiplyOp")]: Cb, + [M(17, 2, "divOp")]: function (a, b) { + if (isNaN(b)) throw Error("FOCA0005: Cannot divide xs:dayTimeDuration by NaN"); + a = a.ca / b; + if (a > Number.MAX_SAFE_INTEGER || !Number.isFinite(a)) throw Error("FODT0002: Value overflow while dividing xs:dayTimeDuration"); + return new yb(a < Number.MIN_SAFE_INTEGER || Object.is(-0, a) ? 0 : a); + }, + [M(2, 17, "multiplyOp")]: (a, b) => Cb(b, a), + [M(9, 9, "subtractOp")]: Pb, + [M(7, 7, "subtractOp")]: Pb, + [M(8, 8, "subtractOp")]: Pb, + [M(9, 16, "addOp")]: Qb, + [M(9, 16, "subtractOp")]: Rb, + [M(9, 17, "addOp")]: Qb, + [M(9, 17, "subtractOp")]: Rb, + [M(7, 16, "addOp")]: Qb, + [M(7, 16, "subtractOp")]: Rb, + [M(7, 17, "addOp")]: Qb, + [M(7, 17, "subtractOp")]: Rb, + [M(8, 17, "addOp")]: Qb, + [M(8, 17, "subtractOp")]: Rb, + [M(9, 16, "addOp")]: Qb, + [M(9, 16, "subtractOp")]: Rb, + [M(9, 17, "addOp")]: Qb, + [M(9, 17, "subtractOp")]: Rb, + [M(7, 17, "addOp")]: Qb, + [M(7, 17, "subtractOp")]: Rb, + [M(7, 16, "addOp")]: Qb, + [M(7, 16, "subtractOp")]: Rb, + [M(8, 17, "addOp")]: Qb, + [M(8, 17, "subtractOp")]: Rb + }; + function Qg(a, b) { + return v(a, 5) && v(b, 5) ? 5 : v(a, 4) && v(b, 4) ? 4 : v(a, 6) && v(b, 6) ? 6 : 3; + } + const Rg = [2, 16, 17, 9, 7, 8]; + function Sg(a, b, c) { + function d(l, n) { + return { + U: e ? e(l) : l, + V: f ? f(n) : n + }; + } + let e = null, + f = null; + v(b, 19) && (e = l => jd(l, 3), b = 3); + v(c, 19) && (f = l => jd(l, 3), c = 3); + const h = Rg.filter(l => v(b, l)), + k = Rg.filter(l => v(c, l)); + if (h.includes(2) && k.includes(2)) { + const l = Pg[M(2, 2, a)]; + let n = Og[M(2, 2, a)]; + n ||= Qg(b, c); + "divOp" === a && 5 === n && (n = 4); + return "idivOp" === a ? Tg(d, l)[0] : (t, u) => { + const { + U: z, + V: y + } = d(t, u); + return g(l(z.value, y.value), n); + }; + } + for (const l of h) for (const n of k) { + const t = Pg[M(l, n, a)], + u = Og[M(l, n, a)]; + if (t && void 0 !== u) return (z, y) => { + const { + U: G, + V: N + } = d(z, y); + return g(t(G.value, N.value), u); + }; + } + } + function Ug(a, b, c) { + function d(n, t) { + return { + U: f ? f(n) : n, + V: h ? h(t) : t + }; + } + var e = [2, 53, 59, 46, 47]; + if (e.includes(b) || e.includes(c)) return 2; + let f = null, + h = null; + v(b, 19) && (f = n => jd(n, 3), b = 3); + v(c, 19) && (h = n => jd(n, 3), c = 3); + var k = Rg.filter(n => v(b, n)); + e = Rg.filter(n => v(c, n)); + if (k.includes(2) && e.includes(2)) { + var l = Og[M(2, 2, a)]; + void 0 === l && (l = Qg(b, c)); + "divOp" === a && 5 === l && (l = 4); + return "idivOp" === a ? Tg(d, (n, t) => Math.trunc(n / t))[1] : l; + } + for (l of k) for (const n of e) if (k = Og[M(l, n, a)], void 0 !== k) return k; + } + function Tg(a, b) { + return [(c, d) => { + const { + U: e, + V: f + } = a(c, d); + if (0 === f.value) throw Error("FOAR0001: Divisor of idiv operator cannot be (-)0"); + if (Number.isNaN(e.value) || Number.isNaN(f.value) || !Number.isFinite(e.value)) throw Error("FOAR0002: One of the operands of idiv is NaN or the first operand is (-)INF"); + return Number.isFinite(e.value) && !Number.isFinite(f.value) ? g(0, 5) : g(b(e.value, f.value), 5); + }, 5]; + } + const Vg = Object.create(null); + var Wg = class extends D { + constructor(a, b, c, d, e) { + super(b.o.add(c.o), [b, c], { + B: !1 + }, !1, d); + this.A = b; + this.L = c; + this.l = a; + this.s = e; + } + h(a, b) { + return qc(C(this.A, a, b), b).N(c => 0 === c.length ? w.empty() : qc(C(this.L, a, b), b).N(d => { + if (0 === d.length) return w.empty(); + if (1 < c.length || 1 < d.length) throw Error('XPTY0004: the operands of the "' + this.l + '" operator should be empty or singleton.'); + const e = c[0]; + d = d[0]; + if (this.s && this.type) return w.m(this.s(e, d)); + var f = e.type; + var h = d.type, + k = this.l; + const l = `${f}~${h}~${k}`; + let n = Vg[l]; + n ||= Vg[l] = Sg(k, f, h); + f = n; + if (!f) throw Error(`XPTY0004: ${this.l} not available for types ${Da[e.type]} and ${Da[d.type]}`); + return w.m(f(e, d)); + })); + } + }; + function Xg(a, b) { + var c = O; + let d = !1; + for (var e = 1; e < a.length; e++) switch (a[e][0]) { + case "letClause": + Yg(b); + var f = a[e], + h = b, + k = c, + l = J(f, ["letClauseItem", "typedVariableBinding", "varName"]); + l = Kg(l); + f = J(f, ["letClauseItem", "letExpr"]); + k = k(f[1], h); + Zg(h, l.localName, k); + break; + case "forClause": + d = !0; + Yg(b); + $g(a[e], b, c); + break; + case "whereClause": + Yg(b); + h = a[e]; + c(h, b); + L(h, "type", { + type: 0, + g: 3 + }); + break; + case "orderByClause": + Yg(b); + break; + case "returnClause": + e = a[e]; + h = c; + c = J(e, ["*"]); + b = h(c, b); + L(c, "type", b); + L(e, "type", b); + c = b; + if (!c) return { + type: 59, + g: 2 + }; + d && (c = { + type: c.type, + g: 2 + }); + 59 !== c.type && L(a, "type", c); + return c; + default: + c = c(a[e], b); + if (!c) return { + type: 59, + g: 2 + }; + d && (c = { + type: c.type, + g: 2 + }); + 59 !== c.type && L(a, "type", c); + return c; + } + if (0 < b.h) b.h--, b.o.pop(), b.v.pop();else throw Error("Variable scope out of bound"); + } + function $g(a, b, c) { + const d = Kg(J(a, ["forClauseItem", "typedVariableBinding", "varName"])); + if (a = J(a, ["forClauseItem", "forExpr", "sequenceExpr"])) a = K(a, "*").map(e => c(e, b)), a.includes(void 0) || a.includes(null) || (a = ah(a), 1 === a.length && Zg(b, d.localName, a[0])); + } + function ah(a) { + return a.filter((b, c, d) => d.findIndex(e => e.type === b.type && e.g === b.g) === c); + } + function bh(a, b) { + if (!b || !b.ga) return { + type: 59, + g: 2 + }; + const c = F(a, "functionName"); + var d = Kg(c); + let e = d.localName; + var f = d.prefix; + let h = d.namespaceURI; + d = K(F(a, "arguments"), "*"); + if (null === h) { + f = b.ga.Sa({ + localName: e, + prefix: f + }, d.length); + if (!f) return { + type: 59, + g: 2 + }; + e = f.localName; + h = f.namespaceURI; + L(c, "URI", h); + c[2] = e; + } + b = b.ga.va(h, e, d.length); + if (!b || 63 === b.i.type) return { + type: 59, + g: 2 + }; + 59 !== b.i.type && L(a, "type", b.i); + return b.i; + } + function ch(a) { + const b = { + type: 61, + g: 3 + }; + L(a, "type", b); + return b; + } + function dh(a, b) { + if (!b || !b.ga) return { + type: 59, + g: 2 + }; + const c = F(a, "functionName"); + var d = Kg(c); + let e = d.localName; + var f = d.namespaceURI; + const h = d.prefix; + d = Number(J(a, ["integerConstantExpr", "value"])[1]); + if (!f) { + f = b.ga.Sa({ + localName: e, + prefix: h + }, d); + if (!f) return { + type: 59, + g: 2 + }; + e = f.localName; + f = f.namespaceURI; + L(c, "URI", f); + } + b = b.ga.va(f, e, d) || null; + if (!b) return { + type: 59, + g: 2 + }; + 59 !== b.i.type && 63 !== b.i.type && L(a, "type", b.i); + return b.i; + } + function eh(a, b) { + var c = K(a, "stepExpr"); + if (!c) return { + type: 59, + g: 2 + }; + for (const f of c) { + a: { + c = f; + var d = b; + let h = null; + if (!c) break a; + var e = K(c, "*"); + let k = ""; + for (const l of e) switch (l[0]) { + case "filterExpr": + h = I(J(l, ["*"]), "type"); + break; + case "xpathAxis": + k = l[1]; + b: { + switch (k) { + case "attribute": + h = { + type: 47, + g: 2 + }; + break b; + case "child": + case "decendant": + case "self": + case "descendant-or-self": + case "following-sibling": + case "following": + case "namespace": + case "parent": + case "ancestor": + case "preceding-sibling": + case "preceding": + case "ancestor-or-self": + h = { + type: 53, + g: 2 + }; + break b; + } + h = void 0; + } + break; + case "nameTest": + e = Kg(l); + if (null !== e.namespaceURI) break; + if ("attribute" === k && !e.prefix) break; + e = d.$(e.prefix || ""); + void 0 !== e && L(l, "URI", e); + break; + case "lookup": + h = { + type: 59, + g: 2 + }; + } + h && 59 !== h.type && L(c, "type", h); + } + d = I(f, "type"); + } + d && 59 !== d.type && L(a, "type", d); + return d; + } + function fh(a) { + const b = { + type: 0, + g: 3 + }; + L(a, "type", b); + return b; + } + function gh(a, b, c) { + 0 === b ? b = { + type: 53, + g: 2 + } : 1 === b ? b = c[0] : c.includes(void 0) || c.includes(null) ? b = { + type: 59, + g: 2 + } : (b = ah(c), b = 1 < b.length ? { + type: 59, + g: 2 + } : { + type: b[0].type, + g: 2 + }); + b && 59 !== b.type && L(a, "type", b); + return b; + } + function hh(a, b, c, d) { + if (!b || c.includes(void 0)) return { + type: 59, + g: 2 + }; + var e = K(a, "typeswitchExprCaseClause"); + for (let h = 0; h < c.length; h++) { + var f = F(e[h], "*"); + switch (f[0]) { + case "sequenceType": + if (f = ih(f, b, c[h])) return 59 !== f.type && L(a, "type", f), f; + continue; + case "sequenceTypeUnion": + for (d = K(f, "*"), e = 0; 2 > e; e++) if (f = ih(d[e], b, c[h])) return 59 !== f.type && L(a, "type", f), f; + default: + return { + type: 59, + g: 2 + }; + } + } + 59 !== d.type && L(a, "type", d); + return d; + } + function ih(a, b, c) { + const d = K(a, "*"), + e = F(a, "atomicType"); + if (!e) return { + type: 59, + g: 2 + }; + if (Ia(I(e, "prefix") + ":" + e[2]) === b.type) if (1 === d.length) { + if (3 === b.g) return c; + } else if (a = F(a, "occurrenceIndicator")[1], b.g === Ka(a)) return c; + } + function jh(a, b) { + O(a, b); + } + function O(a, b) { + var c = kh.get(a[0]); + if (c) return c(a, b); + for (c = 1; c < a.length; c++) a[c] && O(a[c], b); + } + const lh = (a, b) => { + var c = O(F(a, "firstOperand")[1], b); + const d = O(F(a, "secondOperand")[1], b); + var e = a[0]; + if (c && d) { + if (b = Ug(e, c.type, d.type)) c = { + type: b, + g: c.g + }, 2 !== b && 59 !== b && L(a, "type", c), a = c;else throw Error(`XPTY0004: ${e} not available for types ${Ha(c)} and ${Ha(d)}`); + } else a = { + type: 2, + g: 3 + }; + return a; + }, + mh = (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + a: { + switch (a[0]) { + case "orOp": + b = { + type: 0, + g: 3 + }; + L(a, "type", b); + a = b; + break a; + case "andOp": + b = { + type: 0, + g: 3 + }; + L(a, "type", b); + a = b; + break a; + } + a = void 0; + } + return a; + }, + nh = (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + a: { + switch (a[0]) { + case "unionOp": + b = { + type: 53, + g: 2 + }; + L(a, "type", b); + a = b; + break a; + case "intersectOp": + b = { + type: 53, + g: 2 + }; + L(a, "type", b); + a = b; + break a; + case "exceptOp": + b = { + type: 53, + g: 2 + }; + L(a, "type", b); + a = b; + break a; + } + a = void 0; + } + return a; + }, + oh = (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + b = { + type: 0, + g: 3 + }; + L(a, "type", b); + return b; + }, + ph = (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + b = I(J(a, ["firstOperand", "*"]), "type"); + const c = I(J(a, ["secondOperand", "*"]), "type"); + b = { + type: 0, + g: wc(b) || wc(c) ? 0 : 3 + }; + L(a, "type", b); + return b; + }, + qh = (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + b = I(J(a, ["firstOperand", "*"]), "type"); + const c = I(J(a, ["secondOperand", "*"]), "type"); + b = { + type: 0, + g: wc(b) || wc(c) ? 0 : 3 + }; + L(a, "type", b); + return b; + }, + kh = new Map([["unaryMinusOp", (a, b) => { + b = O(F(a, "operand")[1], b); + b ? v(b.type, 2) ? (b = { + type: b.type, + g: b.g + }, L(a, "type", b), a = b) : (b = { + type: 3, + g: 3 + }, L(a, "type", b), a = b) : (b = { + type: 2, + g: 2 + }, L(a, "type", b), a = b); + return a; + }], ["unaryPlusOp", (a, b) => { + b = O(F(a, "operand")[1], b); + b ? v(b.type, 2) ? (b = { + type: b.type, + g: b.g + }, L(a, "type", b), a = b) : (b = { + type: 3, + g: 3 + }, L(a, "type", b), a = b) : (b = { + type: 2, + g: 2 + }, L(a, "type", b), a = b); + return a; + }], ["addOp", lh], ["subtractOp", lh], ["divOp", lh], ["idivOp", lh], ["modOp", lh], ["multiplyOp", lh], ["andOp", mh], ["orOp", mh], ["sequenceExpr", (a, b) => { + const c = K(a, "*"), + d = c.map(e => O(e, b)); + return gh(a, c.length, d); + }], ["unionOp", nh], ["intersectOp", nh], ["exceptOp", nh], ["stringConcatenateOp", (a, b) => { + O(F(a, "firstOperand")[1], b); + O(F(a, "secondOperand")[1], b); + b = { + type: 1, + g: 3 + }; + L(a, "type", b); + return b; + }], ["rangeSequenceExpr", (a, b) => { + O(F(a, "startExpr")[1], b); + O(F(a, "endExpr")[1], b); + b = { + type: 5, + g: 1 + }; + L(a, "type", b); + return b; + }], ["equalOp", oh], ["notEqualOp", oh], ["lessThanOrEqualOp", oh], ["lessThanOp", oh], ["greaterThanOrEqualOp", oh], ["greaterThanOp", oh], ["eqOp", ph], ["neOp", ph], ["ltOp", ph], ["leOp", ph], ["gtOp", ph], ["geOp", ph], ["isOp", qh], ["nodeBeforeOp", qh], ["nodeAfterOp", qh], ["pathExpr", (a, b) => { + const c = F(a, "rootExpr"); + c && c[1] && O(c[1], b); + K(a, "stepExpr").map(d => O(d, b)); + return eh(a, b); + }], ["contextItemExpr", () => ({ + type: 59, + g: 2 + })], ["ifThenElseExpr", (a, b) => { + var c = F(a, "ifClause") || F(K(a, "x:stackTrace")[0], "ifClause"); + const d = F(a, "thenClause") || F(K(a, "x:stackTrace")[1], "thenClause"), + e = F(a, "elseClause") || F(K(a, "x:stackTrace")[2], "elseClause"); + O(F(c, "*"), b); + c = O(F(d, "*"), b); + b = O(F(e, "*"), b); + c && b ? c.type === b.type && c.g === b.g ? (59 !== c.type && L(a, "type", c), a = c) : a = { + type: 59, + g: 2 + } : a = { + type: 59, + g: 2 + }; + return a; + }], ["instanceOfExpr", (a, b) => { + O(F(a, "argExpr"), b); + O(F(a, "sequenceType"), b); + b = { + type: 0, + g: 3 + }; + L(a, "type", b); + return b; + }], ["integerConstantExpr", a => { + const b = { + type: 5, + g: 3 + }; + L(a, "type", b); + return b; + }], ["doubleConstantExpr", a => { + const b = { + type: 3, + g: 3 + }; + L(a, "type", b); + return b; + }], ["decimalConstantExpr", a => { + const b = { + type: 4, + g: 3 + }; + L(a, "type", b); + return b; + }], ["stringConstantExpr", a => { + const b = { + type: 1, + g: 3 + }; + L(a, "type", b); + return b; + }], ["functionCallExpr", (a, b) => { + const c = F(a, "arguments"); + K(c, "*").map(d => O(d, b)); + return bh(a, b); + }], ["arrowExpr", (a, b) => { + O(F(a, "argExpr")[1], b); + return Ng(a, b); + }], ["dynamicFunctionInvocationExpr", (a, b) => { + O(J(a, ["functionItem", "*"]), b); + (a = F(a, "arguments")) && O(a, b); + return { + type: 59, + g: 2 + }; + }], ["namedFunctionRef", (a, b) => dh(a, b)], ["inlineFunctionExpr", (a, b) => { + O(F(a, "functionBody")[1], b); + b = { + type: 60, + g: 3 + }; + L(a, "type", b); + return b; + }], ["castExpr", a => { + var b = J(a, ["singleType", "atomicType"]); + b = { + type: Ia(I(b, "prefix") + ":" + b[2]), + g: 3 + }; + 59 !== b.type && L(a, "type", b); + return b; + }], ["castableExpr", a => { + const b = { + type: 0, + g: 3 + }; + L(a, "type", b); + return b; + }], ["simpleMapExpr", (a, b) => { + const c = K(a, "pathExpr"); + let d; + for (let e = 0; e < c.length; e++) d = O(c[e], b); + void 0 !== d && null !== d ? ((b = { + type: d.type, + g: 2 + }, 59 !== b.type) && L(a, "type", b), a = b) : a = { + type: 59, + g: 2 + }; + return a; + }], ["mapConstructor", (a, b) => { + K(a, "mapConstructorEntry").map(c => ({ + key: O(J(c, ["mapKeyExpr", "*"]), b), + value: O(J(c, ["mapValueExpr", "*"]), b) + })); + return ch(a); + }], ["arrayConstructor", (a, b) => { + K(F(a, "*"), "arrayElem").map(c => O(c, b)); + return Mg(a); + }], ["unaryLookup", a => { + F(a, "NCName"); + return { + type: 59, + g: 2 + }; + }], ["typeswitchExpr", (a, b) => { + const c = O(F(a, "argExpr")[1], b), + d = K(a, "typeswitchExprCaseClause").map(f => O(J(f, ["resultExpr"])[1], b)), + e = O(J(a, ["typeswitchExprDefaultClause", "resultExpr"])[1], b); + return hh(a, c, d, e); + }], ["quantifiedExpr", (a, b) => { + K(a, "*").map(c => O(c, b)); + return fh(a); + }], ["x:stackTrace", (a, b) => { + a = K(a, "*"); + return O(a[0], b); + }], ["queryBody", (a, b) => O(a[1], b)], ["flworExpr", (a, b) => Xg(a, b)], ["varRef", (a, b) => { + const c = Kg(F(a, "name")); + var d; + a: { + for (d = b.h; 0 <= d; d--) { + const e = b.o[d][c.localName]; + if (e) { + d = e; + break a; + } + } + d = void 0; + } + d && 59 !== d.type && L(a, "type", d); + null === c.namespaceURI && (b = b.$(c.prefix), void 0 !== b && L(a, "URI", b)); + return d; + }]]); + function Yg(a) { + a.h++; + a.o.push({}); + a.v.push({}); + } + function Zg(a, b, c) { + if (a.o[a.h][b]) throw Error(`Another variable of in the scope ${a.h} with the same name ${b} already exists`); + a.o[a.h][b] = c; + } + var rh = class { + constructor(a) { + this.h = 0; + this.ga = a; + this.o = [{}]; + this.v = [{}]; + } + $(a) { + for (let b = this.h; 0 <= b; b--) { + const c = this.v[b][a]; + if (void 0 !== c) return c; + } + return this.ga ? this.ga.$(a) : void 0; + } + }; + var sh = class extends D { + constructor(a, b) { + super(new vf({ + external: 1 + }), a, { + B: a.every(c => c.B) + }, !1, b); + this.l = a; + } + h(a, b) { + return 0 === this.l.length ? w.m(new pb([])) : C(this.l[0], a, b).N(c => w.m(new pb(c.map(d => Ra(w.m(d)))))); + } + }; + var th = class extends D { + constructor(a, b) { + super(new vf({ + external: 1 + }), a, { + B: a.every(c => c.B) + }, !1, b); + this.l = a; + } + h(a, b) { + return w.m(new pb(this.l.map(c => Ra(C(c, a, b))))); + } + }; + function uh(a) { + if (null === a) throw lc("context is absent, it needs to be present to use axes."); + if (!v(a.type, 53)) throw Error("XPTY0020: Axes can only be applied to nodes."); + return a.value; + } + function vh(a, b, c) { + let d = b; + return { + next: () => { + if (!d) return p; + const e = d; + d = x(a, e, c); + return q(rb(e)); + } + }; + } + var wh = class extends D { + constructor(a, b) { + b = b || { + Qa: !1 + }; + super(a.o, [a], { + R: "reverse-sorted", + W: !1, + subtree: !1, + B: !1 + }); + this.l = a; + this.s = !!b.Qa; + } + h(a, b) { + b = b.h; + a = uh(a.M); + var c = this.l.D(); + c = c && (c.startsWith("name-") || "type-1" === c) ? "type-1" : null; + return w.create(vh(b, this.s ? a : x(b, a, c), c)).filter(d => this.l.l(d)); + } + }; + const xh = new Map([["type-1-or-type-2", ["name", "type-1", "type-2"]], ["type-1", ["name"]], ["type-2", ["name"]]]); + function yh(a, b) { + if (null === a) return b; + if (null === b || a === b) return a; + const c = a.startsWith("name-") ? "name" : a, + d = b.startsWith("name-") ? "name" : b, + e = xh.get(c); + if (void 0 !== e && e.includes(d)) return b; + b = xh.get(d); + return void 0 !== b && b.includes(c) ? a : "empty"; + } + var zh = class extends D { + constructor(a, b) { + super(new vf({ + attribute: 1 + }), [a], { + R: "unsorted", + subtree: !0, + W: !0, + B: !1 + }); + this.l = a; + this.s = yh(this.l.D(), b); + } + h(a, b) { + b = b.h; + a = uh(a.M); + if (1 !== a.node.nodeType) return w.empty(); + a = eb(b, a, this.s).filter(c => "http://www.w3.org/2000/xmlns/" !== c.node.namespaceURI).map(c => rb(c)).filter(c => this.l.l(c)); + return w.create(a); + } + D() { + return "type-1"; + } + }; + var Ah = class extends D { + constructor(a, b) { + super(a.o, [a], { + R: "sorted", + subtree: !0, + W: !0, + B: !1 + }); + this.s = a; + this.l = yh(b, a.D()); + } + h(a, b) { + const c = b.h, + d = uh(a.M); + a = d.node.nodeType; + if (1 !== a && 9 !== a) return w.empty(); + let e = null, + f = !1; + return w.create({ + next: () => { + for (; !f;) { + if (!e) { + e = jb(c, d, this.l); + if (!e) { + f = !0; + continue; + } + return q(rb(e)); + } + if (e = lb(c, e, this.l)) return q(rb(e)); + f = !0; + } + return p; + } + }).filter(h => this.s.l(h)); + } + }; + function Bh(a, b, c) { + const d = b.node.nodeType; + if (1 !== d && 9 !== d) return { + next: () => p + }; + let e = jb(a, b, c); + return { + next() { + if (!e) return p; + const f = e; + e = lb(a, e, c); + return q(f); + } + }; + } + function Ch(a, b, c) { + const d = [kd(b)]; + return { + next: e => { + 0 < d.length && 0 !== (e & 1) && d.shift(); + if (!d.length) return p; + for (e = d[0].next(0); e.done;) { + d.shift(); + if (!d.length) return p; + e = d[0].next(0); + } + d.unshift(Bh(a, e.value, c)); + return q(rb(e.value)); + } + }; + } + var Dh = class extends D { + constructor(a, b) { + b = b || { + Qa: !1 + }; + super(a.o, [a], { + B: !1, + W: !1, + R: "sorted", + subtree: !0 + }); + this.l = a; + this.s = !!b.Qa; + this.A = (a = this.l.D()) && (a.startsWith("name-") || "type-1" === a) || "type-1-or-type-2" === a ? "type-1" : null; + } + h(a, b) { + b = b.h; + a = uh(a.M); + a = Ch(b, a, this.A); + this.s || a.next(0); + return w.create(a).filter(c => this.l.l(c)); + } + }; + function Eh(a, b, c) { + var d = a.node.nodeType; + if (1 !== d && 9 !== d) return a; + for (d = kb(b, a, c); null !== d;) { + if (1 !== d.node.nodeType) return d; + a = d; + d = kb(b, a, c); + } + return a; + } + function Fh(a, b, c = !1, d) { + if (c) { + let f = b, + h = !1; + return { + next: () => { + if (h) return p; + if (md(f, b)) return f = Eh(b, a, d), md(f, b) ? (h = !0, p) : q(rb(f)); + const k = f.node.nodeType, + l = 9 === k || 2 === k ? null : mb(a, f, d); + if (null !== l) return f = Eh(l, a, d), q(rb(f)); + f = 9 === k ? null : x(a, f, d); + return md(f, b) ? (h = !0, p) : q(rb(f)); + } + }; + } + const e = [Bh(a, b, d)]; + return { + next: () => { + if (!e.length) return p; + let f = e[0].next(0); + for (; f.done;) { + e.shift(); + if (!e.length) return p; + f = e[0].next(0); + } + e.unshift(Bh(a, f.value, d)); + return q(rb(f.value)); + } + }; + } + function Gh(a, b, c) { + const d = []; + for (; b && 9 !== b.node.nodeType; b = x(a, b, null)) { + const f = lb(a, b, c); + f && d.push(f); + } + let e = null; + return { + next: () => { + for (; e || d.length;) { + if (!e) { + e = Fh(a, d[0], !1, c); + var f = q(rb(d[0])); + const h = lb(a, d[0], c); + h ? d[0] = h : d.shift(); + return f; + } + f = e.next(0); + if (f.done) e = null;else return f; + } + return p; + } + }; + } + var Hh = class extends D { + constructor(a) { + super(a.o, [a], { + R: "sorted", + W: !0, + subtree: !1, + B: !1 + }); + this.l = a; + this.s = (a = this.l.D()) && (a.startsWith("name-") || "type-1" === a) ? "type-1" : null; + } + h(a, b) { + b = b.h; + a = uh(a.M); + return w.create(Gh(b, a, this.s)).filter(c => this.l.l(c)); + } + }; + function Ih(a, b, c) { + return { + next: () => (b = b && lb(a, b, c)) ? q(rb(b)) : p + }; + } + var Jh = class extends D { + constructor(a, b) { + super(a.o, [a], { + R: "sorted", + W: !0, + subtree: !1, + B: !1 + }); + this.l = a; + this.s = yh(this.l.D(), b); + } + h(a, b) { + b = b.h; + a = uh(a.M); + return w.create(Ih(b, a, this.s)).filter(c => this.l.l(c)); + } + }; + var Kh = class extends D { + constructor(a, b) { + super(a.o, [a], { + R: "reverse-sorted", + W: !0, + subtree: !0, + B: !1 + }); + this.l = a; + this.s = yh(b, this.l.D()); + } + h(a, b) { + b = b.h; + a = uh(a.M); + a = x(b, a, this.s); + if (!a) return w.empty(); + a = rb(a); + return this.l.l(a) ? w.m(a) : w.empty(); + } + }; + function Lh(a, b, c) { + const d = []; + for (; b && 9 !== b.node.nodeType; b = x(a, b, null)) { + const f = mb(a, b, c); + null !== f && d.push(f); + } + let e = null; + return { + next: () => { + for (; e || d.length;) { + e ||= Fh(a, d[0], !0, c); + var f = e.next(0); + if (f.done) { + e = null; + f = mb(a, d[0], c); + const h = q(rb(d[0])); + null === f ? d.shift() : d[0] = f; + return h; + } + return f; + } + return p; + } + }; + } + var Mh = class extends D { + constructor(a) { + super(a.o, [a], { + B: !1, + W: !0, + R: "reverse-sorted", + subtree: !1 + }); + this.l = a; + this.s = (a = this.l.D()) && (a.startsWith("name-") || "type-1" === a) ? "type-1" : null; + } + h(a, b) { + b = b.h; + a = uh(a.M); + return w.create(Lh(b, a, this.s)).filter(c => this.l.l(c)); + } + }; + function Nh(a, b, c) { + return { + next: () => (b = b && mb(a, b, c)) ? q(rb(b)) : p + }; + } + var Oh = class extends D { + constructor(a, b) { + super(a.o, [a], { + B: !1, + W: !0, + R: "reverse-sorted", + subtree: !1 + }); + this.l = a; + this.s = yh(this.l.D(), b); + } + h(a, b) { + b = b.h; + a = uh(a.M); + return w.create(Nh(b, a, this.s)).filter(c => this.l.l(c)); + } + }; + var Ph = class extends D { + constructor(a, b) { + super(a.o, [a], { + R: "sorted", + subtree: !0, + W: !0, + B: !1 + }); + this.l = a; + this.s = yh(this.l.D(), b); + } + h(a) { + uh(a.M); + return this.l.l(a.M) ? w.m(a.M) : w.empty(); + } + D() { + return this.s; + } + }; + var Qh = class extends rf { + constructor(a, b, c, d) { + super(a.o.add(b.o).add(c.o), [a, b, c], { + B: a.B && b.B && c.B, + W: b.W === c.W && b.W, + R: b.ia === c.ia ? b.ia : "unsorted", + subtree: b.subtree === c.subtree && b.subtree + }, d); + this.l = a; + } + A(a, b, c) { + let d = null; + const e = c[0](a); + return w.create({ + next: f => { + d || (d = (e.fa() ? c[1](a) : c[2](a)).value); + return d.next(f); + } + }); + } + v(a) { + super.v(a); + if (this.l.I) throw Oe(); + } + }; + function ig(a) { + return a.h instanceof Error ? a.location : ig(a.h); + } + function jg(a) { + let b; + b = a.h instanceof gg ? ["Inner error:", a.h.message] : a.h instanceof Error ? [a.h.toString()] : jg(a.h); + b.push(` at <${a.o}${a.Wa ? ` (${a.Wa})` : ""}>:${a.location.start.line}:${a.location.start.ha} - ${a.location.end.line}:${a.location.end.ha}`); + return b; + } + var Rh = class { + constructor(a, b, c, d) { + this.location = a; + this.o = b; + this.Wa = c; + this.h = d; + } + }; + var Sh = class extends rf { + constructor(a, b, c, d) { + super(c.o, [c], { + B: c.B, + W: c.W, + R: c.ia, + subtree: c.subtree + }); + this.L = b; + this.P = { + end: { + ha: a.end.ha, + line: a.end.line, + offset: a.end.offset + }, + start: { + ha: a.start.ha, + line: a.start.line, + offset: a.start.offset + } + }; + this.l = d; + } + A(a, b, [c]) { + let d; + try { + d = c(a); + } catch (e) { + throw new Rh(this.P, this.L, this.l, e); + } + return w.create({ + next: e => { + try { + return d.value.next(e); + } catch (f) { + throw new Rh(this.P, this.L, this.l, f); + } + } + }); + } + v(a) { + try { + super.v(a); + } catch (b) { + throw new Rh(this.P, this.L, this.l, b); + } + } + D() { + return this.Fa[0].D(); + } + }; + function Th(a, b, c, d) { + let e = []; + const f = a.L(b, c, d, k => { + if (a.l instanceof Uh) { + const n = Th(a.l, b, k, d); + return pf(n, t => e = t); + } + let l = null; + return w.create({ + next: () => { + for (;;) { + if (!l) { + var n = k.next(0); + if (n.done) return p; + n = a.l.s(n.value, d); + l = pf(n, t => e = mf(e, t)).value; + } + n = l.next(0); + if (n.done) l = null;else return n; + } + } + }); + }); + let h = !1; + return { + next: () => { + if (h) return p; + const k = f.O(); + h = !0; + return q(new Ze(k, e)); + } + }; + } + function Vh(a, b, c, d) { + return a.L(b, c, d, e => { + if (a.l instanceof Uh) return Vh(a.l, b, e, d); + let f = null; + return w.create({ + next: () => { + for (;;) { + if (!f) { + var h = e.next(0); + if (h.done) return p; + f = C(a.l, h.value, d).value; + } + h = f.next(0); + if (h.done) f = null;else return h; + } + } + }); + }); + } + var Uh = class extends D { + constructor(a, b, c, d) { + super(a, b, c, !0); + this.l = d; + this.I = this.l.I; + } + h(a, b) { + return this.L(a, kd(a), b, c => { + if (this.l instanceof Uh) return Vh(this.l, a, c, b); + let d = null; + return w.create({ + next: e => { + for (;;) { + if (!d) { + var f = c.next(0); + if (f.done) return p; + d = C(this.l, f.value, b).value; + } + f = d.next(e); + if (f.done) d = null;else return f; + } + } + }); + }); + } + s(a, b) { + return Th(this, a, kd(a), b); + } + v(a) { + super.v(a); + this.I = this.l.I; + for (const b of this.Fa) if (b !== this.l && b.I) throw Oe(); + } + }; + var Wh = class extends Uh { + constructor(a, b, c, d) { + super(b.o.add(d.o), [b, d], { + B: !1 + }, d); + this.P = a.prefix; + this.ma = a.namespaceURI; + this.Pb = a.localName; + this.yb = null; + this.A = c; + this.La = null; + this.ya = b; + } + L(a, b, c, d) { + let e = null, + f = null, + h = 0; + return d({ + next: () => { + for (;;) { + if (!e) { + var k = b.next(0); + if (k.done) return p; + f = k.value; + h = 0; + e = C(this.ya, f, c).value; + } + const l = e.next(0); + if (l.done) e = null;else return h++, k = { + [this.yb]: () => w.m(l.value) + }, this.La && (k[this.La] = () => w.m(new Ca(5, h))), q(hc(f, k)); + } + } + }); + } + v(a) { + if (this.P && (this.ma = a.$(this.P), !this.ma && this.P)) throw Error(`XPST0081: Could not resolve namespace for prefix ${this.P} in a for expression`); + this.ya.v(a); + Dg(a); + this.yb = Hg(a, this.ma, this.Pb); + if (this.A) { + if (this.A.prefix && (this.A.namespaceURI = a.$(this.A.prefix), !this.A.namespaceURI && this.A.prefix)) throw Error(`XPST0081: Could not resolve namespace for prefix ${this.P} in the positionalVariableBinding in a for expression`); + this.La = Hg(a, this.A.namespaceURI, this.A.localName); + } + this.l.v(a); + Jg(a); + if (this.ya.I) throw Oe(); + this.l.I && (this.I = !0); + } + }; + var Xh = class extends D { + constructor(a, b, c) { + super(new vf({ + external: 1 + }), [c], { + B: !1, + R: "unsorted" + }); + this.P = a.map(({ + name: d + }) => d); + this.A = a.map(({ + type: d + }) => d); + this.s = null; + this.L = b; + this.l = c; + } + h(a, b) { + const c = new Va({ + j: this.A, + arity: this.A.length, + Ya: !0, + I: this.l.I, + localName: "dynamic-function", + namespaceURI: "", + i: this.L, + value: (d, e, f, ...h) => { + d = hc(bc(a, -1, null, w.empty()), this.s.reduce((k, l, n) => { + k[l] = Ra(h[n]); + return k; + }, Object.create(null))); + return C(this.l, d, b); + } + }); + return w.m(c); + } + v(a) { + Dg(a); + this.s = this.P.map(b => Hg(a, b.namespaceURI, b.localName)); + this.l.v(a); + Jg(a); + if (this.l.I) throw Error("Not implemented: inline functions can not yet be updating."); + } + }; + var Yh = class extends Uh { + constructor(a, b, c) { + super(b.o.add(c.o), [b, c], { + B: !1, + W: c.W, + R: c.ia, + subtree: c.subtree + }, c); + if (a.prefix || a.namespaceURI) throw Error("Not implemented: let expressions with namespace usage."); + this.A = a.prefix; + this.P = a.namespaceURI; + this.La = a.localName; + this.ma = b; + this.ya = null; + } + L(a, b, c, d) { + return d({ + next: () => { + var e = b.next(0); + if (e.done) return p; + e = e.value; + e = hc(e, { + [this.ya]: Ra(C(this.ma, e, c)) + }); + return q(e); + } + }); + } + v(a) { + if (this.A && (this.P = a.$(this.A), !this.P && this.A)) throw Error(`XPST0081: Could not resolve namespace for prefix ${this.A} using in a for expression`); + this.ma.v(a); + Dg(a); + this.ya = Hg(a, this.P, this.La); + this.l.v(a); + Jg(a); + this.I = this.l.I; + if (this.ma.I) throw Oe(); + } + }; + var Zh = class extends D { + constructor(a, b) { + super(new vf({}), [], { + B: !0, + R: "sorted" + }, !1, b); + let c; + switch (b.type) { + case 5: + c = g(parseInt(a, 10), b.type); + break; + case 1: + c = g(a, b.type); + break; + case 4: + case 3: + c = g(parseFloat(a), b.type); + break; + default: + throw new TypeError("Type " + b + " not expected in a literal"); + } + this.l = () => w.m(c); + } + h() { + return this.l(); + } + }; + var $h = class extends D { + constructor(a, b) { + super(new vf({ + external: 1 + }), a.reduce((c, { + key: d, + value: e + }) => c.concat(d, e), []), { + B: !1 + }, !1, b); + this.l = a; + } + h(a, b) { + const c = this.l.map(d => qc(C(d.key, a, b), b).X({ + default: () => { + throw Error("XPTY0004: A key of a map should be a single atomizable value."); + }, + m: e => e + })); + return A(c, d => w.m(new ub(d.map((e, f) => ({ + key: e, + value: Ra(C(this.l[f].value, a, b)) + }))))); + } + }; + var ai = class extends D { + constructor(a, b, c) { + super(new vf({ + external: 1 + }), [], { + B: !0 + }, !1, c); + this.s = b; + this.A = a; + this.l = null; + } + h() { + const a = new Va({ + j: this.l.j, + I: this.l.I, + arity: this.s, + localName: this.l.localName, + namespaceURI: this.l.namespaceURI, + i: this.l.i, + value: this.l.callFunction + }); + return w.m(a); + } + v(a) { + let b = this.A.namespaceURI, + c = this.A.localName; + const d = this.A.prefix; + if (null === b) { + const e = a.Sa({ + localName: c, + prefix: d + }, this.s); + if (!e) throw Error(`XPST0017: The function ${d ? d + ":" : ""}${c} with arity ${this.s} could not be resolved. ${mg(c)}`); + b = e.namespaceURI; + c = e.localName; + } + this.l = a.va(b, c, this.s) || null; + if (!this.l) throw a = this.A, Error(`XPST0017: Function ${`${a.namespaceURI ? `Q{${a.namespaceURI}}` : a.prefix ? `${a.prefix}:` : ""}${a.localName}`} with arity of ${this.s} not registered. ${mg(c)}`); + super.v(a); + } + }; + const bi = { + [5]: 5, + [27]: 5, + [28]: 5, + [31]: 5, + [32]: 5, + [33]: 5, + [34]: 5, + [30]: 5, + [36]: 5, + [35]: 5, + [38]: 5, + [37]: 5, + [29]: 5, + [4]: 4, + [6]: 6, + [3]: 3 + }; + var ci = class extends D { + constructor(a, b, c) { + super(b.o, [b], { + B: !1 + }, !1, c); + this.s = b; + this.l = a; + } + h(a, b) { + return qc(C(this.s, a, b), b).N(c => { + if (0 === c.length) return w.empty(); + var d = c[0]; + if (this.type) return c = "+" === this.l ? +d.value : -d.value, 0 === d.type && (c = Number.NaN), w.m(g(c, this.type.type)); + if (1 < c.length) throw Error("XPTY0004: The operand to a unary operator must be a sequence with a length less than one"); + return v(d.type, 19) ? (d = jd(d, 3).value, w.m(g("+" === this.l ? d : -d, 3))) : v(d.type, 2) ? "+" === this.l ? w.m(d) : w.m(g(-1 * d.value, bi[d.type])) : w.m(g(Number.NaN, 3)); + }); + } + }; + var di = class extends D { + constructor(a, b) { + super(a.reduce((c, d) => c.add(d.o), new vf({})), a, { + B: a.every(c => c.B) + }, !1, b); + this.l = a; + this.s = a.reduce((c, d) => yh(c, d.D()), null); + } + h(a, b) { + let c = 0, + d = null, + e = !1, + f = null; + if (null !== a) { + const h = a.M; + null !== h && v(h.type, 53) && (f = Xa(h.value)); + } + return w.create({ + next: () => { + if (!e) { + for (; c < this.l.length;) { + if (!d) { + const h = this.l[c]; + if (null !== f && null !== h.D() && !f.includes(h.D())) return c++, e = !0, q(wa); + d = C(h, a, b); + } + if (!1 === d.fa()) return e = !0, q(wa); + d = null; + c++; + } + e = !0; + return q(va); + } + return p; + } + }); + } + D() { + return this.s; + } + }; + var ei = class extends D { + constructor(a, b) { + super(a.reduce((d, e) => 0 < uf(d, e.o) ? d : e.o, new vf({})), a, { + B: a.every(d => d.B) + }, !1, b); + let c; + for (b = 0; b < a.length; ++b) { + void 0 === c && (c = a[b].D()); + if (null === c) break; + if (c !== a[b].D()) { + c = null; + break; + } + } + this.s = c; + this.l = a; + } + h(a, b) { + let c = 0, + d = null, + e = !1, + f = null; + if (null !== a) { + const h = a.M; + null !== h && v(h.type, 53) && (f = Xa(h.value)); + } + return w.create({ + next: () => { + if (!e) { + for (; c < this.l.length;) { + if (!d) { + const h = this.l[c]; + if (null !== f && null !== h.D() && !f.includes(h.D())) { + c++; + continue; + } + d = C(h, a, b); + } + if (!0 === d.fa()) return e = !0, q(va); + d = null; + c++; + } + e = !0; + return q(wa); + } + return p; + } + }); + } + D() { + return this.s; + } + }; + function fi(a, b) { + let c; + return w.create({ + next: d => { + for (;;) { + if (!c) { + var e = a.value.next(d); + if (e.done) return p; + c = pc(e.value, b); + } + e = c.value.next(d); + if (e.done) c = null;else return e; + } + } + }); + } + function gi(a, b) { + if ("eqOp" === a) return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.namespaceURI === f.value.namespaceURI && e.value.localName === f.value.localName; + }; + if ("neOp" === a) return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.namespaceURI !== f.value.namespaceURI || e.value.localName !== f.value.localName; + }; + throw Error('XPTY0004: Only the "eq" and "ne" comparison is defined for xs:QName'); + } + function hi(a, b) { + switch (a) { + case "eqOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value === f.value; + }; + case "neOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value !== f.value; + }; + case "ltOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value < f.value; + }; + case "leOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value <= f.value; + }; + case "gtOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value > f.value; + }; + case "geOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value >= f.value; + }; + } + } + function ii(a, b) { + switch (a) { + case "ltOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.ea < f.value.ea; + }; + case "leOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value) || e.value.ea < f.value.ea; + }; + case "gtOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.ea > f.value.ea; + }; + case "geOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value) || e.value.ea > f.value.ea; + }; + } + } + function ji(a, b) { + switch (a) { + case "eqOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value); + }; + case "ltOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.ca < f.value.ca; + }; + case "leOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value) || e.value.ca < f.value.ca; + }; + case "gtOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return e.value.ca > f.value.ca; + }; + case "geOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value) || e.value.ca > f.value.ca; + }; + } + } + function ki(a, b) { + switch (a) { + case "eqOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return vb(e.value, f.value); + }; + case "neOp": + return (c, d) => { + const { + U: e, + V: f + } = b(c, d); + return !vb(e.value, f.value); + }; + } + } + function li(a, b) { + switch (a) { + case "eqOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + return Ob(f.value, h.value, fc(e)); + }; + case "neOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + return !Ob(f.value, h.value, fc(e)); + }; + case "ltOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + c = fc(e); + return 0 > Nb(f.value, h.value, c); + }; + case "leOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + (c = Ob(f.value, h.value, fc(e))) || (e = fc(e), c = 0 > Nb(f.value, h.value, e)); + return c; + }; + case "gtOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + c = fc(e); + return 0 < Nb(f.value, h.value, c); + }; + case "geOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + (c = Ob(f.value, h.value, fc(e))) || (e = fc(e), c = 0 < Nb(f.value, h.value, e)); + return c; + }; + } + } + function mi(a, b) { + switch (a) { + case "eqOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + return Ob(f.value, h.value, fc(e)); + }; + case "neOp": + return (c, d, e) => { + const { + U: f, + V: h + } = b(c, d); + return !Ob(f.value, h.value, fc(e)); + }; + } + } + function ni(a, b, c) { + function d(n, t) { + return { + U: h ? h(n) : n, + V: k ? k(t) : t + }; + } + function e(n) { + return v(b, n) && v(c, n); + } + function f(n) { + return 0 < n.filter(t => v(b, t)).length && 0 < n.filter(t => v(c, t)).length; + } + let h = null, + k = null; + v(b, 19) && v(c, 19) ? b = c = 1 : v(b, 19) ? (h = n => jd(n, c), b = c) : v(c, 19) && (k = n => jd(n, b), c = b); + if (v(b, 23) && v(c, 23)) return gi(a, d); + if (e(0) || f([1, 47, 61]) || f([2, 47, 61]) || e(20) || e(22) || e(21) || f([1, 20])) { + var l = hi(a, d); + if (void 0 !== l) return l; + } + if (e(16) && (l = ii(a, d), void 0 !== l) || e(17) && (l = ji(a, d), void 0 !== l) || e(18) && (l = ki(a, d), void 0 !== l)) return l; + if (e(9) || e(7) || e(8)) if (l = li(a, d), void 0 !== l) return l; + if (e(11) || e(12) || e(13) || e(14) || e(15)) if (l = mi(a, d), void 0 !== l) return l; + throw Error(`XPTY0004: ${a} not available for ${Da[b]} and ${Da[c]}`); + } + const oi = Object.create(null); + function pi(a, b, c) { + const d = `${b}~${c}~${a}`; + let e = oi[d]; + e ||= oi[d] = ni(a, b, c); + return e; + } + var qi = class extends D { + constructor(a, b, c) { + super(b.o.add(c.o), [b, c], { + B: !1 + }); + this.l = b; + this.A = c; + this.s = a; + } + h(a, b) { + const c = C(this.l, a, b), + d = C(this.A, a, b), + e = fi(c, b), + f = fi(d, b); + return e.X({ + empty: () => w.empty(), + m: () => f.X({ + empty: () => w.empty(), + m: () => { + const h = e.first(), + k = f.first(); + return pi(this.s, h.type, k.type)(h, k, a) ? w.aa() : w.T(); + }, + multiple: () => { + throw Error("XPTY0004: Sequences to compare are not singleton."); + } + }), + multiple: () => { + throw Error("XPTY0004: Sequences to compare are not singleton."); + } + }); + } + }; + const ri = { + equalOp: "eqOp", + notEqualOp: "neOp", + lessThanOrEqualOp: "leOp", + lessThanOp: "ltOp", + greaterThanOrEqualOp: "geOp", + greaterThanOp: "gtOp" + }; + function si(a, b, c, d) { + a = ri[a]; + return c.N(e => b.filter(f => { + for (let l = 0, n = e.length; l < n; ++l) { + let t = e[l], + u = void 0, + z = void 0; + var h = f.type, + k = t.type; + if (v(h, 19) || v(k, 19)) v(h, 2) ? u = 3 : v(k, 2) ? z = 3 : v(h, 17) ? u = 17 : v(k, 17) ? z = 17 : v(h, 16) ? u = 16 : v(k, 16) ? z = 16 : v(h, 19) ? z = k : v(k, 19) && (u = h); + const [y, G] = [z, u]; + h = y; + k = G; + h ? f = jd(f, h) : k && (t = jd(t, k)); + if (pi(a, f.type, t.type)(f, t, d)) return !0; + } + return !1; + }).X({ + default: () => w.aa(), + empty: () => w.T() + })); + } + var ti = class extends D { + constructor(a, b, c) { + super(b.o.add(c.o), [b, c], { + B: !1 + }); + this.l = b; + this.A = c; + this.s = a; + } + h(a, b) { + const c = C(this.l, a, b), + d = C(this.A, a, b); + return c.X({ + empty: () => w.T(), + default: () => d.X({ + empty: () => w.T(), + default: () => { + const e = fi(c, b), + f = fi(d, b); + return si(this.s, e, f, a); + } + }) + }); + } + }; + function ui(a, b, c, d) { + if (!v(c, 53) || !v(d, 53)) throw Error("XPTY0004: Sequences to compare are not nodes"); + switch (a) { + case "isOp": + return vi(c, d); + case "nodeBeforeOp": + return b ? (e, f) => 0 > sd(b, e.first(), f.first()) : void 0; + case "nodeAfterOp": + return b ? (e, f) => 0 < sd(b, e.first(), f.first()) : void 0; + default: + throw Error("Unexpected operator"); + } + } + function vi(a, b) { + return a !== b || 47 !== a && 53 !== a && 54 !== a && 55 !== a && 56 !== a && 57 !== a && 58 !== a ? () => !1 : (c, d) => md(c.first().value, d.first().value); + } + var wi = class extends D { + constructor(a, b, c) { + super(b.o.add(c.o), [b, c], { + B: !1 + }); + this.l = b; + this.A = c; + this.s = a; + } + h(a, b) { + const c = C(this.l, a, b), + d = C(this.A, a, b); + return c.X({ + empty: () => w.empty(), + multiple: () => { + throw Error("XPTY0004: Sequences to compare are not singleton"); + }, + m: () => d.X({ + empty: () => w.empty(), + multiple: () => { + throw Error("XPTY0004: Sequences to compare are not singleton"); + }, + m: () => { + const e = c.first(), + f = d.first(); + return ui(this.s, b.h, e.type, f.type)(c, d, a) ? w.aa() : w.T(); + } + }) + }); + } + }; + function xi(a, b, c, d) { + return c.N(e => { + if (e.some(f => !v(f.type, 53))) throw Error(`XPTY0004: Sequences given to ${a} should only contain nodes.`); + return "sorted" === d ? w.create(e) : "reverse-sorted" === d ? w.create(e.reverse()) : w.create(td(b, e)); + }); + } + var yi = class extends D { + constructor(a, b, c, d) { + super(0 < uf(b.o, c.o) ? b.o : c.o, [b, c], { + B: b.B && c.B + }, !1, d); + this.l = a; + this.s = b; + this.A = c; + } + h(a, b) { + const c = xi(this.l, b.h, C(this.s, a, b), this.s.ia); + a = xi(this.l, b.h, C(this.A, a, b), this.A.ia); + const d = c.value, + e = a.value; + let f = null, + h = null, + k = !1, + l = !1; + return w.create({ + next: () => { + if (k) return p; + for (; !l;) { + if (!f) { + var n = d.next(0); + if (n.done) return k = !0, p; + f = n.value; + } + if (!h) { + n = e.next(0); + if (n.done) { + l = !0; + break; + } + h = n.value; + } + if (md(f.value, h.value)) { + if (n = q(f), h = f = null, "intersectOp" === this.l) return n; + } else if (0 > sd(b.h, f, h)) { + if (n = q(f), f = null, "exceptOp" === this.l) return n; + } else h = null; + } + if ("exceptOp" === this.l) return null !== f ? (n = q(f), f = null, n) : d.next(0); + k = !0; + return p; + } + }); + } + }; + var zi = class extends rf { + constructor(a, b) { + super(a.reduce((c, d) => c.add(d.o), new vf({})), a, { + R: "unsorted", + B: a.every(c => c.B) + }, b); + } + A(a, b, c) { + return c.length ? jc(c.map(d => d(a))) : w.empty(); + } + }; + var Ai = class extends D { + constructor(a, b, c) { + super(new vf({}).add(a.o), [a, b], { + B: a.B && b.B + }, !1, c); + this.l = a; + this.s = b; + } + h(a, b) { + const c = C(this.l, a, b), + d = dc(a, c); + let e = null, + f = null, + h = !1; + return w.create({ + next: k => { + for (; !h;) { + if (!e && (e = d.next(k), e.done)) return h = !0, p; + f ||= C(this.s, e.value, b); + const l = f.value.next(k); + if (l.done) e = f = null;else return l; + } + } + }); + } + }; + var Bi = class extends D { + constructor(a, b, c) { + super(a.o, [a], { + B: !1 + }); + this.l = Ia(b.prefix ? `${b.prefix}:${b.localName}` : b.localName); + if (46 === this.l || 45 === this.l || 44 === this.l) throw Error("XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted."); + if (b.namespaceURI) throw Error("Not implemented: castable as expressions with a namespace URI."); + this.A = a; + this.s = c; + } + h(a, b) { + const c = qc(C(this.A, a, b), b); + return c.X({ + empty: () => this.s ? w.aa() : w.T(), + m: () => c.map(d => id(d, this.l).u ? va : wa), + multiple: () => w.T() + }); + } + }; + var Ci = class extends D { + constructor(a, b, c) { + super(a.o, [a], { + B: !1 + }); + this.l = Ia(b.prefix ? `${b.prefix}:${b.localName}` : b.localName); + if (46 === this.l || 45 === this.l || 44 === this.l) throw Error("XPST0080: Casting to xs:anyAtomicType, xs:anySimpleType or xs:NOTATION is not permitted."); + if (b.namespaceURI) throw Error("Not implemented: casting expressions with a namespace URI."); + this.A = a; + this.s = c; + } + h(a, b) { + const c = qc(C(this.A, a, b), b); + return c.X({ + empty: () => { + if (!this.s) throw Error("XPTY0004: Sequence to cast is empty while target type is singleton."); + return w.empty(); + }, + m: () => c.map(d => jd(d, this.l)), + multiple: () => { + throw Error("XPTY0004: Sequence to cast is not singleton or empty."); + } + }); + } + }; + function Di(a, b) { + const c = a.value; + let d = null, + e = !1; + return w.create({ + next: () => { + for (; !e;) { + if (!d) { + var f = c.next(0); + if (f.done) return e = !0, q(va); + d = b(f.value); + } + f = d.fa(); + d = null; + if (!1 === f) return e = !0, q(wa); + } + return p; + } + }); + } + var Ei = class extends D { + constructor(a, b, c, d) { + super(a.o, [a], { + B: !1 + }, !1, d); + this.A = a; + this.s = b; + this.l = c; + } + h(a, b) { + const c = C(this.A, a, b); + return c.X({ + empty: () => "?" === this.l || "*" === this.l ? w.aa() : w.T(), + multiple: () => "+" === this.l || "*" === this.l ? Di(c, d => { + const e = w.m(d); + d = bc(a, 0, d, e); + return C(this.s, d, b); + }) : w.T(), + m: () => Di(c, d => { + const e = w.m(d); + d = bc(a, 0, d, e); + return C(this.s, d, b); + }) + }); + } + }; + function Fi(a, b) { + return null !== a && null !== b && v(a.type, 53) && v(b.type, 53) ? md(a.value, b.value) : !1; + } + function Gi(a) { + let b = a.next(0); + if (b.done) return w.empty(); + let c = null, + d = null; + return w.create({ + next(e) { + if (b.done) return p; + c || (c = b.value.value); + let f; + do if (f = c.next(e), f.done) { + b = a.next(0); + if (b.done) return f; + c = b.value.value; + } while (f.done || Fi(f.value, d)); + d = f.value; + return f; + } + }); + } + function Hi(a, b) { + const c = []; + (function () { + for (var f = b.next(0); !f.done;) { + const h = f.value.value; + f = { + current: h.next(0), + next: k => h.next(k) + }; + f.current.done || c.push(f); + f = b.next(0); + } + })(); + let d = null, + e = !1; + return w.create({ + [Symbol.iterator]() { + return this; + }, + next: () => { + e || (e = !0, c.every(h => v(h.current.value.type, 53)) && c.sort((h, k) => sd(a, h.current.value, k.current.value))); + let f; + do { + if (!c.length) return p; + const h = c.shift(); + f = h.current; + h.current = h.next(0); + if (!v(f.value.type, 53)) return f; + if (!h.current.done) { + let k = 0, + l = c.length - 1, + n = 0; + for (; k <= l;) { + n = Math.floor((k + l) / 2); + const t = sd(a, h.current.value, c[n].current.value); + if (0 === t) { + k = n; + break; + } + 0 < t ? k = n + 1 : l = n - 1; + } + c.splice(k, 0, h); + } + } while (Fi(f.value, d)); + d = f.value; + return f; + } + }); + } + var Ii = class extends D { + constructor(a, b) { + super(a.reduce((c, d) => 0 < uf(c, d.o) ? c : d.o, new vf({})), a, { + B: a.every(c => c.B) + }, !1, b); + this.l = a; + } + h(a, b) { + if (this.l.every(c => "sorted" === c.ia)) { + let c = 0; + return Hi(b.h, { + next: () => c >= this.l.length ? p : q(C(this.l[c++], a, b)) + }).map(d => { + if (!v(d.type, 53)) throw Error("XPTY0004: The sequences to union are not of type node()*"); + return d; + }); + } + return jc(this.l.map(c => C(c, a, b))).N(c => { + if (c.some(d => !v(d.type, 53))) throw Error("XPTY0004: The sequences to union are not of type node()*"); + c = td(b.h, c); + return w.create(c); + }); + } + }; + function Ji(a) { + return a.every(b => null === b || v(b.type, 5) || v(b.type, 4)) || null !== a.map(b => b ? rc(b.type) : null).reduce((b, c) => null === c ? b : c === b ? b : null) ? a : a.every(b => null === b || v(b.type, 1) || v(b.type, 20)) ? a.map(b => b ? jd(b, 1) : null) : a.every(b => null === b || v(b.type, 4) || v(b.type, 6)) ? a.map(b => b ? jd(b, 6) : b) : a.every(b => null === b || v(b.type, 4) || v(b.type, 6) || v(b.type, 3)) ? a.map(b => b ? jd(b, 3) : b) : null; + } + function Ki(a) { + return (a = a.find(b => !!b)) ? rc(a.type) : null; + } + var Li = class extends Uh { + constructor(a, b) { + super(new vf({}), [b, ...a.map(c => c.ba)], { + B: !1, + W: !1, + R: "unsorted", + subtree: !1 + }, b); + this.A = a; + } + L(a, b, c, d) { + if (this.A[1]) throw Error("More than one order spec is not supported for the order by clause."); + const e = []; + let f = !1, + h, + k, + l = null; + const n = this.A[0]; + return w.create({ + next: () => { + if (!f) { + for (var t = b.next(0); !t.done;) e.push(t.value), t = b.next(0); + t = e.map(z => n.ba.h(z, c)).map(z => qc(z, c)); + if (t.find(z => !z.F() && !z.oa())) throw Error("XPTY0004: Order by only accepts empty or singleton sequences"); + h = t.map(z => z.first()); + h = h.map(z => null === z ? z : v(19, z.type) ? jd(z, 1) : z); + if (Ki(h) && (h = Ji(h), !h)) throw Error("XPTY0004: Could not cast values"); + t = h.length; + k = h.map((z, y) => y); + for (let z = 0; z < t; z++) if (z + 1 !== t) for (let y = z; 0 <= y; y--) { + const G = y, + N = y + 1; + if (N === t) continue; + const U = h[k[G]], + ca = h[k[N]]; + if (null !== ca || null !== U) { + if (n.bc) { + if (null === U) continue; + if (null === ca && null !== U) { + [k[G], k[N]] = [k[N], k[G]]; + continue; + } + if (isNaN(ca.value) && null !== U && !isNaN(U.value)) { + [k[G], k[N]] = [k[N], k[G]]; + continue; + } + } else { + if (null === ca) continue; + if (null === U && null !== ca) { + [k[G], k[N]] = [k[N], k[G]]; + continue; + } + if (isNaN(U.value) && null !== ca && !isNaN(ca.value)) { + [k[G], k[N]] = [k[N], k[G]]; + continue; + } + } + pi("gtOp", U.type, ca.type)(U, ca, a) && ([k[G], k[N]] = [k[N], k[G]]); + } + } + let u = n.Bb ? 0 : h.length - 1; + l = d({ + next: () => n.Bb ? u >= h.length ? p : q(e[k[u++]]) : 0 > u ? p : q(e[k[u--]]) + }).value; + f = !0; + } + return l.next(0); + } + }); + } + }; + var Mi = class extends D { + constructor(a) { + super(a ? a.o : new vf({}), a ? [a] : [], { + R: "sorted", + subtree: !1, + W: !1, + B: !1 + }); + this.l = a; + } + h(a, b) { + if (null === a.M) throw lc("context is absent, it needs to be present to use paths."); + var c = b.h; + let d = a.M.value; + for (; 9 !== d.node.nodeType;) if (d = x(c, d), null === d) throw Error("XPDY0050: the root node of the context node is not a document node."); + c = w.m(rb(d)); + return this.l ? C(this.l, bc(a, 0, c.first(), c), b) : c; + } + }; + var Ni = class extends D { + constructor(a) { + super(new vf({}), [], { + R: "sorted" + }, !1, a); + } + h(a) { + if (null === a.M) throw lc('context is absent, it needs to be present to use the "." operator'); + return w.m(a.M); + } + }; + function Oi(a, b) { + let c = !1, + d = !1; + b.forEach(e => { + v(e.type, 53) ? c = !0 : d = !0; + }); + if (d && c) throw Error("XPTY0018: The path operator should either return nodes or non-nodes. Mixed sequences are not allowed."); + return c ? td(a, b) : b; + } + var Pi = class extends D { + constructor(a, b) { + const c = a.every(e => e.W), + d = a.every(e => e.subtree); + super(a.reduce((e, f) => e.add(f.o), new vf({})), a, { + B: !1, + W: c, + R: b ? "sorted" : "unsorted", + subtree: d + }); + this.l = a; + this.s = b; + } + h(a, b) { + let c = !0; + return this.l.reduce((d, e, f) => { + const h = null === d ? kd(a) : dc(a, d); + d = { + next: l => { + l = h.next(l); + if (l.done) return p; + if (null !== l.value.M && !v(l.value.M.type, 53) && 0 < f) throw Error("XPTY0019: The result of E1 in a path expression E1/E2 should not evaluate to a sequence of nodes."); + return q(C(e, l.value, b)); + } + }; + let k; + if (this.s) switch (e.ia) { + case "reverse-sorted": + const l = d; + d = { + next: n => { + n = l.next(n); + return n.done ? n : q(n.value.N(t => w.create(t.reverse()))); + } + }; + case "sorted": + if (e.subtree && c) { + k = Gi(d); + break; + } + k = Hi(b.h, d); + break; + case "unsorted": + return Gi(d).N(n => w.create(Oi(b.h, n))); + } else k = Gi(d); + c = c && e.W; + return k; + }, null); + } + D() { + return this.l[0].D(); + } + }; + var Qi = class extends D { + constructor(a, b) { + super(a.o.add(b.o), [a, b], { + B: a.B && b.B, + W: a.W, + R: a.ia, + subtree: a.subtree + }); + this.s = a; + this.l = b; + } + h(a, b) { + const c = C(this.s, a, b); + if (this.l.B) { + const k = C(this.l, a, b); + if (k.F()) return k; + const l = k.first(); + if (v(l.type, 2)) { + let n = l.value; + if (!Number.isInteger(n)) return w.empty(); + const t = c.value; + let u = !1; + return w.create({ + next: () => { + if (!u) { + for (let z = t.next(0); !z.done; z = t.next(0)) if (1 === n--) return u = !0, z; + u = !0; + } + return p; + } + }); + } + return k.fa() ? c : w.empty(); + } + const d = c.value; + let e = null, + f = 0, + h = null; + return w.create({ + next: k => { + let l = !1; + for (; !e || !e.done;) { + e || (e = d.next(l ? 0 : k), l = !0); + if (e.done) break; + h ||= C(this.l, bc(a, f, e.value, c), b); + var n = h.first(); + n = null === n ? !1 : v(n.type, 2) ? n.value === f + 1 : h.fa(); + h = null; + const t = e.value; + e = null; + f++; + if (n) return q(t); + } + return e; + } + }); + } + D() { + return this.s.D(); + } + }; + function Ri(a, b, c) { + c = [c]; + if (v(a.type, 62)) { + if ("*" === b) c.push(...a.h.map(d => d()));else if (v(b.type, 5)) { + const d = b.value; + if (a.h.length < d || 0 >= d) throw Error("FOAY0001: Array index out of bounds"); + c.push(a.h[d - 1]()); + } else throw Error("XPTY0004: The key specifier is not an integer."); + } else if (v(a.type, 61)) "*" === b ? c.push(...a.h.map(d => d.value())) : (a = a.h.find(d => sb(d.key, b))) && c.push(a.value());else throw Error("XPTY0004: The provided context item is not a map or an array."); + return jc(c); + } + function Si(a, b, c, d, e) { + if ("*" === b) return Ri(a, b, c); + b = C(b, d, e); + b = Ra(b)().N(f => f.reduce((h, k) => Ri(a, k, h), new Ba())); + return jc([c, b]); + } + var Ti = class extends D { + constructor(a, b) { + super(a.o, [a].concat("*" === b ? [] : [b]), { + B: a.B, + R: a.ia, + subtree: a.subtree + }); + this.l = a; + this.s = b; + } + h(a, b) { + return C(this.l, a, b).N(c => c.reduce((d, e) => Si(e, this.s, d, a, b), new Ba())); + } + D() { + return this.l.D(); + } + }; + var Ui = class extends D { + constructor(a, b) { + super(new vf({ + external: 1 + }), "*" === a ? [] : [a], { + B: !1 + }, !1, b); + this.l = a; + } + h(a, b) { + return Si(a.M, this.l, new Ba(), a, b); + } + }; + var Vi = class extends D { + constructor(a, b, c, d) { + const e = b.map(f => f.fb); + b = b.map(f => f.name); + super(e.reduce((f, h) => f.add(h.o), c.o), e.concat(c), { + B: !1 + }, !1, d); + this.s = a; + this.A = b; + this.L = e; + this.P = c; + this.l = null; + } + h(a, b) { + let c = a; + const d = this.l.map((k, l) => { + const n = C(this.L[l], c, b).O(); + c = hc(a, { + [k]: () => w.create(n) + }); + return n; + }); + if (d.some(k => 0 === k.length)) return "every" === this.s ? w.aa() : w.T(); + const e = Array(d.length).fill(0); + e[0] = -1; + for (var f = !0; f;) { + f = !1; + for (let k = 0, l = e.length; k < l; ++k) { + var h = d[k]; + if (++e[k] > h.length - 1) e[k] = 0;else { + f = Object.create(null); + for (h = 0; h < e.length; h++) { + const n = d[h][e[h]]; + f[this.l[h]] = () => w.m(n); + } + f = hc(a, f); + f = C(this.P, f, b); + if (f.fa() && "some" === this.s) return w.aa(); + if (!f.fa() && "every" === this.s) return w.T(); + f = !0; + break; + } + } + } + return "every" === this.s ? w.aa() : w.T(); + } + v(a) { + this.l = []; + for (let c = 0, d = this.A.length; c < d; ++c) { + this.L[c].v(a); + Dg(a); + var b = this.A[c]; + const e = b.prefix ? a.$(b.prefix) : null; + b = Hg(a, e, b.localName); + this.l[c] = b; + } + this.P.v(a); + for (let c = 0, d = this.A.length; c < d; ++c) Jg(a); + } + }; + var Wi = class extends D { + constructor(a) { + super(a, [], { + B: !1 + }); + } + h(a) { + return this.l(a.M) ? w.aa() : w.T(); + } + }; + var Xi = class extends Wi { + constructor(a) { + super(new vf({ + nodeType: 1 + })); + this.s = a; + } + l(a) { + if (!v(a.type, 53)) return !1; + a = a.value.node.nodeType; + return 3 === this.s && 4 === a ? !0 : this.s === a; + } + D() { + return `type-${this.s}`; + } + }; + var Yi = class extends Wi { + constructor(a, b = { + kind: null + }) { + const c = a.prefix, + d = a.namespaceURI; + a = a.localName; + const e = {}; + "*" !== a && (e.nodeName = 1); + e.nodeType = 1; + super(new vf(e)); + this.s = a; + this.L = d; + this.A = c; + this.P = b.kind; + } + l(a) { + const b = v(a.type, 54), + c = v(a.type, 47); + if (!b && !c) return !1; + a = a.value; + return null !== this.P && (1 === this.P && !b || 2 === this.P && !c) ? !1 : null === this.A && "" !== this.L && "*" === this.s ? !0 : "*" === this.A ? "*" === this.s ? !0 : this.s === a.node.localName : "*" !== this.s && this.s !== a.node.localName ? !1 : (a.node.namespaceURI || null) === (("" === this.A ? b ? this.L : null : this.L) || null); + } + D() { + return "*" === this.s ? null === this.P ? "type-1-or-type-2" : `type-${this.P}` : `name-${this.s}`; + } + v(a) { + if (null === this.L && "*" !== this.A && (this.L = a.$(this.A || "") || null, !this.L && this.A)) throw Error(`XPST0081: The prefix ${this.A} could not be resolved.`); + } + }; + var Zi = class extends Wi { + constructor(a) { + super(new vf({ + nodeName: 1 + })); + this.s = a; + } + l(a) { + return v(a.type, 57) && a.value.node.target === this.s; + } + D() { + return "type-7"; + } + }; + var $i = class extends Wi { + constructor(a) { + super(new vf({})); + this.s = a; + } + l(a) { + return v(a.type, Ia(this.s.prefix ? this.s.prefix + ":" + this.s.localName : this.s.localName)); + } + }; + var aj = class extends D { + constructor(a, b, c) { + super(new vf({}), [], { + B: !1, + R: "unsorted" + }); + this.A = c; + this.s = b; + this.L = a; + this.l = null; + } + h(a, b) { + if (!a.ra[this.l]) { + if (this.P) return this.P(a, b); + throw Error("XQDY0054: The variable " + this.A + " is declared but not in scope."); + } + return a.ra[this.l](); + } + v(a) { + null === this.s && this.L && (this.s = a.$(this.L)); + this.l = a.eb(this.s || "", this.A); + if (!this.l) throw Error("XPST0008, The variable " + this.A + " is not in scope."); + if (a = a.Ea[this.l]) this.P = a; + } + }; + var bj = class extends Uh { + constructor(a, b) { + super(new vf({}), [a, b], { + B: !1, + W: !1, + R: "unsorted", + subtree: !1 + }, b); + this.A = a; + } + L(a, b, c, d) { + let e = null, + f = null; + return d({ + next: () => { + for (;;) { + if (!f) { + var h = b.next(0); + if (h.done) return p; + e = h.value; + f = C(this.A, e, c); + } + h = f.fa(); + const k = e; + f = e = null; + if (h) return q(k); + } + } + }); + } + }; + var cj = class { + constructor(a) { + this.type = a; + } + }; + var dj = class extends cj { + constructor(a) { + super("delete"); + this.target = a; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1) + }; + } + }; + var ej = class extends cj { + constructor(a, b, c) { + super(c); + this.target = a; + this.content = b; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + content: this.content.map(b => ag(b, a, !0)) + }; + } + }; + var fj = class extends ej { + constructor(a, b) { + super(a, b, "insertAfter"); + } + }; + var gj = class extends cj { + constructor(a, b) { + super("insertAttributes"); + this.target = a; + this.content = b; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + content: this.content.map(b => ag(b, a, !0)) + }; + } + }; + var hj = class extends ej { + constructor(a, b) { + super(a, b, "insertBefore"); + } + }; + var ij = class extends ej { + constructor(a, b) { + super(a, b, "insertIntoAsFirst"); + } + }; + var jj = class extends ej { + constructor(a, b) { + super(a, b, "insertIntoAsLast"); + } + }; + var kj = class extends ej { + constructor(a, b) { + super(a, b, "insertInto"); + } + }; + var lj = class extends cj { + constructor(a, b) { + super("rename"); + this.target = a; + this.o = b.za ? b : new Sa(b.prefix, b.namespaceURI, b.localName); + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + newName: { + prefix: this.o.prefix, + namespaceURI: this.o.namespaceURI, + localName: this.o.localName + } + }; + } + }; + var mj = class extends cj { + constructor(a, b) { + super("replaceElementContent"); + this.target = a; + this.text = b; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + text: this.text ? ag(this.text, a, !0) : null + }; + } + }; + var nj = class extends cj { + constructor(a, b) { + super("replaceNode"); + this.target = a; + this.o = b; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + replacement: this.o.map(b => ag(b, a, !0)) + }; + } + }; + var oj = class extends cj { + constructor(a, b) { + super("replaceValue"); + this.target = a; + this.o = b; + } + h(a) { + return { + type: this.type, + target: ag(this.target, a, !1), + ["string-value"]: this.o + }; + } + }; + var pj = (a, b) => new nj(a, b); + var qj = class extends of { + constructor(a) { + super(new vf({}), [a], { + B: !1, + R: "unsorted" + }); + this.l = a; + } + s(a, b) { + const c = nf(this.l)(a, b), + d = b.h; + let e, f; + return { + next: () => { + if (!e) { + const h = c.next(0); + if (h.value.J.some(k => !v(k.type, 53))) throw Error("XUTY0007: The target of a delete expression must be a sequence of zero or more nodes."); + e = h.value.J; + f = h.value.da; + } + e = e.filter(h => x(d, h.value)); + return q({ + da: mf(e.map(h => new dj(h.value)), f), + J: [] + }); + } + }; + } + }; + function rj(a, b, c, d, e, f) { + const h = b.h; + a.reduce(function t(l, n) { + if (v(n.type, 62)) return n.h.forEach(u => u().O().forEach(z => t(l, z))), l; + l.push(n); + return l; + }, []).forEach((l, n, t) => { + if (v(l.type, 47)) { + if (e) throw f(l.value, h); + c.push(l.value.node); + } else if (v(l.type, 46) || v(l.type, 53) && 3 === l.value.node.nodeType) { + const u = v(l.type, 46) ? jd(pc(l, b).first(), 1).value : ib(h, l.value); + 0 !== n && v(t[n - 1].type, 46) && v(l.type, 46) ? (d.push({ + data: " " + u, + Ra: !0, + nodeType: 3 + }), e = !0) : u && (d.push({ + data: "" + u, + Ra: !0, + nodeType: 3 + }), e = !0); + } else if (v(l.type, 55)) { + const u = []; + hb(h, l.value).forEach(z => u.push(rb(z))); + e = rj(u, b, c, d, e, f); + } else if (v(l.type, 53)) d.push(l.value.node), e = !0;else { + if (v(l.type, 60)) throw nc(l.type); + throw Error(`Atomizing ${l.type} is not implemented.`); + } + }); + return e; + } + function sj(a, b, c) { + const d = [], + e = []; + let f = !1; + a.forEach(h => { + f = rj(h, b, d, e, f, c); + }); + return { + attributes: d, + Xa: e + }; + } + function tj(a, b, c, d, e) { + const f = []; + switch (a) { + case 4: + d.length && f.push(new gj(b, d)); + e.length && f.push(new ij(b, e)); + break; + case 5: + d.length && f.push(new gj(b, d)); + e.length && f.push(new jj(b, e)); + break; + case 3: + d.length && f.push(new gj(b, d)); + e.length && f.push(new kj(b, e)); + break; + case 2: + d.length && f.push(new gj(c, d)); + e.length && f.push(new hj(b, e)); + break; + case 1: + d.length && f.push(new gj(c, d)), e.length && f.push(new fj(b, e)); + } + return f; + } + var uj = class extends of { + constructor(a, b, c) { + super(new vf({}), [a, c], { + B: !1, + R: "unsorted" + }); + this.L = a; + this.l = b; + this.A = c; + } + s(a, b) { + const c = nf(this.L)(a, b), + d = nf(this.A)(a, b), + e = b.h; + let f, h, k, l, n, t; + return { + next: () => { + if (!f) { + var u = c.next(0); + const z = sj([u.value.J], b, Pe); + f = z.attributes.map(y => ({ + node: y, + G: null + })); + h = z.Xa.map(y => ({ + node: y, + G: null + })); + k = u.value.da; + } + if (!l) { + u = d.next(0); + if (0 === u.value.J.length) throw Ye(); + if (3 <= this.l) { + if (1 !== u.value.J.length) throw Qe(); + if (!v(u.value.J[0].type, 54) && !v(u.value.J[0].type, 55)) throw Qe(); + } else { + if (1 !== u.value.J.length) throw Re(); + if (!(v(u.value.J[0].type, 54) || v(u.value.J[0].type, 56) || v(u.value.J[0].type, 58) || v(u.value.J[0].type, 57))) throw Re(); + t = x(e, u.value.J[0].value, null); + if (null === t) throw Error(`XUDY0029: The target ${u.value.J[0].value.outerHTML} for inserting a node before or after must have a parent.`); + } + l = u.value.J[0]; + n = u.value.da; + } + if (f.length) { + if (3 <= this.l) { + if (!v(l.type, 54)) throw Error("XUTY0022: An insert expression specifies the insertion of an attribute node into a document node."); + } else if (1 !== t.node.nodeType) throw Error("XUDY0030: An insert expression specifies the insertion of an attribute node before or after a child of a document node."); + f.reduce((z, y) => { + const G = y.node.prefix || ""; + var N = y.node.prefix || ""; + const U = y.node.namespaceURI, + ca = N ? l.value.node.lookupNamespaceURI(N) : null; + if (ca && ca !== U) throw We(U); + if ((N = z[N]) && U !== N) throw Xe(U); + z[G] = y.node.namespaceURI; + return z; + }, {}); + } + return q({ + J: [], + da: mf(tj(this.l, l.value, t ? t : null, f, h), k, n) + }); + } + }; + } + }; + const vj = () => mc("Casting not supported from given type to a single xs:string or xs:untypedAtomic or any of its derived types."), + wj = /([A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]|[\uD800-\uDB7F][\uDC00-\uDFFF])/, + xj = new RegExp(`${wj.source}${new RegExp(`(${wj.source}|[-.0-9\xB7\u0300-\u036F\u203F\u2040])`).source}*`, "g"), + yj = a => (a = a.match(xj)) ? 1 === a.length : !1; + function zj(a, b) { + return qc(b, a).X({ + m: c => { + c = c.first(); + if (v(c.type, 1) || v(c.type, 19)) { + if (!yj(c.value)) throw Error(`XQDY0041: The value "${c.value}" of a name expressions cannot be converted to a NCName.`); + return w.m(c); + } + throw vj(); + }, + default: () => { + throw vj(); + } + }).value; + } + function Aj(a, b, c) { + return qc(c, b).X({ + m: d => { + d = d.first(); + if (v(d.type, 23)) return w.m(d); + if (v(d.type, 1) || v(d.type, 19)) { + let e, f; + d = d.value.split(":"); + 1 === d.length ? d = d[0] : (e = d[0], f = a.$(e), d = d[1]); + if (!yj(d) || e && !yj(e)) throw yg(e ? `${e}:${d}` : d); + if (e && !f) throw yg(`${e}:${d}`); + return w.m({ + type: 23, + value: new Sa(e, f, d) + }); + } + throw vj(); + }, + default: () => { + throw vj(); + } + }).value; + } + var Nj = class extends of { + constructor(a, b) { + super(new vf({}), [a, b], { + B: !1, + R: "unsorted" + }); + this.A = a; + this.L = b; + this.l = void 0; + } + s(a, b) { + const c = nf(this.A)(a, b), + d = nf(this.L)(a, b); + return { + next: () => { + const e = c.next(0); + var f = e.value.J; + if (0 === f.length) throw Ye(); + if (1 !== f.length) throw Te(); + if (!v(f[0].type, 54) && !v(f[0].type, 47) && !v(f[0].type, 57)) throw Te(); + f = f[0]; + const h = d.next(0); + a: { + var k = this.l; + var l = w.create(h.value.J); + switch (f.type) { + case 54: + k = Aj(k, b, l).next(0).value.value; + if ((l = f.value.node.lookupNamespaceURI(k.prefix)) && l !== k.namespaceURI) throw We(k.namespaceURI); + break a; + case 47: + k = Aj(k, b, l).next(0).value.value; + if (k.namespaceURI && (l = f.value.node.lookupNamespaceURI(k.prefix)) && l !== k.namespaceURI) throw We(k.namespaceURI); + break a; + case 57: + k = zj(b, l).next(0).value.value; + k = new Sa("", null, k); + break a; + } + k = void 0; + } + return q({ + J: [], + da: mf([new lj(f.value, k)], e.value.da, h.value.da) + }); + } + }; + } + v(a) { + this.l = Ff(a); + super.v(a); + } + }; + function Oj(a, b, c) { + let d, e, f; + return { + next: () => { + if (!d) { + var h = c.next(0), + k = sj([h.value.J], a, Xe); + d = { + attributes: k.attributes.map(l => ({ + node: l, + G: null + })), + Xa: k.Xa.map(l => ({ + node: l, + G: null + })) + }; + e = h.value.da; + } + k = b.next(0); + if (0 === k.value.J.length) throw Ye(); + if (1 !== k.value.J.length) throw Se(); + if (!(v(k.value.J[0].type, 54) || v(k.value.J[0].type, 47) || v(k.value.J[0].type, 56) || v(k.value.J[0].type, 58) || v(k.value.J[0].type, 57))) throw Se(); + f = x(a.h, k.value.J[0].value, null); + if (null === f) throw Error(`XUDY0009: The target ${k.value.J[0].value.outerHTML} for replacing a node must have a parent.`); + h = k.value.J[0]; + k = k.value.da; + if (v(h.type, 47)) { + if (d.Xa.length) throw Error("XUTY0011: When replacing an attribute the new value must be zero or more attribute nodes."); + d.attributes.reduce((l, n) => { + const t = n.node.prefix || ""; + n = n.node.namespaceURI; + var u = f.node.lookupNamespaceURI(t); + if (u && u !== n) throw We(n); + if ((u = l[t]) && n !== u) throw Xe(n); + l[t] = n; + return l; + }, {}); + } else if (d.attributes.length) throw Error("XUTY0010: When replacing an an element, text, comment, or processing instruction node the new value must be a single node."); + return q({ + J: [], + da: mf([pj(h.value, [].concat(d.attributes, d.Xa))], e, k) + }); + } + }; + } + function Pj(a, b, c) { + let d, + e, + f, + h, + k = !1; + return { + next: () => { + if (k) return p; + if (!f) { + var l = c.next(0); + const n = qc(w.create(l.value.J), a).map(t => jd(t, 1)).O().map(t => t.value).join(" "); + f = 0 === n.length ? null : { + node: a.Ja.createTextNode(n), + G: null + }; + h = l.value.da; + } + if (!d) { + l = b.next(0); + if (0 === l.value.J.length) throw Ye(); + if (1 !== l.value.J.length) throw Se(); + if (!(v(l.value.J[0].type, 54) || v(l.value.J[0].type, 47) || v(l.value.J[0].type, 56) || v(l.value.J[0].type, 58) || v(l.value.J[0].type, 57))) throw Se(); + d = l.value.J[0]; + e = l.value.da; + } + if (v(d.type, 54)) return k = !0, q({ + J: [], + da: mf([new mj(d.value, f)], h, e) + }); + if (v(d.type, 47) || v(d.type, 56) || v(d.type, 58) || v(d.type, 57)) { + l = f ? ib(a.h, f) : ""; + if (v(d.type, 58) && (l.includes("--") || l.endsWith("-"))) throw Error(`XQDY0072: The content "${l}" for a comment node contains two adjacent hyphens or ends with a hyphen.`); + if (v(d.type, 57) && l.includes("?>")) throw Error(`XQDY0026: The content "${l}" for a processing instruction node contains "?>".`); + k = !0; + return q({ + J: [], + da: mf([new oj(d.value, l)], h, e) + }); + } + } + }; + } + var Qj = class extends of { + constructor(a, b, c) { + super(new vf({}), [b, c], { + B: !1, + R: "unsorted" + }); + this.L = a; + this.l = b; + this.A = c; + } + s(a, b) { + const c = nf(this.l)(a, b); + a = nf(this.A)(a, b); + return this.L ? Pj(b, c, a) : Oj(b, c, a); + } + }; + function Rj(a) { + switch (a.type) { + case "delete": + return new dj({ + node: a.target, + G: null + }); + case "insertAfter": + return new fj({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "insertBefore": + return new hj({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "insertInto": + return new kj({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "insertIntoAsFirst": + return new ij({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "insertIntoAsLast": + return new jj({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "insertAttributes": + return new gj({ + node: a.target, + G: null + }, a.content.map(b => ({ + node: b, + G: null + }))); + case "rename": + return new lj({ + node: a.target, + G: null + }, a.newName); + case "replaceNode": + return new nj({ + node: a.target, + G: null + }, a.replacement.map(b => ({ + node: b, + G: null + }))); + case "replaceValue": + return new oj({ + node: a.target, + G: null + }, a["string-value"]); + case "replaceElementContent": + return new mj({ + node: a.target, + G: null + }, a.text ? { + node: a.text, + G: null + } : null); + default: + throw Error(`Unexpected type "${a.type}" when parsing a transferable pending update.`); + } + } + function Sj(a, b, c) { + if (b.find(e => md(e, a))) return !0; + const d = x(c, a); + return d ? Sj(d, b, c) : !1; + } + var Tj = class extends of { + constructor(a, b, c) { + super(new vf({}), a.reduce((d, e) => { + d.push(e.fb); + return d; + }, [b, c]), { + B: !1, + R: "unsorted" + }); + this.l = a; + this.L = b; + this.A = c; + this.I = null; + } + h(a, b) { + a = this.s(a, b); + return pf(a, () => {}); + } + s(a, b) { + const c = b.h, + d = b.Ja, + e = b.Ma, + f = []; + let h, k, l; + const n = [], + t = []; + return { + next: () => { + if (n.length !== this.l.length) for (var u = n.length; u < this.l.length; u++) { + const y = this.l[u]; + var z = f[u]; + z || (f[u] = z = nf(y.fb)(a, b)); + z = z.next(0); + if (1 !== z.value.J.length || !v(z.value.J[0].type, 53)) throw Error("XUTY0013: The source expression of a copy modify expression must return a single node."); + const G = rb(Xf(z.value.J[0].value, b)); + n.push(G.value); + t.push(z.value.da); + a = hc(a, { + [y.fc]: () => w.m(G) + }); + } + l || (h ||= nf(this.L)(a, b), l = h.next(0).value.da); + l.forEach(y => { + if (y.target && !Sj(y.target, n, c)) throw Error(`XUDY0014: The target ${y.target.node.outerHTML} must be a node created by the copy clause.`); + if ("put" === y.type) throw Error("XUDY0037: The modify expression of a copy modify expression can not contain a fn:put."); + }); + u = l.map(y => { + y = y.h(b); + return Rj(y); + }); + lf(u, c, d, e); + k ||= nf(this.A)(a, b); + u = k.next(0); + return q({ + J: u.value.J, + da: mf(u.value.da, ...t) + }); + } + }; + } + v(a) { + Dg(a); + this.l.forEach(b => b.fc = Hg(a, b.Jb.namespaceURI, b.Jb.localName)); + super.v(a); + Jg(a); + this.I = this.l.some(b => b.fb.I) || this.A.I; + } + }; + function Uj(a, b) { + return { + node: { + nodeType: 2, + Ra: !0, + nodeName: a.za(), + namespaceURI: a.namespaceURI, + prefix: a.prefix, + localName: a.localName, + name: a.za(), + value: b + }, + G: null + }; + } + var Vj = class extends D { + constructor(a, b) { + let c = b.nb || []; + c = c.concat(a.Na || []); + super(new vf({}), c, { + B: !1, + R: "unsorted" + }); + a.Na ? this.s = a.Na : this.name = new Sa(a.prefix, a.namespaceURI, a.localName); + this.l = b; + this.A = void 0; + } + h(a, b) { + let c, + d, + e, + f = !1; + return w.create({ + next: () => { + if (f) return p; + if (!d) { + if (this.s) { + if (!c) { + var h = this.s.h(a, b); + c = Aj(this.A, b, h); + } + d = c.next(0).value.value; + } else d = this.name; + if (d) { + if ("xmlns" === d.prefix) throw sg(d); + if ("" === d.prefix && "xmlns" === d.localName) throw sg(d); + if ("http://www.w3.org/2000/xmlns/" === d.namespaceURI) throw sg(d); + if ("xml" === d.prefix && "http://www.w3.org/XML/1998/namespace" !== d.namespaceURI) throw sg(d); + if ("" !== d.prefix && "xml" !== d.prefix && "http://www.w3.org/XML/1998/namespace" === d.namespaceURI) throw sg(d); + } + } + if (this.l.nb) return h = this.l.nb, e || (e = jc(h.map(k => qc(k.h(a, b), b).N(l => w.m(g(l.map(n => n.value).join(" "), 1))))).N(k => w.m(rb(Uj(d, k.map(l => l.value).join(""))))).value), e.next(0); + f = !0; + return q(rb(Uj(d, this.l.value))); + } + }); + } + v(a) { + this.A = Ff(a); + if (this.name && this.name.prefix && !this.name.namespaceURI) { + const b = a.$(this.name.prefix); + if (void 0 === b && this.name.prefix) throw oc(this.name.prefix); + this.name.namespaceURI = b || null; + } + super.v(a); + } + }; + var Wj = class extends D { + constructor(a) { + super(a ? a.o : new vf({}), a ? [a] : [], { + B: !1, + R: "unsorted" + }); + this.l = a; + } + h(a, b) { + const c = { + data: "", + Ra: !0, + nodeType: 8 + }, + d = { + node: c, + G: null + }; + if (!this.l) return w.m(rb(d)); + a = C(this.l, a, b); + return qc(a, b).N(e => { + e = e.map(f => jd(f, 1).value).join(" "); + if (-1 !== e.indexOf("--\x3e")) throw Error('XQDY0072: The contents of the data of a comment may not include "--\x3e"'); + c.data = e; + return w.m(rb(d)); + }); + } + }; + var Xj = class extends D { + constructor(a, b, c, d) { + super(new vf({}), d.concat(b).concat(a.Na || []), { + B: !1, + R: "unsorted" + }); + a.Na ? this.s = a.Na : this.l = new Sa(a.prefix, a.namespaceURI, a.localName); + this.P = c.reduce((e, f) => { + if (f.prefix in e) throw Error(`XQST0071: The namespace declaration with the prefix ${f.prefix} has already been declared on the constructed element.`); + e[f.prefix || ""] = f.uri; + return e; + }, {}); + this.L = b; + this.ma = d; + this.A = void 0; + } + h(a, b) { + let c = !1, + d, + e, + f = !1, + h, + k, + l, + n = !1; + return w.create({ + next: () => { + if (n) return p; + c || (d ||= jc(this.L.map(G => C(G, a, b))), e = d.O(), c = !0); + if (!f) { + h ||= this.ma.map(G => C(G, a, b)); + var t = []; + for (var u = 0; u < h.length; u++) { + var z = h[u].O(); + t.push(z); + } + k = t; + f = !0; + } + this.s && (l || (t = this.s.h(a, b), l = Aj(this.A, b, t)), this.l = l.next(0).value.value); + if ("xmlns" === this.l.prefix || "http://www.w3.org/2000/xmlns/" === this.l.namespaceURI || "xml" === this.l.prefix && "http://www.w3.org/XML/1998/namespace" !== this.l.namespaceURI || this.l.prefix && "xml" !== this.l.prefix && "http://www.w3.org/XML/1998/namespace" === this.l.namespaceURI) throw Error(`XQDY0096: The node name "${this.l.za()}" is invalid for a computed element constructor.`); + const y = { + nodeType: 1, + Ra: !0, + attributes: [], + childNodes: [], + nodeName: this.l.za(), + namespaceURI: this.l.namespaceURI, + prefix: this.l.prefix, + localName: this.l.localName + }; + t = { + node: y, + G: null + }; + e.forEach(G => { + y.attributes.push(G.value.node); + }); + u = sj(k, b, rg); + u.attributes.forEach(G => { + if (y.attributes.find(N => N.namespaceURI === G.namespaceURI && N.localName === G.localName)) throw Error(`XQDY0025: The attribute ${G.name} does not have an unique name in the constructed element.`); + y.attributes.push(G); + }); + u.Xa.forEach(G => { + y.childNodes.push(G); + }); + for (u = 0; u < y.childNodes.length; u++) { + z = y.childNodes[u]; + if (!cb(z) || 3 !== z.nodeType) continue; + const G = y.childNodes[u - 1]; + G && cb(G) && 3 === G.nodeType && (G.data += z.data, y.childNodes.splice(u, 1), u--); + } + n = !0; + return q(rb(t)); + } + }); + } + v(a) { + Dg(a); + Object.keys(this.P).forEach(b => Gg(a, b, this.P[b])); + this.Fa.forEach(b => b.v(a)); + this.L.reduce((b, c) => { + if (c.name) { + c = `Q{${null === c.name.namespaceURI ? a.$(c.name.prefix) : c.name.namespaceURI}}${c.name.localName}`; + if (b.includes(c)) throw Error(`XQST0040: The attribute ${c} does not have an unique name in the constructed element.`); + b.push(c); + } + return b; + }, []); + if (this.l && null === this.l.namespaceURI) { + const b = a.$(this.l.prefix); + if (void 0 === b && this.l.prefix) throw oc(this.l.prefix); + this.l.namespaceURI = b; + } + this.A = Ff(a); + Jg(a); + } + }; + function Yj(a) { + if (/^xml$/i.test(a)) throw Error(`XQDY0064: The target of a created PI may not be "${a}"`); + } + function Zj(a, b) { + return { + node: { + data: b, + Ra: !0, + nodeName: a, + nodeType: 7, + target: a + }, + G: null + }; + } + var ak = class extends D { + constructor(a, b) { + const c = a.xb ? [a.xb].concat(b) : [b]; + super(c.reduce((d, e) => d.add(e.o), new vf({})), c, { + B: !1, + R: "unsorted" + }); + this.l = a; + this.s = b; + } + h(a, b) { + const c = C(this.s, a, b); + return qc(c, b).N(d => { + const e = d.map(h => jd(h, 1).value).join(" "); + if (-1 !== e.indexOf("?>")) throw Error('XQDY0026: The contents of the data of a processing instruction may not include "?>"'); + if (null !== this.l.Fb) return d = this.l.Fb, Yj(d), w.m(rb(Zj(d, e))); + d = C(this.l.xb, a, b); + const f = zj(b, d); + return w.create({ + next: () => { + var h = f.next(0); + if (h.done) return h; + h = h.value.value; + Yj(h); + return q(rb(Zj(h, e))); + } + }); + }); + } + }; + var bk = class extends D { + constructor(a) { + super(a ? a.o : new vf({}), a ? [a] : [], { + B: !1, + R: "unsorted" + }); + this.l = a; + } + h(a, b) { + if (!this.l) return w.empty(); + a = C(this.l, a, b); + return qc(a, b).N(c => { + if (0 === c.length) return w.empty(); + c = { + node: { + data: c.map(d => jd(d, 1).value).join(" "), + Ra: !0, + nodeType: 3 + }, + G: null + }; + return w.m(rb(c)); + }); + } + }; + var ck = class extends rf { + constructor(a, b, c, d) { + super(new vf({}), [a, ...b.map(e => e.pb), c].concat(...b.map(e => e.Ib.map(f => f.Hb))), { + B: !1, + W: !1, + R: "unsorted", + subtree: !1 + }, d); + this.L = a; + this.l = b.length; + this.P = b.map(e => e.Ib); + } + A(a, b, c) { + return c[0](a).N(d => { + for (let e = 0; e < this.l; e++) if (this.P[e].some(f => { + switch (f.dc) { + case "?": + if (1 < d.length) return !1; + break; + case "*": + break; + case "+": + if (1 > d.length) return !1; + break; + default: + if (1 !== d.length) return !1; + } + const h = w.create(d); + return d.every((k, l) => { + k = bc(a, l, k, h); + return C(f.Hb, k, b).fa(); + }); + })) return c[e + 1](a); + return c[this.l + 1](a); + }); + } + v(a) { + super.v(a); + if (this.L.I) throw Oe(); + } + }; + var dk = class extends rf { + constructor(a, b, c, d) { + super(new vf({}), [a, c, ...b.map(e => e.pb)].concat(...b.map(e => e.Gb.map(f => f))), { + B: !1, + W: !1, + R: "unsorted", + subtree: !1 + }, d); + this.L = a; + this.l = b.length; + this.P = b.map(e => e.Gb); + } + A(a, b, c) { + const d = fi(c[0](a), b), + [, e, ...f] = c; + return d.X({ + multiple: () => { + throw Error("XPTY0004: The operand for a switch expression should result in zero or one item"); + }, + default: () => { + const h = d.first(), + k = !h; + for (let n = 0; n < this.l; n++) { + var l = this.P[n].map(t => C(t, a, b)); + for (const t of l) if (l = fi(t, b), l.F()) { + if (k) return f[n](a); + } else { + if (!l.oa()) throw Error("XPTY0004: The operand for a switch case should result in zero or one item"); + if (!k && (l = l.first(), He(a, b, null, h, l).next(0).value)) return f[n](a); + } + } + return e(a); + } + }); + } + v(a) { + super.v(a); + if (this.L.I) throw Oe(); + } + }; + var ek = { + Z: !1, + sa: !1 + }, + fk = { + Z: !0, + sa: !1 + }, + gk = { + Z: !0, + sa: !0 + }; + function P(a) { + return a.Z ? a.sa ? gk : fk : ek; + } + function Q(a, b) { + switch (a[0]) { + case "andOp": + var c = I(a, "type"); + return new di(hk("andOp", a, P(b)), c); + case "orOp": + return c = I(a, "type"), new ei(hk("orOp", a, P(b)), c); + case "unaryPlusOp": + return c = F(F(a, "operand"), "*"), a = I(a, "type"), new ci("+", Q(c, b), a); + case "unaryMinusOp": + return c = F(F(a, "operand"), "*"), a = I(a, "type"), new ci("-", Q(c, b), a); + case "addOp": + case "subtractOp": + case "multiplyOp": + case "divOp": + case "idivOp": + case "modOp": + var d = a[0], + e = Q(J(a, ["firstOperand", "*"]), P(b)); + b = Q(J(a, ["secondOperand", "*"]), P(b)); + const f = I(a, "type"), + h = I(J(a, ["firstOperand", "*"]), "type"), + k = I(J(a, ["secondOperand", "*"]), "type"); + h && k && I(a, "type") && (c = Sg(d, h.type, k.type)); + return new Wg(d, e, b, f, c); + case "sequenceExpr": + return ik(a, b); + case "unionOp": + return c = I(a, "type"), new Ii([Q(J(a, ["firstOperand", "*"]), P(b)), Q(J(a, ["secondOperand", "*"]), P(b))], c); + case "exceptOp": + case "intersectOp": + return c = I(a, "type"), new yi(a[0], Q(J(a, ["firstOperand", "*"]), P(b)), Q(J(a, ["secondOperand", "*"]), P(b)), c); + case "stringConcatenateOp": + return jk(a, b); + case "rangeSequenceExpr": + return kk(a, b); + case "equalOp": + case "notEqualOp": + case "lessThanOrEqualOp": + case "lessThanOp": + case "greaterThanOrEqualOp": + case "greaterThanOp": + return lk("generalCompare", a, b); + case "eqOp": + case "neOp": + case "ltOp": + case "leOp": + case "gtOp": + case "geOp": + return lk("valueCompare", a, b); + case "isOp": + case "nodeBeforeOp": + case "nodeAfterOp": + return lk("nodeCompare", a, b); + case "pathExpr": + return mk(a, b); + case "contextItemExpr": + return new Ni(I(a, "type")); + case "functionCallExpr": + return nk(a, b); + case "inlineFunctionExpr": + return ok(a, b); + case "arrowExpr": + return pk(a, b); + case "dynamicFunctionInvocationExpr": + return qk(a, b); + case "namedFunctionRef": + return b = F(a, "functionName"), c = I(a, "type"), a = H(J(a, ["integerConstantExpr", "value"])), new ai(Kg(b), parseInt(a, 10), c); + case "integerConstantExpr": + return new Zh(H(F(a, "value")), { + type: 5, + g: 3 + }); + case "stringConstantExpr": + return new Zh(H(F(a, "value")), { + type: 1, + g: 3 + }); + case "decimalConstantExpr": + return new Zh(H(F(a, "value")), { + type: 4, + g: 3 + }); + case "doubleConstantExpr": + return new Zh(H(F(a, "value")), { + type: 3, + g: 3 + }); + case "varRef": + const { + prefix: l, + namespaceURI: n, + localName: t + } = Kg(F(a, "name")); + return new aj(l, n, t); + case "flworExpr": + return rk(a, b); + case "quantifiedExpr": + return sk(a, b); + case "ifThenElseExpr": + return c = I(a, "type"), d = F(a, "ifClause") || K(a, "x:stackTrace")[0], e = F(a, "thenClause") || K(a, "x:stackTrace")[1], a = F(a, "elseClause") || K(a, "x:stackTrace")[2], new Qh(Q(d, P(b)), Q(e, b), Q(a, b), c); + case "instanceOfExpr": + return c = Q(J(a, ["argExpr", "*"]), b), d = J(a, ["sequenceType", "*"]), e = J(a, ["sequenceType", "occurrenceIndicator"]), a = I(a, "type"), new Ei(c, Q(d, P(b)), e ? H(e) : "", a); + case "castExpr": + return b = Q(F(F(a, "argExpr"), "*"), P(b)), c = F(a, "singleType"), a = Kg(F(c, "atomicType")), c = null !== F(c, "optional"), new Ci(b, a, c); + case "castableExpr": + return b = Q(F(F(a, "argExpr"), "*"), P(b)), c = F(a, "singleType"), a = Kg(F(c, "atomicType")), c = null !== F(c, "optional"), new Bi(b, a, c); + case "simpleMapExpr": + return tk(a, b); + case "mapConstructor": + return uk(a, b); + case "arrayConstructor": + return vk(a, b); + case "unaryLookup": + return c = I(a, "type"), new Ui(wk(a, b), c); + case "typeswitchExpr": + return xk(a, b); + case "switchExpr": + return yk(a, b); + case "elementConstructor": + return zk(a, b); + case "attributeConstructor": + return Ak(a, b); + case "computedAttributeConstructor": + return (c = F(a, "tagName")) ? c = Kg(c) : (c = F(a, "tagNameExpr"), c = { + Na: Q(F(c, "*"), P(b)) + }), b = Q(F(F(a, "valueExpr"), "*"), P(b)), new Vj(c, { + nb: [b] + }); + case "computedCommentConstructor": + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + b = (a = F(a, "argExpr")) ? Q(F(a, "*"), P(b)) : null; + return new Wj(b); + case "computedTextConstructor": + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + b = (a = F(a, "argExpr")) ? Q(F(a, "*"), P(b)) : null; + return new bk(b); + case "computedElementConstructor": + return Bk(a, b); + case "computedPIConstructor": + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + c = F(a, "piTargetExpr"); + d = F(a, "piTarget"); + e = F(a, "piValueExpr"); + a = I(a, "type"); + return new ak({ + xb: c ? Q(F(c, "*"), P(b)) : null, + Fb: d ? H(d) : null + }, e ? Q(F(e, "*"), P(b)) : new zi([], a)); + case "CDataSection": + return new Zh(H(a), { + type: 1, + g: 3 + }); + case "deleteExpr": + return b = Q(J(a, ["targetExpr", "*"]), b), new qj(b); + case "insertExpr": + c = Q(J(a, ["sourceExpr", "*"]), b); + e = K(a, "*")[1]; + switch (e[0]) { + case "insertAfter": + d = 1; + break; + case "insertBefore": + d = 2; + break; + case "insertInto": + d = (d = F(e, "*")) ? "insertAsFirst" === d[0] ? 4 : 5 : 3; + } + b = Q(J(a, ["targetExpr", "*"]), b); + return new uj(c, d, b); + case "renameExpr": + return c = Q(J(a, ["targetExpr", "*"]), b), b = Q(J(a, ["newNameExpr", "*"]), b), new Nj(c, b); + case "replaceExpr": + return c = !!F(a, "replaceValue"), d = Q(J(a, ["targetExpr", "*"]), b), b = Q(J(a, ["replacementExpr", "*"]), b), new Qj(c, d, b); + case "transformExpr": + return Ck(a, b); + case "x:stackTrace": + c = a; + for (a = c[2]; "x:stackTrace" === a[0];) c = a, a = a[2]; + c = c[1]; + return new Sh(c, a[0], Q(a, b), c.Wa); + case "ifClause": + case "thenClause": + case "elseClause": + return Q(F(a, "*"), b); + default: + return Dk(a); + } + } + function Dk(a) { + switch (a[0]) { + case "nameTest": + return new Yi(Kg(a)); + case "piTest": + return (a = F(a, "piTarget")) ? new Zi(H(a)) : new Xi(7); + case "commentTest": + return new Xi(8); + case "textTest": + return new Xi(3); + case "documentTest": + return new Xi(9); + case "attributeTest": + var b = (a = F(a, "attributeName")) && F(a, "star"); + return !a || b ? new Xi(2) : new Yi(Kg(F(a, "QName")), { + kind: 2 + }); + case "elementTest": + return b = (a = F(a, "elementName")) && F(a, "star"), !a || b ? new Xi(1) : new Yi(Kg(F(a, "QName")), { + kind: 1 + }); + case "anyKindTest": + return new $i({ + prefix: "", + namespaceURI: null, + localName: "node()" + }); + case "anyMapTest": + return new $i({ + prefix: "", + namespaceURI: null, + localName: "map(*)" + }); + case "anyArrayTest": + return new $i({ + prefix: "", + namespaceURI: null, + localName: "array(*)" + }); + case "Wildcard": + return F(a, "star") ? (b = F(a, "uri")) ? a = new Yi({ + localName: "*", + namespaceURI: H(b), + prefix: "" + }) : (b = F(a, "NCName"), a = "star" === F(a, "*")[0] ? new Yi({ + localName: H(b), + namespaceURI: null, + prefix: "*" + }) : new Yi({ + localName: "*", + namespaceURI: null, + prefix: H(b) + })) : a = new Yi({ + localName: "*", + namespaceURI: null, + prefix: "*" + }), a; + case "atomicType": + return new $i(Kg(a)); + case "anyItemType": + return new $i({ + prefix: "", + namespaceURI: null, + localName: "item()" + }); + default: + throw Error("No selector counterpart for: " + a[0] + "."); + } + } + function vk(a, b) { + const c = I(a, "type"); + a = F(a, "*"); + const d = K(a, "arrayElem").map(e => Q(F(e, "*"), P(b))); + switch (a[0]) { + case "curlyArray": + return new sh(d, c); + case "squareArray": + return new th(d, c); + default: + throw Error("Unrecognized arrayType: " + a[0]); + } + } + function uk(a, b) { + const c = I(a, "type"); + return new $h(K(a, "mapConstructorEntry").map(d => ({ + key: Q(J(d, ["mapKeyExpr", "*"]), P(b)), + value: Q(J(d, ["mapValueExpr", "*"]), P(b)) + })), c); + } + function hk(a, b, c) { + function d(f) { + const h = F(F(f, "firstOperand"), "*"); + f = F(F(f, "secondOperand"), "*"); + h[0] === a ? d(h) : e.push(Q(h, c)); + f[0] === a ? d(f) : e.push(Q(f, c)); + } + const e = []; + d(b); + return e; + } + function wk(a, b) { + a = F(a, "*"); + switch (a[0]) { + case "NCName": + return new Zh(H(a), { + type: 1, + g: 3 + }); + case "star": + return "*"; + default: + return Q(a, P(b)); + } + } + function lk(a, b, c) { + var d = J(b, ["firstOperand", "*"]); + const e = J(b, ["secondOperand", "*"]); + d = Q(d, P(c)); + c = Q(e, P(c)); + switch (a) { + case "valueCompare": + return new qi(b[0], d, c); + case "nodeCompare": + return new wi(b[0], d, c); + case "generalCompare": + return new ti(b[0], d, c); + } + } + function Ek(a, b, c) { + a = K(a, "*"); + return new Li(a.filter(d => "stable" !== d[0]).map(d => { + var e = F(d, "orderModifier"), + f = e ? F(e, "orderingKind") : null; + e = e ? F(e, "emptyOrderingMode") : null; + f = f ? "ascending" === H(f) : !0; + e = e ? "empty least" === H(e) : !0; + return { + ba: Q(J(d, ["orderByExpr", "*"]), b), + Bb: f, + bc: e + }; + }), c); + } + function rk(a, b) { + var c = K(a, "*"); + a = F(c[c.length - 1], "*"); + c = c.slice(0, -1); + if (1 < c.length && !b.Z) throw Error("XPST0003: Use of XQuery FLWOR expressions in XPath is no allowed"); + return c.reduceRight((d, e) => { + switch (e[0]) { + case "forClause": + e = K(e, "*"); + for (var f = e.length - 1; 0 <= f; --f) { + var h = e[f], + k = J(h, ["forExpr", "*"]); + const l = F(h, "positionalVariableBinding"); + d = new Wh(Kg(J(h, ["typedVariableBinding", "varName"])), Q(k, P(b)), l ? Kg(l) : null, d); + } + return d; + case "letClause": + e = K(e, "*"); + for (f = e.length - 1; 0 <= f; --f) h = e[f], k = J(h, ["letExpr", "*"]), d = new Yh(Kg(J(h, ["typedVariableBinding", "varName"])), Q(k, P(b)), d); + return d; + case "whereClause": + e = K(e, "*"); + for (f = e.length - 1; 0 <= f; --f) d = new bj(Q(e[f], b), d); + return d; + case "windowClause": + throw Error(`Not implemented: ${e[0]} is not implemented yet.`); + case "groupByClause": + throw Error(`Not implemented: ${e[0]} is not implemented yet.`); + case "orderByClause": + return Ek(e, b, d); + case "countClause": + throw Error(`Not implemented: ${e[0]} is not implemented yet.`); + default: + throw Error(`Not implemented: ${e[0]} is not supported in a flwor expression`); + } + }, Q(a, b)); + } + function nk(a, b) { + const c = F(a, "functionName"), + d = K(F(a, "arguments"), "*"); + a = I(a, "type"); + return new Gf(new ai(Kg(c), d.length, a), d.map(e => "argumentPlaceholder" === e[0] ? null : Q(e, b)), a); + } + function pk(a, b) { + const c = I(a, "type"); + var d = J(a, ["argExpr", "*"]); + a = K(a, "*").slice(1); + d = [Q(d, b)]; + for (let f = 0; f < a.length; f++) if ("arguments" !== a[f][0]) { + if ("arguments" === a[f + 1][0]) { + var e = K(a[f + 1], "*"); + d = d.concat(e.map(h => "argumentPlaceholder" === h[0] ? null : Q(h, b))); + } + e = "EQName" === a[f][0] ? new ai(Kg(a[f]), d.length, c) : Q(a[f], P(b)); + d = [new Gf(e, d, c)]; + } + return d[0]; + } + function qk(a, b) { + const c = J(a, ["functionItem", "*"]), + d = I(a, "type"); + a = F(a, "arguments"); + let e = []; + a && (e = K(a, "*").map(f => "argumentPlaceholder" === f[0] ? null : Q(f, b))); + return new Gf(Q(c, b), e, d); + } + function ok(a, b) { + const c = K(F(a, "paramList"), "*"), + d = J(a, ["functionBody", "*"]), + e = I(a, "type"); + return new Xh(c.map(f => ({ + name: Kg(F(f, "varName")), + type: Lg(f) + })), Lg(a), d ? Q(d, b) : new zi([], e)); + } + function mk(a, b) { + const c = I(a, "type"); + var d = K(a, "stepExpr"); + let e = !1; + var f = d.map(h => { + var k = F(h, "xpathAxis"); + let l; + var n = K(h, "*"); + const t = []; + let u = null, + z = !1; + for (const y of n) switch (y[0]) { + case "lookup": + t.push(["lookup", wk(y, b)]); + break; + case "predicate": + case "predicates": + for (const G of K(y, "*")) { + n = Q(G, P(b)); + if (!z) { + const N = n.D(); + null === N ? z = !0 : u = yh(u, N); + } + t.push(["predicate", n]); + } + } + if (k) switch (e = !0, h = F(h, "attributeTest anyElementTest piTest documentTest elementTest commentTest namespaceTest anyKindTest textTest anyFunctionTest typedFunctionTest schemaAttributeTest atomicType anyItemType parenthesizedItemType typedMapTest typedArrayTest nameTest Wildcard".split(" ")), h = Dk(h), H(k)) { + case "ancestor": + l = new wh(h, { + Qa: !1 + }); + break; + case "ancestor-or-self": + l = new wh(h, { + Qa: !0 + }); + break; + case "attribute": + l = new zh(h, u); + break; + case "child": + l = new Ah(h, u); + break; + case "descendant": + l = new Dh(h, { + Qa: !1 + }); + break; + case "descendant-or-self": + l = new Dh(h, { + Qa: !0 + }); + break; + case "parent": + l = new Kh(h, u); + break; + case "following-sibling": + l = new Jh(h, u); + break; + case "preceding-sibling": + l = new Oh(h, u); + break; + case "following": + l = new Hh(h); + break; + case "preceding": + l = new Mh(h); + break; + case "self": + l = new Ph(h, u); + } else k = J(h, ["filterExpr", "*"]), l = Q(k, P(b)); + for (const y of t) switch (y[0]) { + case "lookup": + l = new Ti(l, y[1]); + break; + case "predicate": + l = new Qi(l, y[1]); + } + l.type = c; + return l; + }); + a = F(a, "rootExpr"); + d = e || null !== a || 1 < d.length; + if (!d && 1 === f.length || !a && 1 === f.length && "sorted" === f[0].ia) return f[0]; + if (a && 0 === f.length) return new Mi(null); + f = new Pi(f, d); + return a ? new Mi(f) : f; + } + function sk(a, b) { + const c = I(a, "type"), + d = H(F(a, "quantifier")), + e = J(a, ["predicateExpr", "*"]); + a = K(a, "quantifiedExprInClause").map(f => { + const h = Kg(J(f, ["typedVariableBinding", "varName"])); + f = J(f, ["sourceExpr", "*"]); + return { + name: h, + fb: Q(f, P(b)) + }; + }); + return new Vi(d, a, Q(e, P(b)), c); + } + function ik(a, b) { + var c = K(a, "*").map(d => Q(d, b)); + if (1 === c.length) return c[0]; + c = I(a, "type"); + return new zi(K(a, "*").map(d => Q(d, b)), c); + } + function tk(a, b) { + const c = I(a, "type"); + return K(a, "*").reduce((d, e) => null === d ? Q(e, P(b)) : new Ai(d, Q(e, P(b)), c), null); + } + function jk(a, b) { + const c = I(a, "type"); + a = [J(a, ["firstOperand", "*"]), J(a, ["secondOperand", "*"])]; + return new Gf(new ai({ + localName: "concat", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + prefix: "" + }, a.length, c), a.map(d => Q(d, P(b))), c); + } + function kk(a, b) { + const c = I(a, "type"); + a = [F(F(a, "startExpr"), "*"), F(F(a, "endExpr"), "*")]; + const d = new ai({ + localName: "to", + namespaceURI: "http://fontoxpath/operators", + prefix: "" + }, a.length, c); + return new Gf(d, a.map(e => Q(e, P(b))), c); + } + function zk(a, b) { + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + const c = Kg(F(a, "tagName")); + var d = F(a, "attributeList"); + const e = d ? K(d, "attributeConstructor").map(f => Q(f, P(b))) : []; + d = d ? K(d, "namespaceDeclaration").map(f => { + const h = F(f, "prefix"); + return { + prefix: h ? H(h) : "", + uri: H(F(f, "uri")) + }; + }) : []; + a = (a = F(a, "elementContent")) ? K(a, "*").map(f => Q(f, P(b))) : []; + return new Xj(c, e, d, a); + } + function Ak(a, b) { + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + const c = Kg(F(a, "attributeName")); + var d = F(a, "attributeValue"); + d = d ? H(d) : null; + a = (a = F(a, "attributeValueExpr")) ? K(a, "*").map(e => Q(e, P(b))) : null; + return new Vj(c, { + value: d, + nb: a + }); + } + function Bk(a, b) { + var c = F(a, "tagName"); + c ? c = Kg(c) : (c = F(a, "tagNameExpr"), c = { + Na: Q(F(c, "*"), P(b)) + }); + a = (a = F(a, "contentExpr")) ? K(a, "*").map(d => Q(d, P(b))) : []; + return new Xj(c, [], [], a); + } + function Ck(a, b) { + const c = K(F(a, "transformCopies"), "transformCopy").map(e => { + const f = Kg(F(F(e, "varRef"), "name")); + return { + fb: Q(F(F(e, "copySource"), "*"), b), + Jb: new Sa(f.prefix, f.namespaceURI, f.localName) + }; + }), + d = Q(F(F(a, "modifyExpr"), "*"), b); + a = Q(F(F(a, "returnExpr"), "*"), b); + return new Tj(c, d, a); + } + function xk(a, b) { + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + const c = I(a, "type"), + d = Q(F(F(a, "argExpr"), "*"), b), + e = K(a, "typeswitchExprCaseClause").map(f => { + const h = 0 === K(f, "sequenceTypeUnion").length ? [F(f, "sequenceType")] : K(F(f, "sequenceTypeUnion"), "sequenceType"); + return { + pb: Q(J(f, ["resultExpr", "*"]), b), + Ib: h.map(k => { + const l = F(k, "occurrenceIndicator"); + return { + dc: l ? H(l) : "", + Hb: Q(F(k, "*"), b) + }; + }) + }; + }); + a = Q(J(a, ["typeswitchExprDefaultClause", "resultExpr", "*"]), b); + return new ck(d, e, a, c); + } + function yk(a, b) { + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + const c = I(a, "type"), + d = Q(F(F(a, "argExpr"), "*"), b), + e = K(a, "switchExprCaseClause").map(f => { + const h = K(f, "switchCaseExpr"); + return { + pb: Q(J(f, ["resultExpr", "*"]), b), + Gb: h.map(k => Q(F(k, "*"), b)) + }; + }); + a = Q(J(a, ["switchExprDefaultClause", "resultExpr", "*"]), b); + return new dk(d, e, a, c); + } + function Fk(a, b) { + return Q(a, b); + } + const Gk = new Map(); + class Hk { + constructor(a, b, c, d, e, f) { + this.v = a; + this.D = b; + this.h = c; + this.kb = d; + this.o = e; + this.l = f; + } + } + function Ik(a, b, c, d, e, f, h, k) { + a = Gk.get(a); + if (!a) return null; + b = a[b + (f ? "_DEBUG" : "")]; + return b ? (b = b.find(l => l.o === h && l.v.every(n => c(n.prefix) === n.namespaceURI) && l.D.every(n => void 0 !== d[n.name]) && l.kb.every(n => e[n.prefix] === n.namespaceURI) && l.l.every(n => { + const t = k(n.cc, n.arity); + return t && t.namespaceURI === n.Db.namespaceURI && t.localName === n.Db.localName; + }))) ? { + ba: b.h, + hc: !1 + } : null : null; + } + function Jk(a, b, c, d, e, f, h) { + let k = Gk.get(a); + k || (k = Object.create(null), Gk.set(a, k)); + a = b + (f ? "_DEBUG" : ""); + (b = k[a]) || (b = k[a] = []); + b.push(new Hk(Object.values(c.h), Object.values(c.o), e, Object.keys(d).map(l => ({ + namespaceURI: d[l], + prefix: l + })), h, c.D)); + } + function Kk(a) { + var b = new Za(); + if ("http://www.w3.org/2005/XQueryX" !== a.namespaceURI && "http://www.w3.org/2005/XQueryX" !== a.namespaceURI && "http://fontoxml.com/fontoxpath" !== a.namespaceURI && "http://www.w3.org/2007/xquery-update-10" !== a.namespaceURI) throw mc("The XML structure passed as an XQueryX program was not valid XQueryX"); + const c = ["stackTrace" === a.localName ? "x:stackTrace" : a.localName], + d = b.getAllAttributes(a); + d && 0 < d.length && c.push(Array.from(d).reduce((e, f) => { + "comment" !== f.localName && "start" !== f.localName && "end" !== f.localName || "stackTrace" !== a.localName ? "type" === f.localName ? e[f.localName] = Ja(f.value) : e[f.localName] = f.value : e[f.localName] = JSON.parse(f.value); + return e; + }, {})); + b = b.getChildNodes(a); + for (const e of b) switch (e.nodeType) { + case 1: + c.push(Kk(e)); + break; + case 3: + c.push(e.data); + } + return c; + } + const Lk = Object.create(null); + var Mk = (a, b) => { + let c = Lk[a]; + c ||= Lk[a] = { + Ia: [], + Ta: [], + pa: null, + source: b.source + }; + const d = c.pa || (() => {}); + c.Ia = c.Ia.concat(b.Ia); + c.Ta = c.Ta.concat(b.Ta); + c.pa = e => { + d(e); + b.pa && b.pa(e); + }; + }, + Nk = (a, b) => { + const c = Lk[b]; + if (!c) throw Error(`XQST0051: No modules found with the namespace uri ${b}`); + c.Ia.forEach(d => { + d.cb && Fg(a, b, d.localName, d.arity, d); + }); + c.Ta.forEach(d => { + Hg(a, b, d.localName); + Ig(a, b, d.localName, (e, f) => C(d.ba, e, f)); + }); + }, + Ok = () => { + Object.keys(Lk).forEach(a => { + a = Lk[a]; + if (a.pa) try { + a.pa(a); + } catch (b) { + a.pa = null, hg(a.source, b); + } + a.pa = null; + }); + }; + function Pk(a) { + return a.replace(/(\x0D\x0A)|(\x0D(?!\x0A))/g, String.fromCharCode(10)); + } + var R = prsc; + function Qk(a, b) { + return (c, d) => { + if (b.has(d)) return b.get(d); + c = a(c, d); + b.set(d, c); + return c; + }; + } + function S(a, b) { + return (0, R.delimited)(b, a, b); + } + function T(a, b) { + return a.reverse().reduce((c, d) => (0, R.preceded)(d, c), b); + } + function Rk(a, b, c, d) { + return (0, R.then)((0, R.then)(a, b, (e, f) => [e, f]), c, ([e, f], h) => d(e, f, h)); + } + function Sk(a, b, c, d, e) { + return (0, R.then)((0, R.then)((0, R.then)(a, b, (f, h) => [f, h]), c, ([f, h], k) => [f, h, k]), d, ([f, h, k], l) => e(f, h, k, l)); + } + function Tk(a, b, c, d, e, f) { + return (0, R.then)((0, R.then)((0, R.then)((0, R.then)(a, b, (h, k) => [h, k]), c, ([h, k], l) => [h, k, l]), d, ([h, k, l], n) => [h, k, l, n]), e, ([h, k, l, n], t) => f(h, k, l, n, t)); + } + function Uk(a) { + return (0, R.map)(a, b => [b]); + } + function Vk(a, b) { + return (0, R.map)((0, R.or)(a), () => b); + } + function Wk(a) { + return (b, c) => (b = a.exec(b.substring(c))) && 0 === b.index ? (0, R.okWithValue)(c + b[0].length, b[0]) : (0, R.error)(c, [a.source], !1); + } + var Xk = (0, R.or)([(0, R.token)(" "), (0, R.token)("\t"), (0, R.token)("\r"), (0, R.token)("\n")]), + Yk = (0, R.token)("(:"), + Zk = (0, R.token)(":)"), + $k = (0, R.token)("(#"), + al = (0, R.token)("#)"), + bl = (0, R.token)("("), + cl = (0, R.token)(")"), + dl = (0, R.token)("["), + el = (0, R.token)("]"), + fl = (0, R.token)("{"), + gl = (0, R.token)("}"), + hl = (0, R.token)("{{"), + il = (0, R.token)("}}"), + jl = (0, R.token)("'"), + kl = (0, R.token)("''"), + ll = (0, R.token)('"'), + ml = (0, R.token)('""'), + nl = (0, R.token)(""), + ql = (0, R.token)(""), + vl = (0, R.token)("&#x"), + wl = (0, R.token)("&#"), + xl = (0, R.token)(":*"), + yl = (0, R.token)("*:"), + zl = (0, R.token)(":="), + Al = (0, R.token)("&"), + Bl = (0, R.token)(":"), + Cl = (0, R.token)(";"), + Dl = (0, R.token)("*"), + El = (0, R.token)("@"), + Fl = (0, R.token)("$"), + Gl = (0, R.token)("#"), + Hl = (0, R.token)("%"), + Il = (0, R.token)("?"), + Jl = (0, R.token)("="), + Kl = (0, R.followed)((0, R.token)("!"), (0, R.not)((0, R.peek)(Jl), [])), + Ll = (0, R.followed)((0, R.token)("|"), (0, R.not)((0, R.peek)((0, R.token)("|")), [])), + Ml = (0, R.token)("||"), + Nl = (0, R.token)("!="), + Ol = (0, R.token)("<"), + Pl = (0, R.token)("<<"), + Ql = (0, R.token)("<="), + Rl = (0, R.token)(">"), + Sl = (0, R.token)(">>"), + Tl = (0, R.token)(">="), + Ul = (0, R.token)(","), + Vl = (0, R.token)("."), + Wl = (0, R.token)(".."), + Xl = (0, R.token)("+"), + Yl = (0, R.token)("-"), + Zl = (0, R.token)("/"), + $l = (0, R.token)("//"), + am = (0, R.token)("=>"), + bm = (0, R.token)("e"), + cm = (0, R.token)("E"); + (0, R.token)("l"); + (0, R.token)("L"); + (0, R.token)("m"); + (0, R.token)("M"); + var dm = (0, R.token)("Q"); + (0, R.token)("x"); + (0, R.token)("X"); + var em = (0, R.token)("as"), + fm = (0, R.token)("cast"), + gm = (0, R.token)("castable"), + hm = (0, R.token)("treat"), + im = (0, R.token)("instance"), + jm = (0, R.token)("of"), + km = (0, R.token)("node"), + lm = (0, R.token)("nodes"), + mm = (0, R.token)("delete"), + nm = (0, R.token)("value"), + om = (0, R.token)("function"), + pm = (0, R.token)("map"), + qm = (0, R.token)("element"), + rm = (0, R.token)("attribute"), + sm = (0, R.token)("schema-element"), + tm = (0, R.token)("intersect"), + um = (0, R.token)("except"), + vm = (0, R.token)("union"), + wm = (0, R.token)("to"), + xm = (0, R.token)("is"), + ym = (0, R.token)("or"), + zm = (0, R.token)("and"), + Am = (0, R.token)("div"), + Bm = (0, R.token)("idiv"), + Cm = (0, R.token)("mod"), + Dm = (0, R.token)("eq"), + Em = (0, R.token)("ne"), + Fm = (0, R.token)("lt"), + Gm = (0, R.token)("le"), + Hm = (0, R.token)("gt"), + Im = (0, R.token)("ge"), + Jm = (0, R.token)("amp"), + Km = (0, R.token)("quot"), + Lm = (0, R.token)("apos"), + Mm = (0, R.token)("if"), + Nm = (0, R.token)("then"), + Om = (0, R.token)("else"), + Pm = (0, R.token)("allowing"), + Qm = (0, R.token)("empty"), + Rm = (0, R.token)("at"), + Sm = (0, R.token)("in"), + Tm = (0, R.token)("for"), + Um = (0, R.token)("let"), + Vm = (0, R.token)("where"), + Wm = (0, R.token)("collation"), + Xm = (0, R.token)("group"), + Ym = (0, R.token)("by"), + Zm = (0, R.token)("order"), + $m = (0, R.token)("stable"), + an = (0, R.token)("return"), + bn = (0, R.token)("array"), + cn = (0, R.token)("document"), + dn = (0, R.token)("namespace"), + en = (0, R.token)("text"), + fn = (0, R.token)("comment"), + gn = (0, R.token)("processing-instruction"), + hn = (0, R.token)("lax"), + jn = (0, R.token)("strict"), + kn = (0, R.token)("validate"), + ln = (0, R.token)("type"), + mn = (0, R.token)("declare"), + nn = (0, R.token)("default"), + on = (0, R.token)("boundary-space"), + pn = (0, R.token)("strip"), + qn = (0, R.token)("preserve"), + rn = (0, R.token)("no-preserve"), + sn = (0, R.token)("inherit"), + tn = (0, R.token)("no-inherit"), + un = (0, R.token)("greatest"), + vn = (0, R.token)("least"), + wn = (0, R.token)("copy-namespaces"), + xn = (0, R.token)("decimal-format"), + yn = (0, R.token)("case"), + zn = (0, R.token)("typeswitch"), + An = (0, R.token)("some"), + Bn = (0, R.token)("every"), + Cn = (0, R.token)("satisfies"), + Dn = (0, R.token)("replace"), + En = (0, R.token)("with"), + Fn = (0, R.token)("copy"), + Gn = (0, R.token)("modify"), + Hn = (0, R.token)("first"), + In = (0, R.token)("last"), + Jn = (0, R.token)("before"), + Kn = (0, R.token)("after"), + Ln = (0, R.token)("into"), + Mn = (0, R.token)("insert"), + Nn = (0, R.token)("rename"), + On = (0, R.token)("switch"), + Pn = (0, R.token)("variable"), + Qn = (0, R.token)("external"), + Rn = (0, R.token)("updating"), + Sn = (0, R.token)("import"), + Tn = (0, R.token)("schema"), + Un = (0, R.token)("module"), + Vn = (0, R.token)("base-uri"), + Wn = (0, R.token)("construction"), + Xn = (0, R.token)("ordering"), + Yn = (0, R.token)("ordered"), + Zn = (0, R.token)("unordered"), + $n = (0, R.token)("option"), + ao = (0, R.token)("context"), + bo = (0, R.token)("item"), + co = (0, R.token)("xquery"), + eo = (0, R.token)("version"), + fo = (0, R.token)("encoding"), + go = (0, R.token)("document-node"), + ho = (0, R.token)("namespace-node"), + io = (0, R.token)("schema-attribute"), + jo = (0, R.token)("ascending"), + ko = (0, R.token)("descending"), + lo = (0, R.token)("empty-sequence"), + mo = (0, R.token)("child::"), + no = (0, R.token)("descendant::"), + oo = (0, R.token)("attribute::"), + po = (0, R.token)("self::"), + qo = (0, R.token)("descendant-or-self::"), + ro = (0, R.token)("following-sibling::"), + so = (0, R.token)("following::"), + to = (0, R.token)("parent::"), + uo = (0, R.token)("ancestor::"), + vo = (0, R.token)("preceding-sibling::"), + wo = (0, R.token)("preceding::"), + xo = (0, R.token)("ancestor-or-self::"), + yo = (0, R.token)("decimal-separator"), + zo = (0, R.token)("grouping-separator"), + Ao = (0, R.token)("infinity"), + Bo = (0, R.token)("minus-sign"), + Co = (0, R.token)("NaN"), + Do = (0, R.token)("per-mille"), + Eo = (0, R.token)("zero-digit"), + Fo = (0, R.token)("digit"), + Go = (0, R.token)("pattern-separator"), + Ho = (0, R.token)("exponent-separator"), + Io = (0, R.token)("schema-attribute("), + Jo = (0, R.token)("document-node("), + Ko = (0, R.token)("processing-instruction("), + Lo = (0, R.token)("processing-instruction()"), + Mo = (0, R.token)("comment()"), + No = (0, R.token)("text()"), + Oo = (0, R.token)("namespace-node()"), + Po = (0, R.token)("node()"), + Qo = (0, R.token)("item()"), + Ro = (0, R.token)("empty-sequence()"); + var So = new Map(), + To = new Map(), + Uo = (0, R.or)([Wk(/[\t\n\r -\uD7FF\uE000\uFFFD]/), Wk(/[\uD800-\uDBFF][\uDC00-\uDFFF]/)]), + Vo = (0, R.preceded)((0, R.peek)((0, R.not)((0, R.or)([Yk, Zk]), ['comment contents cannot contain "(:" or ":)"'])), Uo), + Wo = (0, R.map)((0, R.delimited)(Yk, (0, R.star)((0, R.or)([Vo, function (a, b) { + return Wo(a, b); + }])), Zk, !0), a => a.join("")), + Xo = (0, R.or)([Xk, Wo]), + Yo = (0, R.map)((0, R.plus)(Xk), a => a.join("")), + V = Qk((0, R.map)((0, R.star)(Xo), a => a.join("")), So), + W = Qk((0, R.map)((0, R.plus)(Xo), a => a.join("")), To); + const Zo = (0, R.or)([Wk(/[A-Z_a-z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/), (0, R.then)(Wk(/[\uD800-\uDB7F]/), Wk(/[\uDC00-\uDFFF]/), (a, b) => a + b)]), + $o = (0, R.or)([Zo, Wk(/[\-\.0-9\xB7\u0300-\u036F\u203F\u2040]/)]); + var ap = (0, R.then)(Zo, (0, R.star)($o), (a, b) => a + b.join("")), + bp = (0, R.map)(ap, a => ["prefix", a]); + const cp = (0, R.or)([Zo, Bl]), + dp = (0, R.or)([$o, Bl]); + (0, R.then)(cp, (0, R.star)(dp), (a, b) => a + b.join("")); + const ep = (0, R.map)(ap, a => [{ + prefix: "", + URI: null + }, a]), + fp = (0, R.then)(ap, (0, R.preceded)(Bl, ap), (a, b) => [{ + prefix: a, + URI: null + }, b]); + var gp = (0, R.or)([fp, ep]), + hp = (0, R.followed)(T([dm, V, fl], (0, R.map)((0, R.star)(Wk(/[^{}]/)), a => a.join("").replace(/\s+/g, " ").trim())), gl); + const ip = (0, R.then)(hp, ap, (a, b) => [a, b]); + var jp = (0, R.or)([(0, R.map)(ip, a => [{ + prefix: null, + URI: a[0] + }, a[1]]), gp]), + kp = (0, R.or)([(0, R.map)(jp, a => ["QName", ...a]), (0, R.map)(Dl, () => ["star"])]), + lp = (0, R.map)((0, R.preceded)(Fl, jp), a => ["varRef", ["name", ...a]]); + var mp = (0, R.peek)((0, R.or)([bl, ll, jl, Xo])), + np = (0, R.map)((0, R.or)([mo, no, oo, po, qo, ro, so]), a => a.substring(0, a.length - 2)), + op = (0, R.map)((0, R.or)([to, uo, vo, wo, xo]), a => a.substring(0, a.length - 2)), + pp = Rk(Al, (0, R.or)([Fm, Hm, Jm, Km, Lm]), Cl, (a, b, c) => a + b + c), + qp = (0, R.or)([Rk(vl, Wk(/[0-9a-fA-F]+/), Cl, (a, b, c) => a + b + c), Rk(wl, Wk(/[0-9]+/), Cl, (a, b, c) => a + b + c)]), + rp = Vk([ml], '"'), + sp = Vk([kl], "'"), + tp = Uk(Vk([Mo], "commentTest")), + up = Uk(Vk([No], "textTest")), + vp = Uk(Vk([Oo], "namespaceTest")), + wp = Uk(Vk([Po], "anyKindTest")); + const xp = Wk(/[0-9]+/), + yp = (0, R.then)((0, R.or)([(0, R.then)(Vl, xp, (a, b) => a + b), (0, R.then)(xp, (0, R.optional)((0, R.preceded)(Vl, Wk(/[0-9]*/))), (a, b) => a + (null !== b ? "." + b : ""))]), Rk((0, R.or)([bm, cm]), (0, R.optional)((0, R.or)([Xl, Yl])), xp, (a, b, c) => a + (b ? b : "") + c), (a, b) => ["doubleConstantExpr", ["value", a + b]]), + zp = (0, R.or)([(0, R.map)((0, R.preceded)(Vl, xp), a => ["decimalConstantExpr", ["value", "." + a]]), (0, R.then)((0, R.followed)(xp, Vl), (0, R.optional)(xp), (a, b) => ["decimalConstantExpr", ["value", a + "." + (null !== b ? b : "")]])]); + var Ap = (0, R.map)(xp, a => ["integerConstantExpr", ["value", a]]), + Bp = (0, R.followed)((0, R.or)([yp, zp, Ap]), (0, R.peek)((0, R.not)(Wk(/[a-zA-Z]/), ["no alphabetical characters after numeric literal"]))), + Cp = (0, R.map)((0, R.followed)(Vl, (0, R.peek)((0, R.not)(Vl, ["context item should not be followed by another ."]))), () => ["contextItemExpr"]), + Dp = (0, R.or)([bn, rm, fn, go, qm, lo, om, Mm, bo, pm, ho, km, gn, io, sm, On, en, zn]), + Ep = Uk(Vk([Il], "argumentPlaceholder")), + Fp = (0, R.or)([Il, Dl, Xl]), + Gp = (0, R.preceded)((0, R.peek)((0, R.not)(Wk(/[{}<&]/), ["elementContentChar cannot be {, }, <, or &"])), Uo), + Hp = (0, R.map)((0, R.delimited)(nl, (0, R.star)((0, R.preceded)((0, R.peek)((0, R.not)(ol, ['CDataSection content may not contain "]]\x3e"'])), Uo)), ol, !0), a => ["CDataSection", a.join("")]), + Ip = (0, R.preceded)((0, R.peek)((0, R.not)(Wk(/["{}<&]/), ['quotAttrValueContentChar cannot be ", {, }, <, or &'])), Uo), + Jp = (0, R.preceded)((0, R.peek)((0, R.not)(Wk(/['{}<&]/), ["aposAttrValueContentChar cannot be ', {, }, <, or &"])), Uo), + Kp = (0, R.map)((0, R.star)((0, R.or)([(0, R.preceded)((0, R.peek)((0, R.not)(Yl, [])), Uo), (0, R.map)(T([Yl, (0, R.peek)((0, R.not)(Yl, []))], Uo), a => "-" + a)])), a => a.join("")), + Lp = (0, R.map)((0, R.delimited)(rl, Kp, sl, !0), a => ["computedCommentConstructor", ["argExpr", ["stringConstantExpr", ["value", a]]]]); + const Mp = (0, R.filter)(ap, a => "xml" !== a.toLowerCase(), ['A processing instruction target cannot be "xml"']), + Np = (0, R.map)((0, R.star)((0, R.preceded)((0, R.peek)((0, R.not)(ul, [])), Uo)), a => a.join("")); + var Op = (0, R.then)((0, R.preceded)(tl, (0, R.cut)(Mp)), (0, R.cut)((0, R.followed)((0, R.optional)((0, R.preceded)(Yo, Np)), ul)), (a, b) => ["computedPIConstructor", ["piTarget", a], ["piValueExpr", ["stringConstantExpr", ["value", b]]]]), + Pp = (0, R.map)($l, () => ["stepExpr", ["xpathAxis", "descendant-or-self"], ["anyKindTest"]]), + Qp = (0, R.or)([hn, jn]), + Rp = (0, R.map)((0, R.star)((0, R.followed)(Uo, (0, R.peek)((0, R.not)(al, ["Pragma contents should not contain '#)'"])))), a => a.join("")), + Sp = (0, R.map)((0, R.followed)((0, R.or)([Dm, Em, Fm, Gm, Hm, Im]), mp), a => a + "Op"), + Tp = (0, R.or)([(0, R.followed)(Vk([xm], "isOp"), mp), Vk([Pl], "nodeBeforeOp"), Vk([Sl], "nodeAfterOp")]), + Up = (0, R.or)([Vk([Jl], "equalOp"), Vk([Nl], "notEqualOp"), Vk([Ql], "lessThanOrEqualOp"), Vk([Ol], "lessThanOp"), Vk([Tl], "greaterThanOrEqualOp"), Vk([Rl], "greaterThanOp")]), + Vp = (0, R.map)(Rn, () => ["annotation", ["annotationName", "updating"]]); + const Wp = (0, R.or)([qn, rn]), + Xp = (0, R.or)([sn, tn]); + var Yp = (0, R.or)([yo, zo, Ao, Bo, Co, Hl, Do, Eo, Fo, Go, Ho]), + Zp = (0, R.map)(T([mn, W, on, W], (0, R.or)([qn, pn])), a => ["boundarySpaceDecl", a]), + $p = (0, R.map)(T([mn, W, Wn, W], (0, R.or)([qn, pn])), a => ["constructionDecl", a]), + aq = (0, R.map)(T([mn, W, Xn, W], (0, R.or)([Yn, Zn])), a => ["orderingModeDecl", a]), + bq = (0, R.map)(T([mn, W, nn, W, Zm, W, Qm, W], (0, R.or)([un, vn])), a => ["emptyOrderDecl", a]), + cq = (0, R.then)(T([mn, W, wn, W], Wp), T([V, Ul, V], Xp), (a, b) => ["copyNamespacesDecl", ["preserveMode", a], ["inheritMode", b]]); + function dq(a) { + switch (a[0]) { + case "constantExpr": + case "varRef": + case "contextItemExpr": + case "functionCallExpr": + case "sequenceExpr": + case "elementConstructor": + case "computedElementConstructor": + case "computedAttributeConstructor": + case "computedDocumentConstructor": + case "computedTextConstructor": + case "computedCommentConstructor": + case "computedNamespaceConstructor": + case "computedPIConstructor": + case "orderedExpr": + case "unorderedExpr": + case "namedFunctionRef": + case "inlineFunctionExpr": + case "dynamicFunctionInvocationExpr": + case "mapConstructor": + case "arrayConstructor": + case "stringConstructor": + case "unaryLookup": + return a; + } + return ["sequenceExpr", a]; + } + function eq(a) { + if (!(1 <= a && 55295 >= a || 57344 <= a && 65533 >= a || 65536 <= a && 1114111 >= a)) throw Error("XQST0090: The character reference " + a + " (" + a.toString(16) + ") does not reference a valid codePoint."); + } + function fq(a) { + return a.replace(/(&[^;]+);/g, b => { + if (/^&#x/.test(b)) return b = parseInt(b.slice(3, -1), 16), eq(b), String.fromCodePoint(b); + if (/^&#/.test(b)) return b = parseInt(b.slice(2, -1), 10), eq(b), String.fromCodePoint(b); + switch (b) { + case "<": + return "<"; + case ">": + return ">"; + case "&": + return "&"; + case """: + return String.fromCharCode(34); + case "'": + return String.fromCharCode(39); + } + throw Error('XPST0003: Unknown character reference: "' + b + '"'); + }); + } + function gq(a, b, c) { + if (!a.length) return []; + let d = [a[0]]; + for (let e = 1; e < a.length; ++e) { + const f = d[d.length - 1]; + "string" === typeof f && "string" === typeof a[e] ? d[d.length - 1] = f + a[e] : d.push(a[e]); + } + if ("string" === typeof d[0] && 0 === d.length) return []; + d = d.reduce((e, f, h) => { + if ("string" !== typeof f) e.push(f);else if (c && /^\s*$/.test(f)) { + const k = d[h + 1]; + k && "CDataSection" === k[0] ? e.push(fq(f)) : (h = d[h - 1]) && "CDataSection" === h[0] && e.push(fq(f)); + } else e.push(fq(f)); + return e; + }, []); + if (!d.length) return d; + if (1 < d.length || b) for (a = 0; a < d.length; a++) "string" === typeof d[a] && (d[a] = ["stringConstantExpr", ["value", d[a]]]); + return d; + } + function hq(a) { + return a[0].prefix ? a[0].prefix + ":" + a[1] : a[1]; + } + var iq = (0, R.then)(jp, (0, R.optional)(Il), (a, b) => null !== b ? ["singleType", ["atomicType", ...a], ["optional"]] : ["singleType", ["atomicType", ...a]]), + jq = (0, R.map)(jp, a => ["atomicType", ...a]); + const kq = new Map(); + function lq(a) { + function b(m, r) { + return r.reduce((B, X) => [X[0], ["firstOperand", B], ["secondOperand", X[1]]], m); + } + function c(m, r, B) { + return (0, R.then)(m, (0, R.star)((0, R.then)(S(r, V), (0, R.cut)(m), (X, ea) => [X, ea])), B); + } + function d(m, r, B = "firstOperand", X = "secondOperand") { + return (0, R.then)(m, (0, R.optional)((0, R.then)(S(r, V), (0, R.cut)(m), (ea, Fa) => [ea, Fa])), (ea, Fa) => null === Fa ? ea : [Fa[0], [B, ea], [X, Fa[1]]]); + } + function e(m) { + return a.mb ? (r, B) => { + r = m(r, B); + if (!r.success) return r; + const X = n.has(B) ? n.get(B) : { + offset: B, + line: -1, + ha: -1 + }, + ea = n.has(r.offset) ? n.get(r.offset) : { + offset: r.offset, + line: -1, + ha: -1 + }; + n.set(B, X); + n.set(r.offset, ea); + B = r.value.Wa; + return (0, R.okWithValue)(r.offset, ["x:stackTrace", Object.assign({ + start: X, + end: ea + }, B ? { + Wa: B + } : {}), r.value]); + } : m; + } + function f(m, r) { + return Bj(m, r); + } + function h(m, r) { + return yf(m, r); + } + function k(m, r) { + return e((0, R.or)([zr, Ar, Br, Cr, Dr, Er, Fr, Gr, Hr, Ir, Jr]))(m, r); + } + function l(m, r) { + return c(k, Ul, (B, X) => 0 === X.length ? B : ["sequenceExpr", B, ...X.map(ea => ea[1])])(m, r); + } + const n = new Map(), + t = (0, R.preceded)(dl, (0, R.followed)(S(l, V), el)), + u = (0, R.map)(a.Za ? (0, R.or)([S((0, R.star)((0, R.or)([pp, qp, rp, Wk(/[^"&]/)])), ll), S((0, R.star)((0, R.or)([pp, qp, sp, Wk(/[^'&]/)])), jl)]) : (0, R.or)([S((0, R.star)((0, R.or)([rp, Wk(/[^"]/)])), ll), S((0, R.star)((0, R.or)([sp, Wk(/[^']/)])), jl)]), m => m.join("")), + z = (0, R.or)([(0, R.map)(T([qm, V], (0, R.delimited)((0, R.followed)(bl, V), (0, R.then)(kp, T([V, Ul, V], jp), (m, r) => [["elementName", m], ["typeName", ...r]]), (0, R.preceded)(V, cl))), ([m, r]) => ["elementTest", m, r]), (0, R.map)(T([qm, V], (0, R.delimited)(bl, kp, cl)), m => ["elementTest", ["elementName", m]]), (0, R.map)(T([qm, V], (0, R.delimited)(bl, V, cl)), () => ["elementTest"])]), + y = (0, R.or)([(0, R.map)(jp, m => ["QName", ...m]), (0, R.map)(Dl, () => ["star"])]), + G = (0, R.or)([(0, R.map)(T([rm, V], (0, R.delimited)((0, R.followed)(bl, V), (0, R.then)(y, T([V, Ul, V], jp), (m, r) => [["attributeName", m], ["typeName", ...r]]), (0, R.preceded)(V, cl))), ([m, r]) => ["attributeTest", m, r]), (0, R.map)(T([rm, V], (0, R.delimited)(bl, y, cl)), m => ["attributeTest", ["attributeName", m]]), (0, R.map)(T([rm, V], (0, R.delimited)(bl, V, cl)), () => ["attributeTest"])]), + N = (0, R.map)(T([sm, V, bl], (0, R.followed)(jp, cl)), m => ["schemaElementTest", ...m]), + U = (0, R.map)((0, R.delimited)(Io, S(jp, V), cl), m => ["schemaAttributeTest", ...m]), + ca = (0, R.map)((0, R.preceded)(Jo, (0, R.followed)(S((0, R.optional)((0, R.or)([z, N])), V), cl)), m => ["documentTest", ...(m ? [m] : [])]), + Ga = (0, R.or)([(0, R.map)((0, R.preceded)(Ko, (0, R.followed)(S((0, R.or)([ap, u]), V), cl)), m => ["piTest", ["piTarget", m]]), Uk(Vk([Lo], "piTest"))]), + Gb = (0, R.or)([ca, z, G, N, U, Ga, tp, up, vp, wp]), + Xb = (0, R.or)([(0, R.map)((0, R.preceded)(yl, ap), m => ["Wildcard", ["star"], ["NCName", m]]), Uk(Vk([Dl], "Wildcard")), (0, R.map)((0, R.followed)(hp, Dl), m => ["Wildcard", ["uri", m], ["star"]]), (0, R.map)((0, R.followed)(ap, xl), m => ["Wildcard", ["NCName", m], ["star"]])]), + fd = (0, R.or)([Xb, (0, R.map)(jp, m => ["nameTest", ...m])]), + Yb = (0, R.or)([Gb, fd]), + Kr = (0, R.then)((0, R.optional)(El), Yb, (m, r) => null !== m || "attributeTest" === r[0] || "schemaAttributeTest" === r[0] ? ["stepExpr", ["xpathAxis", "attribute"], r] : ["stepExpr", ["xpathAxis", "child"], r]), + Lr = (0, R.or)([(0, R.then)(np, Yb, (m, r) => ["stepExpr", ["xpathAxis", m], r]), Kr]), + Mr = (0, R.map)(Wl, () => ["stepExpr", ["xpathAxis", "parent"], ["anyKindTest"]]), + Nr = (0, R.or)([(0, R.then)(op, Yb, (m, r) => ["stepExpr", ["xpathAxis", m], r]), Mr]), + Or = (0, R.map)((0, R.star)((0, R.preceded)(V, t)), m => 0 < m.length ? ["predicates", ...m] : void 0), + Pr = (0, R.then)((0, R.or)([Nr, Lr]), Or, (m, r) => void 0 === r ? m : m.concat([r])), + zf = (0, R.or)([Bp, (0, R.map)(u, m => ["stringConstantExpr", ["value", a.Za ? fq(m) : m]])]), + Af = (0, R.or)([(0, R.delimited)(bl, S(l, V), cl), (0, R.map)((0, R.delimited)(bl, V, cl), () => ["sequenceExpr"])]), + Cj = (0, R.or)([k, Ep]), + de = (0, R.map)((0, R.delimited)(bl, S((0, R.optional)((0, R.then)(Cj, (0, R.star)((0, R.preceded)(S(Ul, V), Cj)), (m, r) => [m, ...r])), V), cl), m => null !== m ? m : []), + Qr = (0, R.preceded)((0, R.not)(Rk(Dp, V, bl, () => {}), ["cannot use reserved keyword for function names"]), e((0, R.then)(jp, (0, R.preceded)(V, de), (m, r) => { + r = ["functionCallExpr", ["functionName", ...m], null !== r ? ["arguments", ...r] : ["arguments"]]; + const B = m[0].prefix, + X = m[0].URI; + m = m[1]; + r.Wa = B ? `${B}:${m}` : X ? `Q{${X}}${m}` : m; + return r; + }))), + Rr = (0, R.then)(jp, (0, R.preceded)(Gl, Ap), (m, r) => ["namedFunctionRef", ["functionName", ...m], r]), + Ta = (0, R.delimited)(fl, S((0, R.optional)(l), V), gl), + Dj = (0, R.map)(Ta, m => m ? m : ["sequenceExpr"]), + gb = (0, R.or)([(0, R.map)(Ro, () => [["voidSequenceType"]]), (0, R.then)(f, (0, R.optional)((0, R.preceded)(V, Fp)), (m, r) => [m, ...(null !== r ? [["occurrenceIndicator", r]] : [])])]), + Bf = (0, R.then)(T([Hl, V], jp), (0, R.optional)((0, R.followed)((0, R.then)(T([bl, V], zf), (0, R.star)(T([Ul, V], zf)), (m, r) => m.concat(r)), cl)), (m, r) => ["annotation", ["annotationName", ...m], ...(r ? ["arguments", r] : [])]), + Sr = (0, R.map)(T([om, V, bl, V, Dl, V], cl), () => ["anyFunctionTest"]), + Tr = (0, R.then)(T([om, V, bl, V], (0, R.optional)(c(gb, Ul, (m, r) => m.concat.apply(m, r.map(B => B[1]))))), T([V, cl, W, em, W], gb), (m, r) => ["typedFunctionTest", ["paramTypeList", ["sequenceType", ...(m ? m : [])]], ["sequenceType", ...r]]), + Ur = (0, R.then)((0, R.star)(Bf), (0, R.or)([Sr, Tr]), (m, r) => [r[0], ...m, ...r.slice(1)]), + Vr = (0, R.map)(T([pm, V, bl, V, Dl, V], cl), () => ["anyMapTest"]), + Wr = (0, R.then)(T([pm, V, bl, V], jq), T([V, Ul], (0, R.followed)(S(gb, V), cl)), (m, r) => ["typedMapTest", m, ["sequenceType", ...r]]), + Xr = (0, R.or)([Vr, Wr]), + Yr = (0, R.map)(T([bn, V, bl, V, Dl, V], cl), () => ["anyArrayTest"]), + Zr = (0, R.map)(T([bn, V, bl], (0, R.followed)(S(gb, V), cl)), m => ["typedArrayTest", ["sequenceType", ...m]]), + $r = (0, R.or)([Yr, Zr]), + as = (0, R.map)((0, R.delimited)(bl, S(f, V), cl), m => ["parenthesizedItemType", m]), + Bj = (0, R.or)([Gb, Uk(Vk([Qo], "anyItemType")), Ur, Xr, $r, jq, as]), + Ac = (0, R.map)(T([em, W], gb), m => ["typeDeclaration", ...m]), + bs = (0, R.then)((0, R.preceded)(Fl, jp), (0, R.optional)((0, R.preceded)(W, Ac)), (m, r) => ["param", ["varName", ...m], ...(r ? [r] : [])]), + Ej = c(bs, Ul, (m, r) => [m, ...r.map(B => B[1])]), + cs = Sk((0, R.star)(Bf), T([V, om, V, bl, V], (0, R.optional)(Ej)), T([V, cl, V], (0, R.optional)((0, R.map)(T([em, V], (0, R.followed)(gb, V)), m => ["typeDeclaration", ...m]))), Dj, (m, r, B, X) => ["inlineFunctionExpr", ...m, ["paramList", ...(r ? r : [])], ...(B ? [B] : []), ["functionBody", X]]), + ds = (0, R.or)([Rr, cs]), + es = (0, R.map)(k, m => ["mapKeyExpr", m]), + fs = (0, R.map)(k, m => ["mapValueExpr", m]), + gs = (0, R.then)(es, (0, R.preceded)(S(Bl, V), fs), (m, r) => ["mapConstructorEntry", m, r]), + hs = (0, R.preceded)(pm, (0, R.delimited)(S(fl, V), (0, R.map)((0, R.optional)(c(gs, S(Ul, V), (m, r) => [m, ...r.map(B => B[1])])), m => m ? ["mapConstructor", ...m] : ["mapConstructor"]), (0, R.preceded)(V, gl))), + is = (0, R.map)((0, R.delimited)(dl, S((0, R.optional)(c(k, Ul, (m, r) => [m, ...r.map(B => B[1])].map(B => ["arrayElem", B]))), V), el), m => ["squareArray", ...(null !== m ? m : [])]), + js = (0, R.map)((0, R.preceded)(bn, (0, R.preceded)(V, Ta)), m => ["curlyArray", ...(null !== m ? [["arrayElem", m]] : [])]), + ks = (0, R.map)((0, R.or)([is, js]), m => ["arrayConstructor", m]), + Fj = (0, R.or)([ap, Ap, Af, Dl]), + ls = (0, R.map)((0, R.preceded)(Il, (0, R.preceded)(V, Fj)), m => "*" === m ? ["unaryLookup", ["star"]] : "string" === typeof m ? ["unaryLookup", ["NCName", m]] : ["unaryLookup", m]), + Cf = (0, R.or)([pp, qp, Vk([hl], "{"), Vk([il], "}"), (0, R.map)(Ta, m => m || ["sequenceExpr"])]), + ms = (0, R.or)([Hp, function (m, r) { + return Gj(m, r); + }, Cf, Gp]), + ns = (0, R.or)([(0, R.map)(Ip, m => m.replace(/[\x20\x0D\x0A\x09]/g, " ")), Cf]), + os = (0, R.or)([(0, R.map)(Jp, m => m.replace(/[\x20\x0D\x0A\x09]/g, " ")), Cf]), + ps = (0, R.map)((0, R.or)([S((0, R.star)((0, R.or)([rp, ns])), ll), S((0, R.star)((0, R.or)([sp, os])), jl)]), m => gq(m, !1, !1)), + qs = (0, R.then)(gp, (0, R.preceded)(S(Jl, (0, R.optional)(Yo)), ps), (m, r) => { + if ("" === m[0].prefix && "xmlns" === m[1]) { + if (r.length && "string" !== typeof r[0]) throw Error("XQST0022: A namespace declaration may not contain enclosed expressions"); + return ["namespaceDeclaration", r.length ? ["uri", r[0]] : ["uri"]]; + } + if ("xmlns" === m[0].prefix) { + if (r.length && "string" !== typeof r[0]) throw Error("XQST0022: The namespace declaration for 'xmlns:" + m[1] + "' may not contain enclosed expressions"); + return ["namespaceDeclaration", ["prefix", m[1]], r.length ? ["uri", r[0]] : ["uri"]]; + } + return ["attributeConstructor", ["attributeName"].concat(m), 0 === r.length ? ["attributeValue"] : 1 === r.length && "string" === typeof r[0] ? ["attributeValue", r[0]] : ["attributeValueExpr"].concat(r)]; + }), + rs = (0, R.map)((0, R.star)((0, R.preceded)(Yo, (0, R.optional)(qs))), m => m.filter(Boolean)), + ss = Rk((0, R.preceded)(Ol, gp), rs, (0, R.or)([(0, R.map)(pl, () => null), (0, R.then)((0, R.preceded)(Rl, (0, R.star)(ms)), T([V, ql], (0, R.followed)(gp, (0, R.then)((0, R.optional)(Yo), Rl, () => null))), (m, r) => [gq(m, !0, !0), r])]), (m, r, B) => { + var X = B; + if (B && B.length) { + X = hq(m); + const ea = hq(B[1]); + if (X !== ea) throw Error('XQST0118: The start and the end tag of an element constructor must be equal. "' + X + '" does not match "' + ea + '"'); + X = B[0]; + } + return ["elementConstructor", ["tagName", ...m], ...(r.length ? [["attributeList", ...r]] : []), ...(X && X.length ? [["elementContent", ...X]] : [])]; + }), + Gj = (0, R.or)([ss, Lp, Op]), + ts = (0, R.map)(T([cn, V], Ta), m => ["computedDocumentConstructor", ...(m ? [["argExpr", m]] : [])]), + us = (0, R.map)(Ta, m => m ? [["contentExpr", m]] : []), + vs = (0, R.then)(T([qm, V], (0, R.or)([(0, R.map)(jp, m => ["tagName", ...m]), (0, R.map)((0, R.delimited)(fl, S(l, V), gl), m => ["tagNameExpr", m])])), (0, R.preceded)(V, us), (m, r) => ["computedElementConstructor", m, ...r]), + ws = (0, R.then)((0, R.preceded)(rm, (0, R.or)([(0, R.map)(T([mp, V], jp), m => ["tagName", ...m]), (0, R.map)((0, R.preceded)(V, (0, R.delimited)(fl, S(l, V), gl)), m => ["tagNameExpr", m])])), (0, R.preceded)(V, Ta), (m, r) => ["computedAttributeConstructor", m, ["valueExpr", r ? r : ["sequenceExpr"]]]), + xs = (0, R.map)(Ta, m => m ? [["prefixExpr", m]] : []), + ys = (0, R.map)(Ta, m => m ? [["URIExpr", m]] : []), + zs = (0, R.then)(T([dn, V], (0, R.or)([bp, xs])), (0, R.preceded)(V, ys), (m, r) => ["computedNamespaceConstructor", ...m, ...r]), + As = (0, R.map)(T([en, V], Ta), m => ["computedTextConstructor", ...(m ? [["argExpr", m]] : [])]), + Bs = (0, R.map)(T([fn, V], Ta), m => ["computedCommentConstructor", ...(m ? [["argExpr", m]] : [])]), + Cs = T([gn, V], (0, R.then)((0, R.or)([(0, R.map)(ap, m => ["piTarget", m]), (0, R.map)((0, R.delimited)(fl, S(l, V), gl), m => ["piTargetExpr", m])]), (0, R.preceded)(V, Ta), (m, r) => ["computedPIConstructor", m, ...(r ? [["piValueExpr", r]] : [])])), + Ds = (0, R.or)([ts, vs, ws, zs, As, Bs, Cs]), + Es = (0, R.or)([Gj, Ds]), + Hj = (0, R.or)([zf, lp, Af, Cp, Qr, Es, ds, hs, ks, ls]), + Ij = (0, R.map)(T([Il, V], Fj), m => "*" === m ? ["lookup", ["star"]] : "string" === typeof m ? ["lookup", ["NCName", m]] : ["lookup", m]), + Fs = (0, R.then)((0, R.map)(Hj, m => dq(m)), (0, R.star)((0, R.or)([(0, R.map)((0, R.preceded)(V, t), m => ["predicate", m]), (0, R.map)((0, R.preceded)(V, de), m => ["argumentList", m]), (0, R.preceded)(V, Ij)])), (m, r) => { + function B() { + Jj && 1 === Fa.length ? Bc.push(["predicate", Fa[0]]) : 0 !== Fa.length && Bc.push(["predicates", ...Fa]); + Fa.length = 0; + } + function X(Zb) { + B(); + 0 !== Bc.length ? ("sequenceExpr" === ea[0][0] && 2 < ea[0].length && (ea = [["sequenceExpr", ...ea]]), ea = [["filterExpr", ...ea], ...Bc], Bc.length = 0) : Zb && (ea = [["filterExpr", ...ea]]); + } + let ea = [m]; + const Fa = [], + Bc = []; + let Jj = !1; + for (const Zb of r) switch (Zb[0]) { + case "predicate": + Fa.push(Zb[1]); + break; + case "lookup": + Jj = !0; + B(); + Bc.push(Zb); + break; + case "argumentList": + X(!1); + 1 < ea.length && (ea = [["sequenceExpr", ["pathExpr", ["stepExpr", ...ea]]]]); + ea = [["dynamicFunctionInvocationExpr", ["functionItem", ...ea], ...(Zb[1].length ? [["arguments", ...Zb[1]]] : [])]]; + break; + default: + throw Error("unreachable"); + } + X(!0); + return ea; + }), + Cc = (0, R.or)([(0, R.map)(Fs, m => ["stepExpr", ...m]), Pr]), + Gs = (0, R.followed)(Hj, (0, R.peek)((0, R.not)((0, R.preceded)(V, (0, R.or)([t, de, Ij])), ["primary expression not followed by predicate, argumentList, or lookup"]))), + Hs = (0, R.or)([Rk(Cc, (0, R.preceded)(V, Pp), (0, R.preceded)(V, h), (m, r, B) => ["pathExpr", m, r, ...B]), (0, R.then)(Cc, (0, R.preceded)(S(Zl, V), h), (m, r) => ["pathExpr", m, ...r]), Gs, (0, R.map)(Cc, m => ["pathExpr", m])]), + yf = (0, R.or)([Rk(Cc, (0, R.preceded)(V, Pp), (0, R.preceded)(V, h), (m, r, B) => [m, r, ...B]), (0, R.then)(Cc, (0, R.preceded)(S(Zl, V), h), (m, r) => [m, ...r]), (0, R.map)(Cc, m => [m])]), + Is = (0, R.or)([(0, R.map)(T([Zl, V], yf), m => ["pathExpr", ["rootExpr"], ...m]), (0, R.then)(Pp, (0, R.preceded)(V, yf), (m, r) => ["pathExpr", ["rootExpr"], m, ...r]), (0, R.map)((0, R.followed)(Zl, (0, R.not)((0, R.preceded)(V, a.Za ? Wk(/[* ["pathExpr", ["rootExpr"]])]), + Js = Qk((0, R.or)([Hs, Is]), kq), + Ks = (0, R.preceded)(kn, (0, R.then)((0, R.optional)((0, R.or)([(0, R.map)((0, R.preceded)(V, Qp), m => ["validationMode", m]), (0, R.map)(T([V, ln, V], jp), m => ["type", ...m])])), (0, R.delimited)((0, R.preceded)(V, fl), S(l, V), gl), (m, r) => ["validateExpr", ...(m ? [m] : []), ["argExpr", r]])), + Ls = (0, R.delimited)($k, (0, R.then)((0, R.preceded)(V, jp), (0, R.optional)((0, R.preceded)(W, Rp)), (m, r) => r ? ["pragma", ["pragmaName", m], ["pragmaContents", r]] : ["pragma", ["pragmaName", m]]), (0, R.preceded)(V, al)), + Ms = (0, R.map)((0, R.followed)((0, R.plus)(Ls), (0, R.preceded)(V, (0, R.delimited)(fl, S((0, R.optional)(l), V), gl))), m => ["extensionExpr", ...m]), + Ns = e(c(Js, Kl, (m, r) => 0 === r.length ? m : ["simpleMapExpr", "pathExpr" === m[0] ? m : ["pathExpr", ["stepExpr", ["filterExpr", dq(m)]]]].concat(r.map(B => { + B = B[1]; + return "pathExpr" === B[0] ? B : ["pathExpr", ["stepExpr", ["filterExpr", dq(B)]]]; + })))), + Os = (0, R.or)([Ks, Ms, Ns]), + Kj = (0, R.or)([(0, R.then)((0, R.or)([Vk([Yl], "unaryMinusOp"), Vk([Xl], "unaryPlusOp")]), (0, R.preceded)(V, function (m, r) { + return Kj(m, r); + }), (m, r) => [m, ["operand", r]]), Os]), + Ps = (0, R.or)([(0, R.map)(jp, m => ["EQName", ...m]), lp, Af]), + Qs = (0, R.then)(Kj, (0, R.star)(T([V, am, V], (0, R.then)(Ps, (0, R.preceded)(V, de), (m, r) => [m, r]))), (m, r) => r.reduce((B, X) => ["arrowExpr", ["argExpr", B], X[0], ["arguments", ...X[1]]], m)), + Rs = (0, R.then)(Qs, (0, R.optional)(T([V, fm, W, em, mp, V], iq)), (m, r) => null !== r ? ["castExpr", ["argExpr", m], r] : m), + Ss = (0, R.then)(Rs, (0, R.optional)(T([V, gm, W, em, mp, V], iq)), (m, r) => null !== r ? ["castableExpr", ["argExpr", m], r] : m), + Ts = (0, R.then)(Ss, (0, R.optional)(T([V, hm, W, em, mp, V], gb)), (m, r) => null !== r ? ["treatExpr", ["argExpr", m], ["sequenceType", ...r]] : m), + Us = (0, R.then)(Ts, (0, R.optional)(T([V, im, W, jm, mp, V], gb)), (m, r) => null !== r ? ["instanceOfExpr", ["argExpr", m], ["sequenceType", ...r]] : m), + Vs = c(Us, (0, R.followed)((0, R.or)([Vk([tm], "intersectOp"), Vk([um], "exceptOp")]), mp), b), + Ws = c(Vs, (0, R.or)([Vk([Ll], "unionOp"), (0, R.followed)(Vk([vm], "unionOp"), mp)]), b), + Xs = c(Ws, (0, R.or)([Vk([Dl], "multiplyOp"), (0, R.followed)(Vk([Am], "divOp"), mp), (0, R.followed)(Vk([Bm], "idivOp"), mp), (0, R.followed)(Vk([Cm], "modOp"), mp)]), b), + Ys = c(Xs, (0, R.or)([Vk([Yl], "subtractOp"), Vk([Xl], "addOp")]), b), + Zs = d(Ys, (0, R.followed)(Vk([wm], "rangeSequenceExpr"), mp), "startExpr", "endExpr"), + $s = c(Zs, Vk([Ml], "stringConcatenateOp"), b), + at = d($s, (0, R.or)([Sp, Tp, Up])), + bt = c(at, (0, R.followed)(Vk([zm], "andOp"), mp), b), + Jr = c(bt, (0, R.followed)(Vk([ym], "orOp"), mp), b), + ct = e((0, R.map)(l, m => ["ifClause", m])), + dt = e((0, R.map)(k, m => ["thenClause", m])), + et = e((0, R.map)(k, m => ["elseClause", m])), + Dr = (0, R.then)((0, R.then)(T([Mm, V, bl, V], ct), T([V, cl, V, Nm, mp, V], dt), (m, r) => [m, r]), T([V, Om, mp, V], et), (m, r) => ["ifThenElseExpr", m[0], m[1], r]), + ft = (0, R.delimited)(Pm, W, Qm), + gt = (0, R.map)(T([Rm, W, Fl], jp), m => ["positionalVariableBinding", ...m]), + ht = Tk((0, R.preceded)(Fl, (0, R.cut)(jp)), (0, R.cut)((0, R.preceded)(V, (0, R.optional)(Ac))), (0, R.cut)((0, R.preceded)(V, (0, R.optional)(ft))), (0, R.cut)((0, R.preceded)(V, (0, R.optional)(gt))), (0, R.cut)((0, R.preceded)(S(Sm, V), k)), (m, r, B, X, ea) => ["forClauseItem", ["typedVariableBinding", ["varName", ...m, ...(r ? [r] : [])]], ...(B ? [["allowingEmpty"]] : []), ...(X ? [X] : []), ["forExpr", ea]]), + it = T([Tm, W], c(ht, Ul, (m, r) => ["forClause", m, ...r.map(B => B[1])])), + jt = Rk((0, R.preceded)(Fl, jp), (0, R.preceded)(V, (0, R.optional)(Ac)), (0, R.preceded)(S(zl, V), k), (m, r, B) => ["letClauseItem", ["typedVariableBinding", ["varName", ...m], ...(r ? [r] : [])], ["letExpr", B]]), + kt = (0, R.map)(T([Um, V], c(jt, Ul, (m, r) => [m, ...r.map(B => B[1])])), m => ["letClause", ...m]), + Lj = (0, R.or)([it, kt]), + lt = (0, R.map)(T([Vm, mp, V], k), m => ["whereClause", m]), + mt = (0, R.map)((0, R.preceded)(Fl, jp), m => ["varName", ...m]), + nt = (0, R.then)((0, R.preceded)(V, (0, R.optional)(Ac)), (0, R.preceded)(S(zl, V), k), (m, r) => ["groupVarInitialize", ...(m ? [["typeDeclaration", ...m]] : []), ["varValue", r]]), + ot = Rk(mt, (0, R.optional)(nt), (0, R.optional)((0, R.map)((0, R.preceded)(S(Wm, V), u), m => ["collation", m])), (m, r, B) => ["groupingSpec", m, ...(r ? [r] : []), ...(B ? [B] : [])]), + pt = c(ot, Ul, (m, r) => [m, ...r.map(B => B[1])]), + qt = (0, R.map)(T([Xm, W, Ym, V], pt), m => ["groupByClause", ...m]), + rt = Rk((0, R.optional)((0, R.or)([jo, ko])), (0, R.optional)(T([V, Qm, V], (0, R.or)([un, vn].map(m => (0, R.map)(m, r => "empty " + r))))), (0, R.preceded)(V, (0, R.optional)(T([Wm, V], u))), (m, r, B) => m || r || B ? ["orderModifier", ...(m ? [["orderingKind", m]] : []), ...(r ? [["emptyOrderingMode", r]] : []), ...(B ? [["collation", B]] : [])] : null), + st = (0, R.then)(k, (0, R.preceded)(V, rt), (m, r) => ["orderBySpec", ["orderByExpr", m], ...(r ? [r] : [])]), + tt = c(st, Ul, (m, r) => [m, ...r.map(B => B[1])]), + ut = (0, R.then)((0, R.or)([(0, R.map)(T([Zm, W], Ym), () => !1), (0, R.map)(T([$m, W, Zm, W], Ym), () => !0)]), (0, R.preceded)(V, tt), (m, r) => ["orderByClause", ...(m ? [["stable"]] : []), ...r]), + vt = (0, R.or)([Lj, lt, qt, ut]), + wt = (0, R.map)(T([an, V], k), m => ["returnClause", m]), + zr = Rk(Lj, (0, R.cut)((0, R.star)((0, R.preceded)(V, vt))), (0, R.cut)((0, R.preceded)(V, wt)), (m, r, B) => ["flworExpr", m, ...r, B]), + xt = c(gb, Ll, (m, r) => 0 === r.length ? ["sequenceType", ...m] : ["sequenceTypeUnion", ["sequenceType", ...m], ...r.map(B => ["sequenceType", ...B[1]])]), + yt = Rk(T([yn, V], (0, R.optional)((0, R.preceded)(Fl, (0, R.followed)((0, R.followed)(jp, W), em)))), (0, R.preceded)(V, xt), T([W, an, W], k), (m, r, B) => ["typeswitchExprCaseClause"].concat(m ? [["variableBinding", ...m]] : [], [r], [["resultExpr", B]])), + Cr = Sk((0, R.preceded)(zn, S((0, R.delimited)(bl, S(l, V), cl), V)), (0, R.plus)((0, R.followed)(yt, V)), T([nn, W], (0, R.optional)((0, R.preceded)(Fl, (0, R.followed)(jp, W)))), T([an, W], k), (m, r, B, X) => ["typeswitchExpr", ["argExpr", m], ...r, ["typeswitchExprDefaultClause", ...(B || []), ["resultExpr", X]]]), + zt = Rk((0, R.preceded)(Fl, jp), (0, R.optional)((0, R.preceded)(W, Ac)), (0, R.preceded)(S(Sm, W), k), (m, r, B) => ["quantifiedExprInClause", ["typedVariableBinding", ["varName", ...m], ...(r ? [r] : [])], ["sourceExpr", B]]), + At = c(zt, Ul, (m, r) => [m, ...r.map(B => B[1])]), + Ar = Rk((0, R.or)([An, Bn]), (0, R.preceded)(W, At), (0, R.preceded)(S(Cn, V), k), (m, r, B) => ["quantifiedExpr", ["quantifier", m], ...r, ["predicateExpr", B]]), + Fr = (0, R.map)(T([mm, W, (0, R.or)([lm, km]), W], k), m => ["deleteExpr", ["targetExpr", m]]), + Hr = Rk(T([Dn, W], (0, R.optional)(T([nm, W, jm], W))), T([km, W], k), (0, R.preceded)(S(En, W), k), (m, r, B) => m ? ["replaceExpr", ["replaceValue"], ["targetExpr", r], ["replacementExpr", B]] : ["replaceExpr", ["targetExpr", r], ["replacementExpr", B]]), + Bt = (0, R.then)(lp, (0, R.preceded)(S(zl, V), k), (m, r) => ["transformCopy", m, ["copySource", r]]), + Ir = Rk(T([Fn, W], c(Bt, Ul, (m, r) => [m, ...r.map(B => B[1])])), T([V, Gn, W], k), (0, R.preceded)(S(an, W), k), (m, r, B) => ["transformExpr", ["transformCopies", ...m], ["modifyExpr", r], ["returnExpr", B]]), + Ct = (0, R.or)([(0, R.followed)((0, R.map)((0, R.optional)((0, R.followed)(T([em, W], (0, R.or)([(0, R.map)(Hn, () => ["insertAsFirst"]), (0, R.map)(In, () => ["insertAsLast"])])), W)), m => m ? ["insertInto", m] : ["insertInto"]), Ln), (0, R.map)(Kn, () => ["insertAfter"]), (0, R.map)(Jn, () => ["insertBefore"])]), + Er = Rk(T([Mn, W, (0, R.or)([lm, km]), W], k), (0, R.preceded)(W, Ct), (0, R.preceded)(W, k), (m, r, B) => ["insertExpr", ["sourceExpr", m], r, ["targetExpr", B]]), + Gr = (0, R.then)(T([Nn, W, km, V], k), T([W, em, W], k), (m, r) => ["renameExpr", ["targetExpr", m], ["newNameExpr", r]]), + Dt = (0, R.then)((0, R.plus)((0, R.then)((0, R.map)(T([yn, W], (0, R.cut)(k)), m => ["switchCaseExpr", m]), (0, R.cut)(W), m => m)), (0, R.cut)(T([an, W], (0, R.cut)(k))), (m, r) => ["switchExprCaseClause", ...m, ["resultExpr", r]]), + Br = Rk(T([On, V, bl], (0, R.cut)(l)), (0, R.cut)(T([V, cl, (0, R.cut)(V)], (0, R.plus)((0, R.followed)(Dt, V)))), (0, R.cut)(T([nn, W, an, W], k)), (m, r, B) => ["switchExpr", ["argExpr", m], ...r, ["switchExprDefaultClause", ["resultExpr", B]]]), + Et = (0, R.map)(l, m => ["queryBody", m]), + Ft = T([mn, W, dn, W], (0, R.cut)((0, R.then)(ap, (0, R.preceded)(S(Jl, V), u), (m, r) => ["namespaceDecl", ["prefix", m], ["uri", r]]))), + Gt = (0, R.then)(T([Pn, W, Fl, V], (0, R.then)(jp, (0, R.optional)((0, R.preceded)(V, Ac)), (m, r) => [m, r])), (0, R.cut)((0, R.or)([(0, R.map)(T([V, zl, V], k), m => ["varValue", m]), (0, R.map)(T([W, Qn], (0, R.optional)(T([V, zl, V], k))), m => ["external", ...(m ? [["varValue", m]] : [])])])), ([m, r], B) => ["varDecl", ["varName", ...m], ...(null !== r ? [r] : []), B]), + Ht = Sk(T([om, W, (0, R.cut)((0, R.peek)((0, R.not)((0, R.followed)(Dp, (0, R.not)(Bl, [""])), ["Cannot use reserved function name"])))], jp), (0, R.cut)(T([V, bl, V], (0, R.optional)(Ej))), (0, R.cut)(T([V, cl], (0, R.optional)(T([W, em, W], gb)))), (0, R.cut)((0, R.preceded)(V, (0, R.or)([(0, R.map)(Dj, m => ["functionBody", m]), (0, R.map)(Qn, () => ["externalDefinition"])]))), (m, r, B, X) => ["functionDecl", ["functionName", ...m], ["paramList", ...(r || [])], ...(B ? [["typeDeclaration", ...B]] : []), X]), + It = T([mn, W], (0, R.then)((0, R.star)((0, R.followed)((0, R.or)([Bf, Vp]), W)), (0, R.or)([Gt, Ht]), (m, r) => [r[0], ...m, ...r.slice(1)])), + Jt = (0, R.then)(T([mn, W, nn, W], (0, R.or)([qm, om])), T([W, dn, W], u), (m, r) => ["defaultNamespaceDecl", ["defaultNamespaceCategory", m], ["uri", r]]), + Kt = (0, R.or)([(0, R.map)((0, R.followed)(T([dn, W], ap), (0, R.preceded)(V, Jl)), m => ["namespacePrefix", m]), (0, R.map)(T([nn, W, qm, W], dn), () => ["defaultElementNamespace"])]), + Lt = T([Sn, W, Tn], Rk((0, R.optional)((0, R.preceded)(W, Kt)), (0, R.preceded)(V, u), (0, R.optional)((0, R.then)(T([W, Rm, W], u), (0, R.star)(T([V, Ul, V], u)), (m, r) => [m, ...r])), (m, r, B) => ["schemaImport", ...(m ? [m] : []), ["targetNamespace", r], ...(B ? [B] : [])])), + Mt = T([Sn, W, Un], Rk((0, R.optional)((0, R.followed)(T([W, dn, W], ap), (0, R.preceded)(V, Jl))), (0, R.preceded)(V, u), (0, R.optional)((0, R.then)(T([W, Rm, W], u), (0, R.star)(T([V, Ul, V], u)), (m, r) => [m, ...r])), (m, r) => ["moduleImport", ["namespacePrefix", m], ["targetNamespace", r]])), + Nt = (0, R.or)([Lt, Mt]), + Ot = (0, R.map)(T([mn, W, nn, W, Wm, W], u), m => ["defaultCollationDecl", m]), + Pt = (0, R.map)(T([mn, W, Vn, W], u), m => ["baseUriDecl", m]), + Qt = (0, R.then)(T([mn, W], (0, R.or)([(0, R.map)(T([xn, W], jp), m => ["decimalFormatName", ...m]), (0, R.map)(T([nn, W], xn), () => null)])), (0, R.star)((0, R.then)((0, R.preceded)(W, Yp), (0, R.preceded)(S(Jl, W), u), (m, r) => ["decimalFormatParam", ["decimalFormatParamName", m], ["decimalFormatParamValue", r]])), (m, r) => ["decimalFormatDecl", ...(m ? [m] : []), ...r]), + Rt = (0, R.or)([Zp, Ot, Pt, $p, aq, bq, cq, Qt]), + St = (0, R.then)(T([mn, W, $n, W], jp), (0, R.preceded)(W, u), (m, r) => ["optionDecl", ["optionName", m], ["optionContents", r]]), + Tt = (0, R.then)(T([mn, W, ao, W, bo], (0, R.optional)(T([W, em], Bj))), (0, R.or)([(0, R.map)((0, R.preceded)(S(zl, V), k), m => ["varValue", m]), (0, R.map)(T([W, Qn], (0, R.optional)((0, R.preceded)(S(zl, V), k))), () => ["external"])]), (m, r) => ["contextItemDecl", ...(m ? [["contextItemType", m]] : []), r]), + Mj = (0, R.then)((0, R.star)((0, R.followed)((0, R.or)([Jt, Rt, Ft, Nt]), (0, R.cut)(S(Cl, V)))), (0, R.star)((0, R.followed)((0, R.or)([Tt, It, St]), (0, R.cut)(S(Cl, V)))), (m, r) => 0 === m.length && 0 === r.length ? null : ["prolog", ...m, ...r]), + Ut = T([Un, W, dn, W], (0, R.then)((0, R.followed)(ap, S(Jl, V)), (0, R.followed)(u, S(Cl, V)), (m, r) => ["moduleDecl", ["prefix", m], ["uri", r]])), + Vt = (0, R.then)(Ut, (0, R.preceded)(V, Mj), (m, r) => ["libraryModule", m, ...(r ? [r] : [])]), + Wt = (0, R.then)(Mj, (0, R.preceded)(V, Et), (m, r) => ["mainModule", ...(m ? [m] : []), r]), + Xt = (0, R.map)(T([co, V], (0, R.followed)((0, R.or)([(0, R.then)((0, R.preceded)(fo, W), u, m => ["encoding", m]), (0, R.then)(T([eo, W], u), (0, R.optional)(T([W, fo, W], u)), (m, r) => [["version", m], ...(r ? [["encoding", r]] : [])])]), (0, R.preceded)(V, Cl))), m => ["versionDecl", ...m]), + Yt = (0, R.then)((0, R.optional)(S(Xt, V)), (0, R.or)([Vt, Wt]), (m, r) => ["module", ...(m ? [m] : []), r]), + Zt = (0, R.complete)(S(Yt, V)); + return (m, r) => { + n.clear(); + r = Zt(m, r); + let B = 1, + X = 1; + for (let ea = 0; ea < m.length + 1; ea++) { + if (n.has(ea)) { + const Fa = n.get(ea); + Fa.line = X; + Fa.ha = B; + } + "\n" === m[ea] ? (X++, B = 1) : B++; + } + return r; + }; + } + const mq = lq({ + mb: !1, + Za: !1 + }), + nq = lq({ + mb: !0, + Za: !1 + }), + oq = lq({ + mb: !1, + Za: !0 + }), + pq = lq({ + mb: !0, + Za: !0 + }); + function qq(a, b) { + var c = !!b.Z; + b = !!b.debug; + So.clear(); + To.clear(); + kq.clear(); + c = c ? b ? pq(a, 0) : oq(a, 0) : b ? nq(a, 0) : mq(a, 0); + if (!0 === c.success) return c.value; + a = a.substring(0, c.offset).split("\n"); + b = a[a.length - 1].length + 1; + throw new Rh({ + start: { + offset: c.offset, + line: a.length, + ha: b + }, + end: { + offset: c.offset + 1, + line: a.length, + ha: b + 1 + } + }, "", "", Error(`XPST0003: Failed to parse script. Expected ${[...new Set(c.expected)]}`)); + } + const rq = "http://www.w3.org/XML/1998/namespace http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema-instance http://www.w3.org/2005/xpath-functions http://www.w3.org/2005/xpath-functions/math http://www.w3.org/2012/xquery http://www.w3.org/2005/xpath-functions/array http://www.w3.org/2005/xpath-functions/map".split(" "); + function sq(a, b, c, d, e) { + var f = F(a, "functionName"), + h = I(f, "prefix") || ""; + let k = I(f, "URI"); + const l = H(f); + if (null === k && (k = "" === h ? null === b.v ? "http://www.w3.org/2005/xpath-functions" : b.v : b.$(h), !k && h)) throw zg(h); + if (rq.includes(k)) throw tg(); + h = K(a, "annotation").map(y => F(y, "annotationName")); + f = h.every(y => !I(y, "URI") && "private" !== H(y)); + h = h.some(y => !I(y, "URI") && "updating" === H(y)); + if (!k) throw vg(); + const n = Lg(a), + t = K(F(a, "paramList"), "param"), + u = t.map(y => F(y, "varName")), + z = t.map(y => Lg(y)); + if (a = F(a, "functionBody")) { + if (b.va(k, l, z.length)) throw ug(k, l); + if (!e) return; + const y = Fk(a[1], { + sa: !1, + Z: !0 + }), + G = new Cg(b), + N = u.map(U => { + let ca = I(U, "URI"); + const Ga = I(U, "prefix"); + U = H(U); + Ga && null === ca && (ca = b.$(Ga || "")); + return Hg(G, ca, U); + }); + e = h ? { + j: z, + arity: u.length, + callFunction: (U, ca, Ga, ...Gb) => { + U = hc(bc(U, -1, null, w.empty()), N.reduce((Xb, fd, Yb) => { + Xb[fd] = Ra(Gb[Yb]); + return Xb; + }, Object.create(null))); + return y.s(U, ca); + }, + wb: !1, + I: !0, + cb: f, + localName: l, + namespaceURI: k, + i: n + } : { + j: z, + arity: u.length, + callFunction: (U, ca, Ga, ...Gb) => { + U = hc(bc(U, -1, null, w.empty()), N.reduce((Xb, fd, Yb) => { + Xb[fd] = Ra(Gb[Yb]); + return Xb; + }, Object.create(null))); + return C(y, U, ca); + }, + wb: !1, + I: !1, + cb: f, + localName: l, + namespaceURI: k, + i: n + }; + c.push({ + ba: y, + Eb: G + }); + d.push({ + arity: u.length, + ba: y, + Ab: e, + localName: l, + namespaceURI: k, + cb: f + }); + } else { + if (h) throw Error("Updating external function declarations are not supported"); + e = { + j: z, + arity: u.length, + callFunction: (y, G, N, ...U) => { + const ca = N.va(k, l, u.length, !0); + if (!ca) throw Error(`XPST0017: Function Q{${k}}${l} with arity of ${u.length} not registered. ${mg(l)}`); + if (ca.i.type !== n.type || ca.j.some((Ga, Gb) => Ga.type !== z[Gb].type)) throw Error("External function declaration types do not match actual function"); + return ca.callFunction(y, G, N, ...U); + }, + wb: !0, + I: !1, + localName: l, + namespaceURI: k, + cb: f, + i: n + }; + } + Fg(b, k, l, u.length, e); + } + function tq(a, b, c, d) { + const e = [], + f = []; + K(a, "*").forEach(t => { + switch (t[0]) { + case "moduleImport": + case "namespaceDecl": + case "defaultNamespaceDecl": + case "functionDecl": + case "varDecl": + break; + default: + throw Error("Not implemented: only module imports, namespace declarations, and function declarations are implemented in XQuery modules"); + } + }); + const h = new Set(); + K(a, "moduleImport").forEach(t => { + const u = H(F(t, "namespacePrefix")); + t = H(F(t, "targetNamespace")); + if (h.has(t)) throw Error(`XQST0047: The namespace "${t}" is imported more than once.`); + h.add(t); + Gg(b, u, t); + }); + K(a, "namespaceDecl").forEach(t => { + const u = H(F(t, "prefix")); + t = H(F(t, "uri")); + if ("xml" === u || "xmlns" === u) throw xg(); + if ("http://www.w3.org/XML/1998/namespace" === t || "http://www.w3.org/2000/xmlns/" === t) throw xg(); + Gg(b, u, t); + }); + let k = null, + l = null; + for (const t of K(a, "defaultNamespaceDecl")) { + const u = H(F(t, "defaultNamespaceCategory")), + z = H(F(t, "uri")); + if (!z) throw vg(); + if ("http://www.w3.org/XML/1998/namespace" === z || "http://www.w3.org/2000/xmlns/" === z) throw xg(); + if ("function" === u) { + if (k) throw wg(); + k = z; + } else if ("element" === u) { + if (l) throw wg(); + l = z; + } + } + k && (b.v = k); + l && Gg(b, "", l); + K(a, "functionDecl").forEach(t => { + sq(t, b, e, f, c); + }); + const n = []; + K(a, "varDecl").forEach(t => { + const u = Kg(F(t, "varName")); + let z = u.namespaceURI; + if (null === z && (z = b.$(u.prefix), !z && u.prefix)) throw zg(u.prefix); + if (rq.includes(z)) throw tg(); + var y = F(t, "external"); + t = F(t, "varValue"); + let G, N; + null !== y ? (y = F(y, "varValue"), null !== y && (G = F(y, "*"))) : null !== t && (G = F(t, "*")); + if (n.some(U => U.namespaceURI === z && U.localName === u.localName)) throw Error(`XQST0049: The variable ${z ? `Q{${z}}` : ""}${u.localName} has already been declared.`); + Hg(b, z || "", u.localName); + if (c && (G && (N = Fk(G, { + sa: !1, + Z: !0 + })), G && !Eg(b, z || "", u.localName))) { + let U = null; + Ig(b, z, u.localName, (ca, Ga) => { + if (U) return U(); + U = Ra(C(N, ca, Ga)); + return U(); + }); + e.push({ + ba: N, + Eb: new Cg(b) + }); + n.push({ + ba: N, + localName: u.localName, + namespaceURI: z + }); + } + }); + f.forEach(t => { + if (!t.Ab.I && t.ba.I) throw Oe(`The function Q{${t.namespaceURI}}${t.localName} is updating but the %updating annotation is missing.`); + }); + return { + Ia: f.map(t => t.Ab), + Ta: n, + source: d, + pa: t => { + h.forEach(u => { + Nk(b, u); + }); + e.forEach(({ + ba: u, + Eb: z + }) => { + h.forEach(y => { + Nk(z, y); + }); + t.Ia.forEach(y => { + z.va(y.namespaceURI, y.localName, y.arity, !0) || y.cb && Fg(z, y.namespaceURI, y.localName, y.arity, y); + }); + t.Ta.forEach(y => { + z.eb(y.namespaceURI, y.localName) || Hg(z, y.namespaceURI, y.localName); + }); + u.v(z); + }); + } + }; + } + function uq(a, b, c, d, e, f, h) { + const k = b.Z ? "XQuery" : "XPath"; + c = b.Ha ? null : Ik(a, k, c, d, e, b.debug, f, h); + return null !== c ? { + state: c.hc ? 1 : 2, + ba: c.ba + } : { + state: 0, + Zb: "string" === typeof a ? qq(a, b) : Kk(a) + }; + } + function vq(a, b, c, d) { + const e = F(a, "mainModule"); + if (!e) throw Error("Can not execute a library module."); + const f = F(e, "prolog"); + if (f) { + if (!b.Z) throw Error("XPST0003: Use of XQuery functionality is not allowed in XPath context"); + Ok(); + d = tq(f, c, !0, d); + d.pa(d); + } + O(a, new rh(c)); + a = J(e, ["queryBody", "*"]); + return Q(a, b); + } + function wq(a, b, c, d, e, f, h) { + const k = new qg(c, d, f, h), + l = new Cg(k); + 0 < Object.keys(e).length && Ok(); + Object.keys(e).forEach(n => { + const t = e[n]; + Nk(l, t); + Gg(l, n, t); + }); + "string" === typeof a && (a = Pk(a)); + c = uq(a, b, c, d, e, f, h); + switch (c.state) { + case 2: + return { + ga: l, + ba: c.ba + }; + case 1: + return c.ba.v(l), Jk(a, b.Z ? "XQuery" : "XPath", k, e, c.ba, b.debug, f), { + ga: l, + ba: c.ba + }; + case 0: + return c = vq(c.Zb, b, l, a), c.v(l), b.Ha || Jk(a, b.Z ? "XQuery" : "XPath", k, e, c, b.debug, f), { + ga: l, + ba: c + }; + } + } + function xq(a) { + if (v(a.type, 1)) return a.value; + if (v(a.type, 54)) return a.value.node; + throw mc(`Unable to convert selector argument of type ${Da[a.type]} to either an ${Da[1]} or an ${Da[54]} representing an XQueryX program while calling 'fontoxpath:evaluate'`); + } + function yq(a, b, c, d) { + a = a.first(); + const e = b.first().h.reduce((f, h) => { + f[h.key.value] = Ra(h.value()); + return f; + }, Object.create(null)); + b = e["."] ? e["."]() : w.empty(); + delete e["."]; + try { + const { + ba: f, + ga: h + } = wq(xq(a), { + sa: !1, + Z: !0, + debug: d.debug, + Ha: d.Ha + }, n => c.$(n), Object.keys(e).reduce((n, t) => { + n[t] = t; + return n; + }, {}), {}, "http://www.w3.org/2005/xpath-functions", (n, t) => c.Sa(n, t)), + k = !b.F(), + l = new cc({ + M: k ? b.first() : null, + Aa: k ? 0 : -1, + ta: b, + ra: Object.keys(e).reduce((n, t) => { + n[h.eb(null, t)] = e[t]; + return n; + }, Object.create(null)) + }); + return { + ic: f.h(l, d).value, + ec: a + }; + } catch (f) { + hg(a.value, f); + } + } + function zq(a, b, c) { + if (1 !== b.node.nodeType && 9 !== b.node.nodeType) return []; + const d = hb(a, b).reduce((e, f) => { + for (const h of zq(a, f, c)) e.push(h); + return e; + }, []); + c(b) && d.unshift(b); + return d; + } + const Aq = (a, b, c, d, e) => { + a = e.first(); + if (!a) throw lc("The context is absent, it needs to be present to use id function."); + if (!v(a.type, 53)) throw mc("The context item is not a node, it needs to be node to use id function."); + const f = b.h, + h = d.O().reduce((k, l) => { + l.value.split(/\s+/).forEach(n => { + k[n] = !0; + }); + return k; + }, Object.create(null)); + for (b = a.value; 9 !== b.node.nodeType;) if (b = x(f, b), null === b) throw Error("FODC0001: the root node of the target node is not a document node."); + b = zq(f, b, k => { + if (1 !== k.node.nodeType) return !1; + k = fb(f, k, "id"); + if (!k || !h[k]) return !1; + h[k] = !1; + return !0; + }); + return w.create(b.map(k => rb(k))); + }, + Bq = (a, b, c, d, e) => { + a = e.first(); + if (!a) throw lc("The context is absent, it needs to be present to use idref function."); + if (!v(a.type, 53)) throw mc("The context item is not a node, it needs to be node to use idref function."); + const f = b.h, + h = d.O().reduce((k, l) => { + k[l.value] = !0; + return k; + }, Object.create(null)); + for (b = a.value; 9 !== b.node.nodeType;) if (b = x(f, b), null === b) throw Error("FODC0001: the root node of the context node is not a document node."); + b = zq(f, b, k => 1 !== k.node.nodeType ? !1 : (k = fb(f, k, "idref")) ? k.split(/\s+/).some(l => h[l]) : !1); + return w.create(b.map(k => rb(k))); + }; + function Cq(a) { + switch (typeof a) { + case "object": + return Array.isArray(a) ? w.m(new pb(a.map(b => Ra(Cq(b))))) : null === a ? w.empty() : w.m(new ub(Object.keys(a).map(b => ({ + key: g(b, 1), + value: Ra(Cq(a[b])) + })))); + case "number": + return w.m(g(a, 3)); + case "string": + return w.m(g(a, 1)); + case "boolean": + return a ? w.aa() : w.T(); + default: + throw Error("Unexpected type in JSON parse"); + } + } + const Dq = (a, b, c, d, e) => { + const f = w.m(g("duplicates", 1)); + a = tb(a, b, c, e, f); + const h = a.F() ? "use-first" : a.first().value; + return d.N(k => w.m(new ub(k.reduce((l, n) => { + n.h.forEach(t => { + const u = l.findIndex(z => sb(z.key, t.key)); + if (0 <= u) switch (h) { + case "reject": + throw Error("FOJS0003: Duplicate encountered when merging maps."); + case "use-last": + l.splice(u, 1, t); + return; + case "combine": + l.splice(u, 1, { + key: t.key, + value: Ra(w.create(l[u].value().O().concat(t.value().O()))) + }); + return; + default: + return; + } + l.push(t); + }); + return l; + }, [])))); + }; + function Eq(a, b, c) { + let d = 1; + const e = a.value; + a = a.Pa(!0); + let f = null; + const h = Math.max(b - 1, 0); + -1 !== a && (f = Math.max(0, (null === c ? a : Math.max(0, Math.min(a, c + (b - 1)))) - h)); + return w.create({ + next: k => { + for (; d < b;) e.next(k), d++; + if (null !== c && d >= b + c) return p; + k = e.next(k); + d++; + return k; + } + }, f); + } + function Fq(a) { + return a.map(b => v(b.type, 19) ? jd(b, 3) : b); + } + function Gq(a) { + a = Fq(a); + if (a.some(b => Number.isNaN(b.value))) return [g(NaN, 3)]; + a = Ji(a); + if (!a) throw Error("FORG0006: Incompatible types to be converted to a common type"); + return a; + } + const Hq = (a, b, c, d, e, f) => A([e, f], ([h, k]) => { + if (Infinity === h.value) return w.empty(); + if (-Infinity === h.value) return k && Infinity === k.value ? w.empty() : d; + if (k) { + if (isNaN(k.value)) return w.empty(); + Infinity === k.value && (k = null); + } + return isNaN(h.value) ? w.empty() : Eq(d, Math.round(h.value), k ? Math.round(k.value) : null); + }), + Iq = (a, b, c, d, e) => { + if (d.F()) return e; + a = Fq(d.O()); + a = Ji(a); + if (!a) throw Error("FORG0006: Incompatible types to be converted to a common type"); + if (!a.every(f => v(f.type, 2))) throw Error("FORG0006: items passed to fn:sum are not all numeric."); + b = a.reduce((f, h) => f + h.value, 0); + return a.every(f => v(f.type, 5)) ? w.m(g(b, 5)) : a.every(f => v(f.type, 3)) ? w.m(g(b, 3)) : a.every(f => v(f.type, 4)) ? w.m(g(b, 4)) : w.m(g(b, 6)); + }; + var Jq = [].concat(Nf, [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "boolean", + j: [{ + type: 59, + g: 2 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d) => d.fa() ? w.aa() : w.T() + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "true", + j: [], + i: { + type: 0, + g: 3 + }, + callFunction: () => w.aa() + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "not", + j: [{ + type: 59, + g: 2 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d) => !1 === d.fa() ? w.aa() : w.T() + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "false", + j: [], + i: { + type: 0, + g: 3 + }, + callFunction: () => w.T() + }], [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "last", + j: [], + i: { + type: 5, + g: 3 + }, + callFunction: a => { + if (null === a.M) throw lc("The fn:last() function depends on dynamic context, which is absent."); + let b = !1; + return w.create({ + next: () => { + if (b) return p; + const c = a.ta.Pa(); + b = !0; + return q(g(c, 5)); + } + }, 1); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "position", + j: [], + i: { + type: 5, + g: 3 + }, + callFunction: a => { + if (null === a.M) throw lc("The fn:position() function depends on dynamic context, which is absent."); + return w.m(g(a.Aa + 1, 5)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "current-dateTime", + j: [], + i: { + type: 10, + g: 3 + }, + callFunction: a => w.m(g(ec(a), 10)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "current-date", + j: [], + i: { + type: 7, + g: 3 + }, + callFunction: a => w.m(g(Lb(ec(a), 7), 7)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "current-time", + j: [], + i: { + type: 8, + g: 3 + }, + callFunction: a => w.m(g(Lb(ec(a), 8), 8)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "implicit-timezone", + j: [], + i: { + type: 17, + g: 3 + }, + callFunction: a => w.m(g(fc(a), 17)) + }], Of, Wf, cg, [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "years-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.bb(), 5)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "months-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.ab(), 5)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "days-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.$a(), 5)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "hours-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getHours(), 5)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "minutes-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 5, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getMinutes(), 5)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "seconds-from-duration", + j: [{ + type: 18, + g: 0 + }], + i: { + type: 4, + g: 0 + }, + callFunction: (a, b, c, d) => d.F() ? d : w.m(g(d.first().value.getSeconds(), 4)) + }], eg, [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "id", + j: [{ + type: 1, + g: 2 + }, { + type: 53, + g: 3 + }], + i: { + type: 54, + g: 2 + }, + callFunction: Aq + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "id", + j: [{ + type: 1, + g: 2 + }], + i: { + type: 54, + g: 2 + }, + callFunction(a, b, c, d) { + return Aq(a, b, c, d, w.m(a.M)); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "idref", + j: [{ + type: 1, + g: 2 + }, { + type: 53, + g: 3 + }], + i: { + type: 53, + g: 2 + }, + callFunction: Bq + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "idref", + j: [{ + type: 1, + g: 2 + }], + i: { + type: 53, + g: 2 + }, + callFunction(a, b, c, d) { + return Bq(a, b, c, d, w.m(a.M)); + } + }], [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "parse-json", + j: [{ + type: 1, + g: 3 + }], + i: { + type: 59, + g: 0 + }, + callFunction: (a, b, c, d) => { + let e; + try { + e = JSON.parse(d.first().value); + } catch (f) { + throw Error("FOJS0001: parsed JSON string contains illegal JSON."); + } + return Cq(e); + } + }], [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "contains", + j: [{ + type: 61, + g: 3 + }, { + type: 46, + g: 3 + }], + i: { + type: 0, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => f.h.some(k => sb(k.key, h)) ? w.aa() : w.T()) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "entry", + j: [{ + type: 46, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 61, + g: 3 + }, + callFunction: (a, b, c, d, e) => d.map(f => new ub([{ + key: f, + value: Ra(e) + }])) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "for-each", + j: [{ + type: 61, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 59, + g: 2 + }, + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => jc(f.h.map(k => h.value.call(void 0, a, b, c, w.m(k.key), k.value())))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "get", + j: [{ + type: 61, + g: 3 + }, { + type: 46, + g: 3 + }], + i: { + type: 59, + g: 2 + }, + callFunction: tb + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "keys", + j: [{ + type: 61, + g: 3 + }], + i: { + type: 46, + g: 2 + }, + callFunction: (a, b, c, d) => A([d], ([e]) => w.create(e.h.map(f => f.key))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "merge", + j: [{ + type: 61, + g: 2 + }, { + type: 61, + g: 3 + }], + i: { + type: 61, + g: 3 + }, + callFunction: Dq + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "merge", + j: [{ + type: 61, + g: 2 + }], + i: { + type: 61, + g: 3 + }, + callFunction(a, b, c, d) { + return Dq(a, b, c, d, w.m(new ub([{ + key: g("duplicates", 1), + value: () => w.m(g("use-first", 1)) + }]))); + } + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "put", + j: [{ + type: 61, + g: 3 + }, { + type: 46, + g: 3 + }, { + type: 59, + g: 2 + }], + i: { + type: 61, + g: 3 + }, + callFunction: (a, b, c, d, e, f) => A([d, e], ([h, k]) => { + h = h.h.concat(); + const l = h.findIndex(n => sb(n.key, k)); + 0 <= l ? h.splice(l, 1, { + key: k, + value: Ra(f) + }) : h.push({ + key: k, + value: Ra(f) + }); + return w.m(new ub(h)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "remove", + j: [{ + type: 61, + g: 3 + }, { + type: 46, + g: 2 + }], + i: { + type: 61, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d], ([f]) => { + const h = f.h.concat(); + return e.N(k => { + k.forEach(l => { + const n = h.findIndex(t => sb(t.key, l)); + 0 <= n && h.splice(n, 1); + }); + return w.m(new ub(h)); + }); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/map", + localName: "size", + j: [{ + type: 61, + g: 3 + }], + i: { + type: 5, + g: 3 + }, + callFunction: (a, b, c, d) => d.map(e => g(e.h.length, 5)) + }], [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "pi", + j: [], + i: { + type: 3, + g: 3 + }, + callFunction: () => w.m(g(Math.PI, 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "exp", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.pow(Math.E, e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "exp10", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.pow(10, e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "log", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.log(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "log10", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.log10(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "pow", + j: [{ + type: 3, + g: 0 + }, { + type: 2, + g: 3 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d, e) => e.N(([f]) => d.map(h => 1 !== Math.abs(h.value) || Number.isFinite(f.value) ? g(Math.pow(h.value, f.value), 3) : g(1, 3))) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "sqrt", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.sqrt(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "sin", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.sin(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "cos", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.cos(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "tan", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.tan(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "asin", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.asin(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "acos", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.acos(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "atan", + j: [{ + type: 3, + g: 0 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(Math.atan(e.value), 3)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions/math", + localName: "atan2", + j: [{ + type: 3, + g: 0 + }, { + type: 3, + g: 3 + }], + i: { + type: 3, + g: 0 + }, + callFunction: (a, b, c, d, e) => e.N(([f]) => d.map(h => g(Math.atan2(h.value, f.value), 3))) + }], Ae, Yd, [{ + namespaceURI: "http://fontoxpath/operators", + localName: "to", + j: [{ + type: 5, + g: 0 + }, { + type: 5, + g: 0 + }], + i: { + type: 5, + g: 2 + }, + callFunction: (a, b, c, d, e) => { + a = d.first(); + e = e.first(); + if (null === a || null === e) return w.empty(); + let f = a.value; + e = e.value; + return f > e ? w.empty() : w.create({ + next: () => q(g(f++, 5)) + }, e - f + 1); + } + }], [{ + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "QName", + j: [{ + type: 1, + g: 0 + }, { + type: 1, + g: 3 + }], + i: { + type: 23, + g: 3 + }, + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + h = h.value; + if (!tc(h, 23)) throw Error("FOCA0002: The provided QName is invalid."); + f = f ? f.value || null : null; + if (null === f && h.includes(":")) throw Error("FOCA0002: The URI of a QName may not be empty if a prefix is provided."); + if (d.F()) return w.m(g(new Sa("", null, h), 23)); + if (!h.includes(":")) return w.m(g(new Sa("", f, h), 23)); + const [k, l] = h.split(":"); + return w.m(g(new Sa(k, f, l), 23)); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "prefix-from-QName", + j: [{ + type: 23, + g: 0 + }], + i: { + type: 24, + g: 0 + }, + callFunction: (a, b, c, d) => A([d], ([e]) => { + if (null === e) return w.empty(); + e = e.value; + return e.prefix ? w.m(g(e.prefix, 24)) : w.empty(); + }) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "local-name-from-QName", + j: [{ + type: 23, + g: 0 + }], + i: { + type: 24, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(e.value.localName, 24)) + }, { + namespaceURI: "http://www.w3.org/2005/xpath-functions", + localName: "namespace-uri-from-QName", + j: [{ + type: 23, + g: 0 + }], + i: { + type: 20, + g: 0 + }, + callFunction: (a, b, c, d) => d.map(e => g(e.value.namespaceURI || "", 20)) + }], [{ + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => d.X({ + empty: () => w.aa(), + multiple: () => w.T(), + m: () => w.T() + }), + localName: "empty", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => d.X({ + empty: () => w.T(), + multiple: () => w.aa(), + m: () => w.aa() + }), + localName: "exists", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => Eq(d, 1, 1), + localName: "head", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 0 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => Eq(d, 2, null), + localName: "tail", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 5, + g: 3 + }, { + type: 59, + g: 2 + }], + callFunction: (a, b, c, d, e, f) => { + if (d.F()) return f; + if (f.F()) return d; + a = d.O(); + e = e.first().value - 1; + 0 > e ? e = 0 : e > a.length && (e = a.length); + b = a.slice(e); + return w.create(a.slice(0, e).concat(f.O(), b)); + }, + localName: "insert-before", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 5, + g: 3 + }], + callFunction: (a, b, c, d, e) => { + a = e.first().value; + d = d.O(); + if (!d.length || 1 > a || a > d.length) return w.create(d); + d.splice(a - 1, 1); + return w.create(d); + }, + localName: "remove", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => d.N(e => w.create(e.reverse())), + localName: "reverse", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 3, + g: 3 + }], + callFunction: (a, b, c, d, e) => Hq(a, b, c, d, e, w.empty()), + localName: "subsequence", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 3, + g: 3 + }, { + type: 3, + g: 3 + }], + callFunction: Hq, + localName: "subsequence", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => d, + localName: "unordered", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 46, + g: 2 + }], + callFunction: (a, b, c, d) => { + const e = qc(d, b).O(); + return w.create(e).filter((f, h) => e.slice(0, h).every(k => !De(f, k))); + }, + localName: "distinct-values", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 2 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 1, + g: 3 + }], + callFunction() { + throw Error("FOCH0002: No collations are supported"); + }, + localName: "distinct-values", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 2 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 46, + g: 3 + }], + callFunction: (a, b, c, d, e) => e.N(([f]) => qc(d, b).map((h, k) => pi("eqOp", h.type, f.type)(h, f, a) ? g(k + 1, 5) : g(-1, 5)).filter(h => -1 !== h.value)), + localName: "index-of", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 5, + g: 2 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 46, + g: 3 + }, { + type: 1, + g: 3 + }], + callFunction() { + throw Error("FOCH0002: No collations are supported"); + }, + localName: "index-of", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 5, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 59, + g: 2 + }], + callFunction: (a, b, c, d, e) => { + let f = !1; + const h = Ge(a, b, c, d, e); + return w.create({ + next: () => { + if (f) return p; + const k = h.next(0); + if (k.done) return k; + f = !0; + return q(g(k.value, 0)); + } + }); + }, + localName: "deep-equal", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 59, + g: 2 + }, { + type: 1, + g: 3 + }], + callFunction() { + throw Error("FOCH0002: No collations are supported"); + }, + localName: "deep-equal", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 0, + g: 3 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => { + let e = !1; + return w.create({ + next: () => { + if (e) return p; + const f = d.Pa(); + e = !0; + return q(g(f, 5)); + } + }); + }, + localName: "count", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 5, + g: 3 + } + }, { + j: [{ + type: 46, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (d.F()) return d; + a = Fq(d.O()); + a = Ji(a); + if (!a) throw Error("FORG0006: Incompatible types to be converted to a common type"); + if (!a.every(e => v(e.type, 2))) throw Error("FORG0006: items passed to fn:avg are not all numeric."); + b = a.reduce((e, f) => e + f.value, 0) / a.length; + return a.every(e => v(e.type, 5) || v(e.type, 3)) ? w.m(g(b, 3)) : a.every(e => v(e.type, 4)) ? w.m(g(b, 4)) : w.m(g(b, 6)); + }, + localName: "avg", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 46, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (d.F()) return d; + a = Gq(d.O()); + return w.m(a.reduce((e, f) => e.value < f.value ? f : e)); + }, + localName: "max", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 1, + g: 3 + }], + callFunction() { + throw Error("FOCH0002: No collations are supported"); + }, + localName: "max", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 46, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (d.F()) return d; + a = Gq(d.O()); + return w.m(a.reduce((e, f) => e.value > f.value ? f : e)); + }, + localName: "min", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 1, + g: 3 + }], + callFunction() { + throw Error("FOCH0002: No collations are supported"); + }, + localName: "min", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 46, + g: 2 + }], + callFunction: (a, b, c, d) => Iq(a, b, c, d, w.m(g(0, 5))), + localName: "sum", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 3 + } + }, { + j: [{ + type: 46, + g: 2 + }, { + type: 46, + g: 0 + }], + callFunction: Iq, + localName: "sum", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 46, + g: 0 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (!d.F() && !d.oa()) throw Error("FORG0003: The argument passed to fn:zero-or-one contained more than one item."); + return d; + }, + localName: "zero-or-one", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 0 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (d.F()) throw Error("FORG0004: The argument passed to fn:one-or-more was empty."); + return d; + }, + localName: "one-or-more", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 1 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (!d.oa()) throw Error("FORG0005: The argument passed to fn:exactly-one is empty or contained more than one item."); + return d; + }, + localName: "exactly-one", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 3 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + callFunction: (a, b, c, d, e) => { + if (d.F()) return d; + const f = e.first(), + h = f.o; + if (1 !== h.length) throw Error("XPTY0004: signature of function passed to fn:filter is incompatible."); + return d.filter(k => { + k = Ad(h[0], w.m(k), b, "fn:filter", !1); + k = f.value.call(void 0, a, b, c, k); + if (!k.oa() || !v(k.first().type, 0)) throw Error("XPTY0004: signature of function passed to fn:filter is incompatible."); + return k.first().value; + }); + }, + localName: "filter", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + callFunction: (a, b, c, d, e) => { + if (d.F()) return d; + const f = e.first(), + h = f.o; + if (1 !== h.length) throw Error("XPTY0004: signature of function passed to fn:for-each is incompatible."); + const k = d.value; + let l; + return w.create({ + next: n => { + for (;;) { + if (!l) { + var t = k.next(0); + if (t.done) return t; + t = Ad(h[0], w.m(t.value), b, "fn:for-each", !1); + l = f.value.call(void 0, a, b, c, t).value; + } + t = l.next(n); + if (!t.done) return t; + l = null; + } + } + }); + }, + localName: "for-each", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + callFunction: (a, b, c, d, e, f) => { + if (d.F()) return d; + const h = f.first(), + k = h.o; + if (2 !== k.length) throw Error("XPTY0004: signature of function passed to fn:fold-left is incompatible."); + return d.N(l => l.reduce((n, t) => { + n = Ad(k[0], n, b, "fn:fold-left", !1); + t = Ad(k[1], w.m(t), b, "fn:fold-left", !1); + return h.value.call(void 0, a, b, c, n, t); + }, e)); + }, + localName: "fold-left", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }, { + type: 59, + g: 2 + }, { + type: 60, + g: 3 + }], + callFunction: (a, b, c, d, e, f) => { + if (d.F()) return d; + const h = f.first(), + k = h.o; + if (2 !== k.length) throw Error("XPTY0004: signature of function passed to fn:fold-right is incompatible."); + return d.N(l => l.reduceRight((n, t) => { + n = Ad(k[0], n, b, "fn:fold-right", !1); + t = Ad(k[1], w.m(t), b, "fn:fold-right", !1); + return h.value.call(void 0, a, b, c, t, n); + }, e)); + }, + localName: "fold-right", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 59, + g: 2 + } + }, { + j: [{ + type: 59, + g: 2 + }], + callFunction: (a, b, c, d) => { + if (!b.Ua) throw Error("serialize() called but no xmlSerializer set in execution parameters."); + a = d.O(); + if (!a.every(e => v(e.type, 53))) throw Error("Expected argument to fn:serialize to resolve to a sequence of Nodes."); + return w.m(g(a.map(e => b.Ua.serializeToString(ag(e.value, b, !1))).join(""), 1)); + }, + localName: "serialize", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 1, + g: 3 + } + }], ke, [{ + j: [{ + type: 59, + g: 3 + }, { + type: 61, + g: 3 + }], + callFunction: (a, b, c, d, e) => { + let f, h; + return w.create({ + next: () => { + f || ({ + ic: f, + ec: h + } = yq(d, e, c, b)); + try { + return f.next(0); + } catch (k) { + hg(h.value, k); + } + } + }); + }, + localName: "evaluate", + namespaceURI: "http://fontoxml.com/fontoxpath", + i: { + type: 59, + g: 2 + } + }, { + j: [], + callFunction: () => w.m(g(VERSION, 1)), + localName: "version", + namespaceURI: "http://fontoxml.com/fontoxpath", + i: { + type: 1, + g: 3 + } + }], [{ + j: [{ + type: 23, + g: 3 + }, { + type: 5, + g: 3 + }], + callFunction: (a, b, c, d, e) => A([d, e], ([f, h]) => { + const k = c.va(f.value.namespaceURI, f.value.localName, h.value); + if (null === k) return w.empty(); + f = new Va({ + j: k.j, + arity: h.value, + localName: f.value.localName, + namespaceURI: f.value.namespaceURI, + i: k.i, + value: k.callFunction + }); + return w.m(f); + }), + localName: "function-lookup", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + g: 0, + type: 60 + } + }, { + j: [{ + type: 60, + g: 3 + }], + callFunction: (a, b, c, d) => A([d], ([e]) => e.Ya() ? w.empty() : w.m(g(new Sa("", e.l, e.D), 23))), + localName: "function-name", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 23, + g: 0 + } + }, { + j: [{ + type: 60, + g: 3 + }], + callFunction: (a, b, c, d) => A([d], ([e]) => w.m(g(e.v, 5))), + localName: "function-arity", + namespaceURI: "http://www.w3.org/2005/xpath-functions", + i: { + type: 5, + g: 3 + } + }]); + class Kq { + constructor(a) { + this.h = a; + } + createAttributeNS(a, b) { + return this.h.createAttributeNS(a, b); + } + createCDATASection(a) { + return this.h.createCDATASection(a); + } + createComment(a) { + return this.h.createComment(a); + } + createDocument() { + return this.h.createDocument(); + } + createElementNS(a, b) { + return this.h.createElementNS(a, b); + } + createProcessingInstruction(a, b) { + return this.h.createProcessingInstruction(a, b); + } + createTextNode(a) { + return this.h.createTextNode(a); + } + } + var Lq = Symbol("IS_XPATH_VALUE_SYMBOL"); + function Mq(a) { + return (b, c) => { + b = Vb(new nb(null === c ? new Za() : c), b, Ja(a)); + return { + [Lq]: !0, + zb: b + }; + }; + } + Jq.forEach(a => { + og(a.namespaceURI, a.localName, a.j, a.i, a.callFunction); + }); + function Nq(a) { + return a && "object" === typeof a && "lookupNamespaceURI" in a ? b => a.lookupNamespaceURI(b || null) : () => null; + } + function Oq(a) { + return ({ + prefix: b, + localName: c + }) => b ? null : { + namespaceURI: a, + localName: c + }; + } + function Pq(a, b, c, d, e, f) { + if (null === d || void 0 === d) d = d || {}; + const h = e ? { + jb: e.logger || { + trace: console.log.bind(console) + }, + Ma: e.documentWriter, + kb: e.moduleImports, + Cb: e.namespaceResolver, + ac: e.functionNameResolver, + Ja: e.nodesFactory, + Ua: e.xmlSerializer + } : { + jb: { + trace: console.log.bind(console) + }, + kb: {}, + Cb: null, + Ja: null, + Ma: null, + Ua: null + }, + k = new nb(null === c ? new Za() : c); + c = h.kb || Object.create(null); + var l = void 0 === e.defaultFunctionNamespaceURI ? "http://www.w3.org/2005/xpath-functions" : e.defaultFunctionNamespaceURI; + const n = wq(a, f, h.Cb || Nq(b), d, c, l, h.ac || Oq(l)); + a = b ? Wb(k, b) : w.empty(); + b = !h.Ja && f.Z ? new $e(b) : new Kq(h.Ja); + c = h.Ma ? new bb(h.Ma) : ab; + l = h.Ua; + const t = Object.keys(d).reduce((y, G) => { + const N = d[G]; + y[`Q{}${G}[0]`] = N && "object" === typeof N && Lq in N ? () => w.create(N.zb) : () => Wb(k, d[G]); + return y; + }, Object.create(null)); + let u; + for (const y of Object.keys(n.ga.Ea)) t[y] || (t[y] = () => (0, n.ga.Ea[y])(u, z)); + u = new cc({ + M: a.first(), + Aa: 0, + ta: a, + ra: t + }); + const z = new ic(f.debug, f.Ha, k, b, c, e.currentContext, new Map(), h.jb, l); + return { + tb: u, + ub: z, + ba: n.ba + }; + } + function Qq(a, b) { + const c = {}; + let d = 0, + e = !1, + f = null; + return { + next: () => { + if (e) return p; + for (; d < a.h.length;) { + const k = a.h[d].key.value; + if (!f) { + const l = a.h[d]; + var h = l.value().X({ + default: n => n, + multiple: () => { + throw Error(`Serialization error: The value of an entry in a map is expected to be a single item or an empty sequence. Use arrays when putting multiple values in a map. The value of the key ${l.key.value} holds multiple items`); + } + }).first(); + if (null === h) { + c[k] = null; + d++; + continue; + } + f = Rq(h, b); + } + h = f.next(0); + f = null; + c[k] = h.value; + d++; + } + e = !0; + return q(c); + } + }; + } + function Sq(a, b) { + const c = []; + let d = 0, + e = !1, + f = null; + return { + next: () => { + if (e) return p; + for (; d < a.h.length;) { + if (!f) { + var h = a.h[d]().X({ + default: k => k, + multiple: () => { + throw Error("Serialization error: The value of an entry in an array is expected to be a single item or an empty sequence. Use nested arrays when putting multiple values in an array."); + } + }).first(); + if (null === h) { + c[d++] = null; + continue; + } + f = Rq(h, b); + } + h = f.next(0); + f = null; + c[d++] = h.value; + } + e = !0; + return q(c); + } + }; + } + function Rq(a, b) { + if (v(a.type, 61)) return Qq(a, b); + if (v(a.type, 62)) return Sq(a, b); + if (v(a.type, 23)) { + const c = a.value; + return { + next: () => q(`Q{${c.namespaceURI || ""}}${c.localName}`) + }; + } + switch (a.type) { + case 7: + case 8: + case 9: + case 11: + case 12: + case 13: + case 14: + case 15: + const c = a.value; + return { + next: () => q(Mb(c)) + }; + case 47: + case 53: + case 54: + case 55: + case 56: + case 57: + case 58: + const d = a.value; + return { + next: () => q(ag(d, b, !1)) + }; + default: + return { + next: () => q(a.value) + }; + } + } + var Tq = { + ANY: 0, + NUMBER: 1, + STRING: 2, + BOOLEAN: 3, + NODES: 7, + FIRST_NODE: 9, + STRINGS: 10, + MAP: 11, + ARRAY: 12, + NUMBERS: 13, + ALL_RESULTS: 14, + ASYNC_ITERATOR: 99 + }; + Tq[Tq.ANY] = "ANY"; + Tq[Tq.NUMBER] = "NUMBER"; + Tq[Tq.STRING] = "STRING"; + Tq[Tq.BOOLEAN] = "BOOLEAN"; + Tq[Tq.NODES] = "NODES"; + Tq[Tq.FIRST_NODE] = "FIRST_NODE"; + Tq[Tq.STRINGS] = "STRINGS"; + Tq[Tq.MAP] = "MAP"; + Tq[Tq.ARRAY] = "ARRAY"; + Tq[Tq.NUMBERS] = "NUMBERS"; + Tq[Tq.ALL_RESULTS] = "ALL_RESULTS"; + Tq[Tq.ASYNC_ITERATOR] = "ASYNC_ITERATOR"; + function Uq(a, b, c, d) { + switch (c) { + case 3: + return b.fa(); + case 2: + return b = qc(b, d).O(), b.length ? b.map(l => jd(l, 1).value).join(" ") : ""; + case 10: + return b = qc(b, d).O(), b.length ? b.map(l => l.value + "") : []; + case 1: + return b = b.first(), null !== b && v(b.type, 2) ? b.value : NaN; + case 9: + b = b.first(); + if (null === b) return null; + if (!v(b.type, 53)) throw Error("Expected XPath " + fg(a) + " to resolve to Node. Got " + Da[b.type]); + return ag(b.value, d, !1); + case 7: + b = b.O(); + if (!b.every(l => v(l.type, 53))) throw Error("Expected XPath " + fg(a) + " to resolve to a sequence of Nodes."); + return b.map(l => ag(l.value, d, !1)); + case 11: + b = b.O(); + if (1 !== b.length) throw Error("Expected XPath " + fg(a) + " to resolve to a single map."); + b = b[0]; + if (!v(b.type, 61)) throw Error("Expected XPath " + fg(a) + " to resolve to a map"); + return Qq(b, d).next(0).value; + case 12: + b = b.O(); + if (1 !== b.length) throw Error("Expected XPath " + fg(a) + " to resolve to a single array."); + b = b[0]; + if (!v(b.type, 62)) throw Error("Expected XPath " + fg(a) + " to resolve to an array"); + return Sq(b, d).next(0).value; + case 13: + return b.O().map(l => { + if (!v(l.type, 2)) throw Error("Expected XPath " + fg(a) + " to resolve to numbers"); + return l.value; + }); + case 99: + const e = b.value; + let f = null, + h = !1; + const k = () => { + for (; !h;) { + if (!f) { + var l = e.next(0); + if (l.done) { + h = !0; + break; + } + f = Rq(l.value, d); + } + l = f.next(0); + f = null; + return l; + } + return Promise.resolve({ + done: !0, + value: null + }); + }; + return "asyncIterator" in Symbol ? { + [Symbol.asyncIterator]() { + return this; + }, + next: () => new Promise(l => l(k())).catch(l => { + hg(a, l); + }) + } : { + next: () => new Promise(l => l(k())) + }; + case 14: + return b.O().map(l => Rq(l, d).next(0).value); + default: + return b = b.O(), b.every(l => v(l.type, 53) && !v(l.type, 47)) ? (b = b.map(l => ag(l.value, d, !1)), 1 === b.length ? b[0] : b) : 1 === b.length ? (b = b[0], v(b.type, 62) ? Sq(b, d).next(0).value : v(b.type, 61) ? Qq(b, d).next(0).value : pc(b, d).first().value) : qc(w.create(b), d).O().map(l => l.value); + } + } + let Vq = !1, + Wq = null; + var Xq = { + getPerformanceSummary() { + const a = Wq.getEntriesByType("measure").filter(b => b.name.startsWith("XPath: ")); + return Array.from(a.reduce((b, c) => { + var d = c.name.substring(7); + b.has(d) ? (d = b.get(d), d.times += 1, d.totalDuration += c.duration) : b.set(d, { + xpath: d, + times: 1, + totalDuration: c.duration, + average: 0 + }); + return b; + }, new Map()).values()).map(b => { + b.average = b.totalDuration / b.times; + return b; + }).sort((b, c) => c.totalDuration - b.totalDuration); + }, + setPerformanceImplementation(a) { + Wq = a; + }, + startProfiling() { + if (null === Wq) throw Error("Performance API object must be set using `profiler.setPerformanceImplementation` before starting to profile"); + Wq.clearMarks(); + Wq.clearMeasures(); + Vq = !0; + }, + stopProfiling() { + Vq = !1; + } + }; + let Yq = 0; + var Zq = { + XPATH_3_1_LANGUAGE: "XPath3.1", + XQUERY_3_1_LANGUAGE: "XQuery3.1", + XQUERY_UPDATE_3_1_LANGUAGE: "XQueryUpdate3.1" + }; + const $q = (a, b, c, d, e, f) => { + e = e || 0; + if (!a || "string" !== typeof a && !("nodeType" in a)) throw new TypeError("Failed to execute 'evaluateXPath': xpathExpression must be a string or an element depicting an XQueryX DOM tree."); + f = f || {}; + let h, k; + try { + const n = Pq(a, b, c || null, d || {}, f, { + sa: "XQueryUpdate3.1" === f.language, + Z: "XQuery3.1" === f.language || "XQueryUpdate3.1" === f.language, + debug: !!f.debug, + Ha: !!f.disableCache + }); + var l = n.tb; + h = n.ub; + k = n.ba; + } catch (n) { + hg(a, n); + } + if (k.I) throw Error("XUST0001: Updating expressions should be evaluated as updating expressions"); + if (3 === e && b && "object" === typeof b && "nodeType" in b && (c = k.D(), b = Ya(b), null !== c && !b.includes(c))) return !1; + try { + b = a; + Vq && ("string" !== typeof b && (b = fg(b)), Wq.mark(`${b}${0 === Yq ? "" : "@" + Yq}`), Yq++); + const n = C(k, l, h), + t = Uq(a, n, e, h); + e = a; + Vq && ("string" !== typeof e && (e = fg(e)), Yq--, l = `${e}${0 === Yq ? "" : "@" + Yq}`, Wq.measure(`XPath: ${e}`, l), Wq.clearMarks(l)); + return t; + } catch (n) { + hg(a, n); + } + }; + Object.assign($q, { + jc: 14, + ANY_TYPE: 0, + Lb: 12, + Mb: 99, + BOOLEAN_TYPE: 3, + Ob: 9, + Rb: 11, + Tb: 7, + Ub: 13, + NUMBER_TYPE: 1, + Vb: 10, + STRING_TYPE: 2, + kc: "XPath3.1", + lc: "XQuery3.1", + Yb: "XQueryUpdate3.1" + }); + Object.assign($q, { + ALL_RESULTS_TYPE: 14, + ANY_TYPE: 0, + ARRAY_TYPE: 12, + ASYNC_ITERATOR_TYPE: 99, + BOOLEAN_TYPE: 3, + FIRST_NODE_TYPE: 9, + MAP_TYPE: 11, + NODES_TYPE: 7, + NUMBERS_TYPE: 13, + NUMBER_TYPE: 1, + STRINGS_TYPE: 10, + STRING_TYPE: 2, + XPATH_3_1_LANGUAGE: "XPath3.1", + XQUERY_3_1_LANGUAGE: "XQuery3.1", + XQUERY_UPDATE_3_1_LANGUAGE: "XQueryUpdate3.1" + }); + function ar(a, b, c, d, e) { + return $q(a, b, c, d, $q.Mb, e); + } + function br(a, b, c, d) { + return { + pendingUpdateList: a.da.map(e => e.h(d)), + xdmValue: Uq(b, w.create(a.J), c, d) + }; + } + async function cr(a, b, c, d, e) { + e = e || {}; + Ok(); + let f, h; + try { + const n = Pq(a, b, c || null, d || {}, e || {}, { + sa: !0, + Z: !0, + debug: !!e.debug, + Ha: !!e.disableCache + }); + var k = n.tb; + f = n.ub; + h = n.ba; + } catch (n) { + hg(a, n); + } + if (!h.I) { + k = []; + a = ar(a, b, c, d, Object.assign(Object.assign({}, e), { + language: "XQueryUpdate3.1" + })); + for (b = await a.next(); !b.done; b = await a.next()) k.push(b.value); + return Promise.resolve({ + pendingUpdateList: [], + xdmValue: k + }); + } + let l; + try { + l = h.s(k, f).next(0); + } catch (n) { + hg(a, n); + } + return br(l.value, a, e.returnType, f); + } + function dr(a, b, c, d, e) { + e = e || {}; + Ok(); + let f, h, k; + try { + const n = Pq(a, b, c || null, d || {}, e || {}, { + sa: !0, + Z: !0, + debug: !!e.debug, + Ha: !!e.disableCache + }); + f = n.tb; + h = n.ub; + k = n.ba; + } catch (n) { + hg(a, n); + } + if (!k.I) return { + pendingUpdateList: [], + xdmValue: $q(a, b, c, d, e.i, Object.assign(Object.assign({}, e), { + language: $q.Yb + })) + }; + let l; + try { + l = k.s(f, h).next(0); + } catch (n) { + hg(a, n); + } + return br(l.value, a, e.returnType, h); + } + function er(a, b, c, d, e) { + return $q(a, b, c, d, $q.Lb, e); + } + function fr(a, b, c, d, e) { + return $q(a, b, c, d, $q.BOOLEAN_TYPE, e); + } + function gr(a, b, c, d, e) { + return $q(a, b, c, d, $q.Ob, e); + } + function hr(a, b, c, d, e) { + return $q(a, b, c, d, $q.Rb, e); + } + function ir(a, b, c, d, e) { + return $q(a, b, c, d, $q.Tb, e); + } + function jr(a, b, c, d, e) { + return $q(a, b, c, d, $q.NUMBER_TYPE, e); + } + function kr(a, b, c, d, e) { + return $q(a, b, c, d, $q.Ub, e); + } + function lr(a, b, c, d, e) { + return $q(a, b, c, d, $q.STRING_TYPE, e); + } + function mr(a, b, c, d, e) { + return $q(a, b, c, d, $q.Vb, e); + } + function nr(a, b, c, d) { + b = new nb(b ? b : new Za()); + d = d ? new bb(d) : ab; + c = c ? c = new Kq(c) : null; + a = a.map(Rj); + lf(a, b, c, d); + } + function Y(a, b, c) { + return { + code: a, + ua: b, + H: c, + isAstAccepted: !0 + }; + } + function or(a) { + return { + isAstAccepted: !1, + reason: a + }; + } + function Z(a, b) { + return a.isAstAccepted ? b(a) : a; + } + function pr(a, b) { + return a.isAstAccepted ? b(a) : [a, null]; + } + function qr(a, b, c) { + return Z(a, d => { + switch (d.ua.type) { + case 0: + return d; + case 1: + return Z(rr(c, d, "nodes"), e => Z(rr(c, b, "contextItem"), f => Y(`(function () { + const { done, value } = ${e.code}(${f.code}).next(); + return done ? null : value; + })()`, { + type: 0 + }, [...e.H, ...f.H]))); + default: + throw Error(`invalid generated code type to convert to value: ${d.ua.type}`); + } + }); + } + function sr(a, b, c, d) { + a = qr(a, c, d); + return b && 0 === b.type && 3 === b.g ? a : Z(a, e => Y(`!!${e.code}`, { + type: 0 + }, e.H)); + } + function tr(a, b, c) { + return b ? a.isAstAccepted && 0 !== a.ua.type ? or("Atomization only implemented for single value") : v(b.type, 1) ? a : v(b.type, 47) ? Z(rr(c, a, "attr"), d => Y(`(${d.code} ? domFacade.getData(${d.code}) : null)`, { + type: 0 + }, d.H)) : or("Atomization only implemented for string and attribute") : or("Can not atomize value if type was not annotated"); + } + function ur(a, b, c, d) { + a = qr(a, c, d); + d = tr(a, b, d); + return wc(b) ? Z(d, e => Y(`${e.code} ?? ''`, { + type: 0 + }, e.H)) : d; + } + function vr(a, b, c) { + return Z(rr(c, a, "node"), d => 1 === d.ua.type ? d : b && !v(b.type, 53) ? or("Can not evaluate to node if expression does not result in nodes") : Y(`(function () { + if (${d.code} !== null && !${d.code}.nodeType) { + throw new Error('XPDY0050: The result of the expression was not a node'); + } + return ${d.code}; + })()`, { + type: 0 + }, d.H)); + } + function wr(a, b, c, d) { + return Z(a, e => { + switch (e.ua.type) { + case 1: + return Z(rr(d, e, "nodes"), f => Z(rr(d, c, "contextItem"), h => Y(`Array.from(${f.code}(${h.code}))`, { + type: 0 + }, [...f.H, ...h.H]))); + case 0: + return Z(rr(d, vr(e, b, d), "node"), f => Y(`(${f.code} === null ? [] : [${f.code}])`, { + type: 0 + }, f.H)); + default: + return or("Unsupported code type to evaluate to nodes"); + } + }); + } + function xr(a, b) { + return Z(a, c => Z(b, d => { + if (0 !== c.ua.type || 0 !== d.ua.type) throw Error("can only use emitAnd with value expressions"); + return Y(`${c.code} && ${d.code}`, { + type: 0 + }, [...c.H, ...d.H]); + })); + } + function yr(a, b, c, d) { + return (a = J(a, [b, "*"])) ? d.h(a, c, d) : [or(`${b} expression not found`), null]; + } + const $t = { + equalOp: "eqOp", + notEqualOp: "neOp", + lessThanOrEqualOp: "leOp", + lessThanOp: "ltOp", + greaterThanOrEqualOp: "geOp", + greaterThanOp: "gtOp" + }, + au = { + eqOp: "eqOp", + neOp: "neOp", + leOp: "geOp", + ltOp: "gtOp", + geOp: "leOp", + gtOp: "ltOp" + }; + function bu(a, b, c, d) { + const e = I(J(a, ["firstOperand", "*"]), "type"), + f = I(J(a, ["secondOperand", "*"]), "type"); + if (!e || !f) return or("Can not generate code for value compare without both types"); + var h = [47, 1]; + if (!h.includes(e.type) || !h.includes(f.type)) return or(`Unsupported types in compare: [${Da[e.type]}, ${Da[f.type]}]`); + h = new Map([["eqOp", "==="], ["neOp", "!=="]]); + if (!h.has(b)) return or(b + " not yet implemented"); + const k = h.get(b); + [b] = yr(a, "firstOperand", c, d); + b = qr(b, c, d); + b = tr(b, e, d); + return Z(rr(d, b, "first"), l => { + var [n] = yr(a, "secondOperand", c, d); + n = qr(n, c, d); + n = tr(n, f, d); + return Z(rr(d, n, "second"), t => { + const u = []; + wc(e) && u.push(`${l.code} === null`); + wc(f) && u.push(`${t.code} === null`); + return Y(`(${u.length ? `${u.join(" || ")} ? null : ` : ""}${l.code} ${k} ${t.code})`, { + type: 0 + }, [...l.H, ...t.H]); + }); + }); + } + function cu(a, b, c, d, e, f) { + var h = I(J(a, [b, "*"]), "type"); + const k = I(J(a, [c, "*"]), "type"); + if (!h || !k) return or("Can not generate code for general compare without both types"); + var l = [47, 1]; + if (!l.includes(h.type) || !l.includes(k.type)) return or(`Unsupported types in compare: [${Da[h.type]}, ${Da[k.type]}]`); + l = new Map([["eqOp", "==="], ["neOp", "!=="]]); + if (!l.has(d)) return or(d + " not yet implemented"); + const n = l.get(d); + [b] = yr(a, b, e, f); + b = qr(b, e, f); + h = tr(b, h, f); + return Z(rr(f, h, "single"), t => { + const [u] = yr(a, c, e, f); + return Z(rr(f, u, "multiple"), z => { + if (1 !== z.ua.type) return or("can only generate general compare for a single value and a generator"); + const y = du(f, eu(f, "n")), + G = tr(y, k, f); + return Z(e, N => Z(G, U => Y(`(function () { + for (const ${y.code} of ${z.code}(${N.code})) { + ${U.H.join("\n")} + if (${U.code} ${n} ${t.code}) { + return true; + } + } + return false; + })()`, { + type: 0 + }, [...t.H, ...y.H, ...N.H, ...z.H]))); + }); + }); + } + function fu(a) { + return JSON.stringify(a).replace(/\u2028/g, "\\u2028").replace(/\u2029/g, "\\u2029"); + } + const lu = { + "false#0": gu, + "local-name#0": hu, + "local-name#1": hu, + "name#0": iu, + "name#1": iu, + "not#1": ju, + "true#0": ku + }, + mu = { + ["http://fontoxml.com/fontoxpath"]: ["version#0"], + [""]: ["root#1", "path#1"] + }; + function nu(a, b, c, d) { + const [e] = d.h(a, c, d); + a = I(a, "type"); + if (b ? 2 === b.g || 1 === b.g : 1) return or("Not supported: sequence arguments with multiple items"); + if (v(b.type, 53)) return b = qr(e, c, d), vr(b, a, d); + switch (b.type) { + case 59: + return qr(e, c, d); + case 0: + return sr(e, a, c, d); + case 1: + return ur(e, a, c, d); + } + return or(`Argument types not supported: ${a ? Da[a.type] : "unknown"} -> ${Da[b.type]}`); + } + function ou(a, b, c, d) { + if (a.length !== b.length || b.some(l => 4 === l)) return or("Not supported: variadic function or mismatch in argument count"); + if (0 === a.length) return Y("", { + type: 0 + }, []); + const [e, ...f] = a, + [h, ...k] = b; + a = rr(d, nu(e, h, c, d), "arg"); + return 0 === f.length ? a : Z(a, l => { + const n = ou(f, k, c, d); + return Z(n, t => Y(`${l.code}, ${t.code}`, { + type: 0 + }, [...l.H, ...t.H])); + }); + } + function pu(a, b) { + return Z(a, c => (b ? 2 === b.g || 1 === b.g : 1) || ![0, 1].includes(b.type) && !v(b.type, 53) ? or(`Function return type ${Da[b.type]} not supported`) : c); + } + function qu(a, b, c) { + const { + localName: d, + namespaceURI: e + } = Kg(F(a, "functionName")), + f = K(F(a, "arguments"), "*"); + var h = f.length; + const k = `${d}#${h}`, + l = e === c.D; + if (l) { + const n = lu[k]; + if (void 0 !== n) return n(a, b, c); + } + if ((a = mu[l ? "" : e]) && !a.includes(k)) return or(`Not supported: built-in function not on allow list: ${k}`); + h = ng(e, d, h); + if (!h) return or(`Unknown function / arity: ${k}`); + if (h.I) return or("Not supported: updating functions"); + b = ou(f, h.j, b, c); + b = Z(b, n => Y(`runtimeLib.callFunction(domFacade, ${fu(e)}, ${fu(d)}, [${n.code}], options)`, { + type: 0 + }, n.H)); + return pu(b, h.i); + } + function ru(a, b) { + return Z(rr(b, a, "contextItem"), c => Y(c.code, { + type: 0 + }, [...c.H, `if (${c.code} === undefined || ${c.code} === null) { + throw errXPDY0002('The function which was called depends on dynamic context, which is absent.'); + }`])); + } + function su(a, b, c, d) { + if ((a = J(a, ["arguments", "*"])) && "contextItemExpr" !== a[0]) { + const e = I(a, "type"); + if (!e || !v(e.type, 53)) return or("name function only implemented if arg is a node"); + [a] = c.h(a, b, c); + } else a = ru(b, c); + b = qr(a, b, c); + return Z(rr(c, b, "arg"), e => Y(`(${e.code} ? ${d(e.code)} : '')`, { + type: 0 + }, e.H)); + } + function iu(a, b, c) { + return su(a, b, c, d => `(((${d}.prefix || '').length !== 0 ? ${d}.prefix + ':' : '') + + (${d}.localName || ${d}.target || ''))`); + } + function hu(a, b, c) { + return su(a, b, c, d => `(${d}.localName || ${d}.target || '')`); + } + function ju(a, b, c) { + var d = J(a, ["arguments", "*"]); + a = I(d, "type"); + [d] = c.h(d, b, c); + b = sr(d, a, b, c); + return Z(b, e => Y(`!${e.code}`, { + type: 0 + }, e.H)); + } + function gu() { + return Y("false", { + type: 0 + }, []); + } + function ku() { + return Y("true", { + type: 0 + }, []); + } + function tu(a, b, c, d) { + const [e, f] = yr(a, "firstOperand", c, d); + var h = I(J(a, ["firstOperand", "*"]), "type"); + h = sr(e, h, c, d); + const [k, l] = yr(a, "secondOperand", c, d); + h = Z(h, t => { + var u = I(J(a, ["secondOperand", "*"]), "type"); + u = sr(k, u, c, d); + return Z(u, z => Y(`(${t.code} ${b} ${z.code})`, { + type: 0 + }, [...t.H, ...z.H])); + }); + const n = "&&" === b ? yh(f, l) : f === l ? f : null; + return [h, n]; + } + function uu(a, b, c) { + return Z(a, d => Z(b, e => Z(c, f => Y(`for (${d.code}) { + ${e.H.join("\n")} + if (!(${e.code})) { + continue; + } + ${f.H.join("\n")} + ${f.code} + }`, { + type: 2 + }, d.H)))); + } + function vu(a, b, c, d, e) { + const f = b ? `, "${b}"` : ""; + b = Z(d, h => Z(e, k => Y(`let ${h.code} = domFacade.getFirstChild(${k.code}${f}); + ${h.code}; + ${h.code} = domFacade.getNextSibling(${h.code}${f})`, { + type: 2 + }, [...h.H, ...k.H]))); + return uu(b, a, c); + } + function wu(a, b, c, d, e) { + const f = yh(b, "type-2"), + h = Z(e, k => Y(`(${k.code} && ${k.code}.nodeType === /*ELEMENT_NODE*/ ${1} ? domFacade.getAllAttributes(${k.code}${f ? `, "${f}"` : ""}) : [])`, { + type: 0 + }, k.H)); + b = Z(d, k => Z(h, l => Y(`const ${k.code} of ${l.code}`, { + type: 2 + }, [...k.H, ...l.H]))); + return uu(b, a, c); + } + function xu(a, b, c, d, e) { + const f = b ? `, "${b}"` : ""; + b = Z(e, h => Y(`domFacade.getParentNode(${h.code}${f})`, { + type: 0 + }, h.H)); + return yu(d, b, a, c); + } + function yu(a, b, c, d) { + const e = xr(a, c); + return Z(a, f => Z(b, h => Z(e, k => Z(d, l => Y(`const ${f.code} = ${h.code}; + ${k.H.join("\n")} + if (${k.code}) { + ${l.H.join("\n")} + ${l.code} + }`, { + type: 2 + }, [...f.H, ...h.H]))))); + } + function zu(a, b, c, d, e, f) { + a = H(a); + switch (a) { + case "attribute": + return [wu(b, c, d, e, f), "type-1"]; + case "child": + return [vu(b, c, d, e, f), null]; + case "parent": + return [xu(b, c, d, e, f), null]; + case "self": + return [yu(e, f, b, d), c]; + default: + return [or(`Unsupported: the ${a} axis`), null]; + } + } + const Au = { + Wb: "textTest", + Nb: "elementTest", + Sb: "nameTest", + Xb: "Wildcard", + Kb: "anyKindTest" + }; + var Bu = Object.values(Au); + function Cu(a) { + return [Z(a, b => Y(`(${b.code}.nodeType === /*TEXT_NODE*/ ${3} || + ${b.code}.nodeType === /* CDATA_SECTION_NODE */ ${4})`, { + type: 0 + }, [])), "type-3"]; + } + function Du(a, b) { + if (null === a.namespaceURI && "*" !== a.prefix) { + b = b.$(a.prefix || "") || null; + if (!b && a.prefix) throw Error(`XPST0081: The prefix ${a.prefix} could not be resolved.`); + a.namespaceURI = b; + } + } + function Eu(a, b, c, d) { + Du(a, d); + const e = a.prefix, + f = a.namespaceURI, + h = a.localName; + return pr(c, k => { + var l = b ? Y(`${k.code}.nodeType + && (${k.code}.nodeType === /*ELEMENT_NODE*/ ${1} + || ${k.code}.nodeType === /*ATTRIBUTE_NODE*/ ${2})`, { + type: 0 + }, []) : Y(`${k.code}.nodeType + && ${k.code}.nodeType === /*ELEMENT_NODE*/ ${1}`, { + type: 0 + }, []); + if ("*" === e) return "*" === h ? [l, b ? "type-1-or-type-2" : "type-1"] : [xr(l, Y(`${k.code}.localName === ${fu(h)}`, { + type: 0 + }, [])), `name-${h}`]; + l = "*" === h ? l : xr(l, Y(`${k.code}.localName === ${fu(h)}`, { + type: 0 + }, [])); + var n = Y(fu(f), { + type: 0 + }, []); + n = "" === e && b ? Z(n, t => Y(`${k.code}.nodeType === /*ELEMENT_NODE*/ ${1} ? ${t.code} : null`, { + type: 0 + }, t.H)) : n; + n = Z(n, t => Y(`(${k.code}.namespaceURI || null) === ((${t.code}) || null)`, { + type: 0 + }, t.H)); + return [xr(l, n), `name-${h}`]; + }); + } + function Fu(a, b, c) { + const d = (a = F(a, "elementName")) && F(a, "star"); + if (null === a || d) return [Z(b, e => Y(`${e.code}.nodeType === /*ELEMENT_NODE*/ ${1}`, { + type: 0 + }, [])), "type-1"]; + a = Kg(F(a, "QName")); + return Eu(a, !1, b, c); + } + function Gu(a) { + return [Z(a, b => Y(`!!${b.code}.nodeType`, { + type: 0 + }, [])), null]; + } + function Hu(a, b, c, d) { + var e = a[0]; + switch (e) { + case Au.Nb: + return Fu(a, c, d); + case Au.Wb: + return Cu(c); + case Au.Sb: + return Eu(Kg(a), b, c, d); + case Au.Xb: + return F(a, "star") ? (e = F(a, "uri"), null !== e ? a = Eu({ + localName: "*", + namespaceURI: H(e), + prefix: "" + }, b, c, d) : (e = F(a, "NCName"), a = "star" === F(a, "*")[0] ? Eu({ + localName: H(e), + namespaceURI: null, + prefix: "*" + }, b, c, d) : Eu({ + localName: "*", + namespaceURI: null, + prefix: H(e) + }, b, c, d))) : a = Eu({ + localName: "*", + namespaceURI: null, + prefix: "*" + }, b, c, d), a; + case Au.Kb: + return Gu(c); + default: + return [or(`Test not implemented: '${e}`), null]; + } + } + function Iu(a, b, c) { + const [d, e] = c.h(a, b, c); + return [sr(d, I(a, "type"), b, c), e]; + } + function Ju(a, b, c) { + a = a ? K(a, "*") : []; + const [d, e] = a.reduce(([f, h], k) => { + if (!f) return Iu(k, b, c); + let l = h; + return pr(f, n => { + const [t, u] = Iu(k, b, c); + l = yh(h, u); + return [Z(t, z => Y(`${n.code} && ${z.code}`, { + type: 0 + }, [...n.H, ...z.H])), l]; + }); + }, [null, null]); + return [d ? Z(d, f => Y(`(function () { + ${f.H.join("\n")} + return ${f.code}; + })()`, { + type: 0 + }, [])) : null, e]; + } + function Ku(a, b, c, d) { + if (0 === a.length) return [Z(c, y => Y(`yield ${y.code};`, { + type: 2 + }, y.H)), null]; + const [e, ...f] = a; + if (0 < K(e, "lookup").length) return [or("Unsupported: lookups"), null]; + const h = du(d, eu(d, "contextItem")); + a = F(e, "predicates"); + const [k, l] = Ju(a, h, d); + if (a = F(e, "xpathAxis")) { + var n = F(e, Bu); + if (!n) return [or("Unsupported test in step"), null]; + var t = H(a); + b = "attribute" === t || "self" === t && b; + const [y, G] = Hu(n, b, h, d); + n = null === k ? y : xr(y, k); + t = yh(G, l); + [b] = Ku(f, b, h, d); + return zu(a, n, t, b, h, c); + } + a = J(e, ["filterExpr", "*"]); + if (!a) return [or("Unsupported: unknown step type"), null]; + const [u, z] = d.h(a, c, d); + return [Z(u, y => { + const G = 0 === f.length ? Y("", { + type: 2 + }, []) : Y(`if (${h.code} !== null && !${h.code}.nodeType) { + throw new Error('XPTY0019: The result of E1 in a path expression E1/E2 should evaluate to a sequence of nodes.'); + }`, { + type: 2 + }, []), + [N] = Ku(f, !0, h, d), + U = null === k ? N : Z(k, ca => Z(N, Ga => Y(`if (${ca.code}) { + ${Ga.H.join("\n")} + ${Ga.code} + }`, { + type: 2 + }, ca.H))); + return Z(U, ca => { + switch (y.ua.type) { + case 1: + return Z(c, Ga => Y(`for (const ${h.code} of ${y.code}(${Ga.code})) { + ${ca.H.join("\n")} + ${ca.code} + }`, { + type: 2 + }, [...h.H, ...y.H, ...G.H])); + case 0: + return Y(`const ${h.code} = ${y.code}; + ${G.code} + if (${h.code} !== null) { + ${ca.H.join("\n")} + ${ca.code} + }`, { + type: 2 + }, [...h.H, ...y.H, ...G.H]); + default: + return or("Unsupported generated code type for filterExpr"); + } + }); + }), z]; + } + function Lu(a) { + return Z(a, b => Y(`(function () { + let n = ${b.code}; + while (n.nodeType !== /*DOCUMENT_NODE*/${9}) { + n = domFacade.getParentNode(n); + if (n === null) { + throw new Error('XPDY0050: the root node of the context node is not a document node.'); + } + } + return n; + })()`, { + type: 0 + }, b.H)); + } + function Mu(a, b, c) { + return pr(b, d => { + if (0 < K(a, "lookup").length) return [or("Unsupported: lookups"), null]; + var e = F(a, "predicates"); + const [f, h] = Ju(e, d, c); + e = F(a, Bu); + if (!e) return [or("Unsupported test in step"), null]; + const [k, l] = Hu(e, !0, d, c); + e = null === f ? k : xr(k, f); + const n = yh(l, h); + return [Z(e, t => Y(`((${t.code}) ? ${d.code} : null)`, { + type: 0 + }, [...d.H, ...t.H])), n]; + }); + } + function Nu(a, b, c) { + const d = K(a, "stepExpr"); + if (1 === d.length) { + const k = F(d[0], "xpathAxis"); + if (k && "self" === H(k)) return Mu(d[0], b, c); + } + const e = du(c, eu(c, "contextItem")); + b = (a = F(a, "rootExpr")) ? rr(c, Lu(e), "root") : e; + const [f, h] = Ku(d, !a, b, c); + return [Z(f, k => Y(`(function* (${e.code}) { + ${k.H.join("\n")} + ${k.code} + })`, { + type: 1 + }, [])), h]; + } + function Ou(a, b, c) { + const d = a[0]; + switch (d) { + case "contextItemExpr": + return [b, null]; + case "pathExpr": + return Nu(a, b, c); + case "andOp": + return tu(a, "&&", b, c); + case "orOp": + return tu(a, "||", b, c); + case "stringConstantExpr": + return a = F(a, "value")[1] || "", a = fu(a), [Y(a, { + type: 0 + }, []), null]; + case "equalOp": + case "notEqualOp": + case "lessThanOrEqualOp": + case "lessThanOp": + case "greaterThanOrEqualOp": + case "greaterThanOp": + case "eqOp": + case "neOp": + case "ltOp": + case "leOp": + case "gtOp": + case "geOp": + case "isOp": + case "nodeBeforeOp": + case "nodeAfterOp": + a: switch (d) { + case "eqOp": + case "neOp": + case "ltOp": + case "leOp": + case "gtOp": + case "geOp": + case "isOp": + a = bu(a, d, b, c); + break a; + case "equalOp": + case "notEqualOp": + case "lessThanOrEqualOp": + case "lessThanOp": + case "greaterThanOrEqualOp": + case "greaterThanOp": + const e = I(J(a, ["firstOperand", "*"]), "type"), + f = I(J(a, ["secondOperand", "*"]), "type"); + a = e && f ? 3 === e.g && 3 === f.g ? bu(a, $t[d], b, c) : 3 === e.g ? cu(a, "firstOperand", "secondOperand", $t[d], b, c) : 3 === f.g ? cu(a, "secondOperand", "firstOperand", au[$t[d]], b, c) : or("General comparison for sequences is not implemented") : or("types of compare are not known"); + break a; + default: + a = or(`Unsupported compare type: ${d}`); + } + return [a, null]; + case "functionCallExpr": + return [qu(a, b, c), null]; + default: + return [or(`Unsupported: the base expression '${d}'.`), null]; + } + } + function rr(a, b, c) { + return Z(b, d => { + var e = a.o.get(d); + e || (e = eu(a, c), e = Y(e, d.ua, [...d.H, `const ${e} = ${d.code};`]), a.o.set(d, e), a.o.set(e, e)); + return e; + }); + } + function eu(a, b = "v") { + const c = a.v.get(b) || 0; + a.v.set(b, c + 1); + return `${b}${c}`; + } + function du(a, b) { + b = Y(b, { + type: 0 + }, []); + a.o.set(b, b); + return b; + } + var Pu = class { + constructor(a, b) { + this.o = new Map(); + this.v = new Map(); + this.$ = a; + this.D = b; + this.h = Ou; + } + }; + function Qu(a) { + const b = K(a, "*"); + if ("pathExpr" === a[0]) return !0; + for (const c of b) if (Qu(c)) return !0; + return !1; + } + function Ru(a, b, c) { + c = c || {}; + b = b || 0; + if ("string" === typeof a) { + a = Pk(a); + var d = { + Z: "XQuery3.1" === c.language || "XQueryUpdate3.1" === c.language, + debug: !1 + }; + try { + var e = qq(a, d); + } catch (h) { + hg(a, h); + } + } else e = Kk(a); + a = F(e, "mainModule"); + if (!a) return or("Unsupported: XQuery Library modules are not supported."); + if (F(a, "prolog")) return or("Unsupported: XQuery Prologs are not supported."); + d = void 0 === c.defaultFunctionNamespaceURI ? "http://www.w3.org/2005/xpath-functions" : c.defaultFunctionNamespaceURI; + a = new Pu(c.namespaceResolver || Nq(null), d); + c = new rh(new Cg(new qg(a.$, {}, d, c.functionNameResolver || Oq("http://www.w3.org/2005/xpath-functions")))); + O(e, c); + if (c = F(e, "mainModule")) { + if (F(c, "prolog")) a = or("Unsupported: XQuery.");else { + var f = J(c, ["queryBody", "*"]); + c = du(a, "contextItem"); + [d] = a.h(f, c, a); + b: switch (f = I(f, "type"), b) { + case 9: + b = qr(d, c, a); + a = vr(b, f, a); + break b; + case 7: + a = wr(d, f, c, a); + break b; + case 3: + a = sr(d, f, c, a); + break b; + case 2: + a = ur(d, f, c, a); + break b; + default: + a = or(`Unsupported: the return type '${b}'.`); + } + a.isAstAccepted && (a = ` + ${a.H.join("\n")} + return ${a.code};`, b = "\n\treturn (contextItem, domFacade, runtimeLib, options) => {\n\t\tconst {\n\t\t\terrXPDY0002,\n\t\t} = runtimeLib;", Qu(e) && (b += '\n\t\tif (!contextItem) {\n\t\t\tthrow errXPDY0002("Context is needed to evaluate the given path expression.");\n\t\t}\n\n\t\tif (!contextItem.nodeType) {\n\t\t\tthrow new Error("Context item must be subtype of node().");\n\t\t}\n\t\t'), a = { + code: b + (a + "}\n//# sourceURL=generated.js"), + isAstAccepted: !0 + }); + } + } else a = or("Unsupported: Can not execute a library module."); + return a; + } + class Su extends Error { + constructor(a, b, c) { + var d = a.stack; + d && (d.includes(a.message) && (d = d.substr(d.indexOf(a.message) + a.message.length).trim()), d = d.split("\n"), d.splice(10), d = d.map(e => e.startsWith(" ") || e.startsWith("\t") ? e : ` ${e}`), d = d.join("\n")); + super(`Custom XPath function Q{${c}}${b} raised:\n${a.message}\n${d}`); + } + } + function Tu(a, b, c) { + return 0 === b.g ? a.F() ? null : Rq(a.first(), c).next(0).value : 2 === b.g || 1 === b.g ? a.O().map(d => { + if (v(d.type, 47)) throw Error("Cannot pass attribute nodes to custom functions"); + return Rq(d, c).next(0).value; + }) : Rq(a.first(), c).next(0).value; + } + function Uu(a) { + if ("object" === typeof a) return a; + a = a.split(":"); + if (2 !== a.length) throw Error("Do not register custom functions in the default function namespace"); + const [b, c] = a; + a = pg[b]; + if (!a) { + a = `generated_namespace_uri_${b}`; + if (pg[b]) throw Error("Prefix already registered: Do not register the same prefix twice."); + pg[b] = a; + } + return { + localName: c, + namespaceURI: a + }; + } + function Vu(a, b, c, d) { + const { + namespaceURI: e, + localName: f + } = Uu(a); + if (!e) throw vg(); + const h = b.map(l => Ja(l)), + k = Ja(c); + og(e, f, h, k, function (l, n, t) { + var u = Array.from(arguments); + u.splice(0, 3); + u = u.map((G, N) => Tu(G, h[N], n)); + const z = { + currentContext: n.o, + domFacade: n.h.h + }; + let y; + try { + y = d.apply(void 0, [z, ...u]); + } catch (G) { + throw new Su(G, f, e); + } + return y && "object" === typeof y && Object.getOwnPropertySymbols(y).includes(Lq) ? w.create(y.zb) : Wb(n.h, y, k); + }); + } + var Wu = { + callFunction(a, b, c, d, e) { + const f = ng(b, c, d.length); + if (!f) throw Error("function not found for codegen function call"); + b = new cc({ + M: null, + Aa: 0, + ta: w.empty(), + ra: {} + }); + const h = new nb(a); + a = new ic(!1, !1, h, null, null, e ? e.currentContext : null, null); + d = f.callFunction(b, a, null, ...d.map((k, l) => Wb(h, k, f.j[l]))); + return Tu(d, { + type: 59, + g: 0 + }, a); + }, + errXPDY0002: lc + }; + var Xu = (a, b, c, d) => { + c = c ? c : new Za(); + return a()(null !== b && void 0 !== b ? b : null, c, Wu, d); + }; + const Yu = { + ["http://www.w3.org/2005/XQueryX"]: "xqx", + ["http://www.w3.org/2007/xquery-update-10"]: "xquf", + ["http://fontoxml.com/fontoxpath"]: "x" + }; + function Zu(a, b) { + switch (a) { + case "copySource": + case "insertAfter": + case "insertAsFirst": + case "insertAsLast": + case "insertBefore": + case "insertInto": + case "modifyExpr": + case "newNameExpr": + case "replacementExpr": + case "replaceValue": + case "returnExpr": + case "sourceExpr": + case "targetExpr": + case "transformCopies": + case "transformCopy": + return { + localName: a, + lb: b || "http://www.w3.org/2005/XQueryX" + }; + case "deleteExpr": + case "insertExpr": + case "renameExpr": + case "replaceExpr": + case "transformExpr": + return { + localName: a, + lb: "http://www.w3.org/2007/xquery-update-10" + }; + case "x:stackTrace": + return { + localName: "stackTrace", + lb: "http://fontoxml.com/fontoxpath" + }; + default: + return { + localName: a, + lb: "http://www.w3.org/2005/XQueryX" + }; + } + } + function $u(a, b, c, d, e) { + if ("string" === typeof c) return 0 === c.length ? null : b.createTextNode(c); + if (!Array.isArray(c)) throw new TypeError("JsonML element should be an array or string"); + var f = Zu(c[0], d); + d = f.localName; + f = f.lb; + const h = b.createElementNS(f, Yu[f] + ":" + d), + k = c[1]; + var l = 1; + if ("object" === typeof k && !Array.isArray(k)) { + if (null !== k) for (var n of Object.keys(k)) l = k[n], null !== l && ("type" === n ? void 0 !== l && a.setAttributeNS(h, f, "fontoxpath:" + n, Ha(l)) : ("start" !== n && "end" !== n && "comment" !== n || "stackTrace" !== d || (l = JSON.stringify(l)), e && "prefix" === n && "" === l || a.setAttributeNS(h, f, Yu[f] + ":" + n, l))); + l = 2; + } + for (let t = l, u = c.length; t < u; ++t) n = $u(a, b, c[t], f, e), null !== n && a.insertBefore(h, n, null); + return h; + } + function av(a, b, c, d = ab) { + a = Pk(a); + let e; + try { + e = qq(a, { + Z: "XQuery3.1" === b.language || "XQueryUpdate3.1" === b.language, + debug: b.debug + }); + } catch (l) { + hg(a, l); + } + var f = new qg(b.namespaceResolver || (() => null), {}, void 0 === b.defaultFunctionNamespaceURI ? "http://www.w3.org/2005/xpath-functions" : b.defaultFunctionNamespaceURI, b.functionNameResolver || (() => null)); + f = new Cg(f); + var h = F(e, ["mainModule", "libraryModule"]), + k = F(h, "moduleDecl"); + if (k) { + const l = H(F(k, "prefix")); + k = H(F(k, "uri")); + Gg(f, l, k); + } + (h = F(h, "prolog")) && tq(h, f, !1, a); + !1 !== b.annotateAst && jh(e, new rh(f)); + f = new Za(); + b = $u(d, c, e, null, !1 === b.mc); + d.insertBefore(b, c.createComment(a), f.getFirstChild(b)); + return b; + } + function bv(a) { + return Promise.resolve(a); + } + function cv(a, b = { + debug: !1 + }) { + try { + var c = qq(a, { + Z: !0, + debug: b.debug + }); + } catch (f) { + hg(a, f); + } + jh(c, new rh()); + b = F(c, "libraryModule"); + if (!b) throw Error("XQuery module must be declared in a library module."); + c = F(b, "moduleDecl"); + var d = F(c, "uri"); + const e = H(d); + c = F(c, "prefix"); + d = H(c); + c = new Cg(new qg(() => null, Object.create(null), "http://www.w3.org/2005/xpath-functions", Oq("http://www.w3.org/2005/xpath-functions"))); + Gg(c, d, e); + b = F(b, "prolog"); + if (null !== b) { + let f; + try { + f = tq(b, c, !0, a); + } catch (h) { + hg(a, h); + } + f.Ia.forEach(({ + namespaceURI: h + }) => { + if (e !== h) throw Error("XQST0048: Functions and variables declared in a module must reside in the module target namespace."); + }); + Mk(e, f); + } else Mk(e, { + Ia: [], + Ta: [], + pa: null, + source: a + }); + return e; + } + const dv = new Map(); + function ev(a) { + var b; + a: { + if (b = Gk.get(a)) for (const c of Object.keys(b)) if (b[c] && b[c].length) { + b = b[c][0].h; + break a; + } + b = null; + } + if (b) return b; + if (dv.has(a)) return dv.get(a); + b = "string" === typeof a ? qq(a, { + Z: !1 + }) : Kk(a); + b = J(b, ["mainModule", "queryBody", "*"]); + if (null === b) throw Error("Library modules do not have a specificity"); + b = Fk(b, { + sa: !1, + Z: !1 + }); + dv.set(a, b); + return b; + } + function fv(a) { + return ev(a).D(); + } + function gv(a, b) { + return uf(ev(a).o, ev(b).o); + } + var hv = new Za(); + "undefined" !== typeof fontoxpathGlobal && (fontoxpathGlobal.compareSpecificity = gv, fontoxpathGlobal.compileXPathToJavaScript = Ru, fontoxpathGlobal.domFacade = hv, fontoxpathGlobal.evaluateXPath = $q, fontoxpathGlobal.evaluateXPathToArray = er, fontoxpathGlobal.evaluateXPathToAsyncIterator = ar, fontoxpathGlobal.evaluateXPathToBoolean = fr, fontoxpathGlobal.evaluateXPathToFirstNode = gr, fontoxpathGlobal.evaluateXPathToMap = hr, fontoxpathGlobal.evaluateXPathToNodes = ir, fontoxpathGlobal.evaluateXPathToNumber = jr, fontoxpathGlobal.evaluateXPathToNumbers = kr, fontoxpathGlobal.evaluateXPathToString = lr, fontoxpathGlobal.evaluateXPathToStrings = mr, fontoxpathGlobal.evaluateUpdatingExpression = cr, fontoxpathGlobal.evaluateUpdatingExpressionSync = dr, fontoxpathGlobal.executeJavaScriptCompiledXPath = Xu, fontoxpathGlobal.executePendingUpdateList = nr, fontoxpathGlobal.getBucketForSelector = fv, fontoxpathGlobal.getBucketsForNode = Ya, fontoxpathGlobal.precompileXPath = bv, fontoxpathGlobal.registerXQueryModule = cv, fontoxpathGlobal.registerCustomXPathFunction = Vu, fontoxpathGlobal.parseScript = av, fontoxpathGlobal.profiler = Xq, fontoxpathGlobal.createTypedValueFactory = Mq, fontoxpathGlobal.finalizeModuleRegistration = Ok, fontoxpathGlobal.Language = Zq, fontoxpathGlobal.ReturnType = Tq); + return fontoxpathGlobal; +}.call(typeof window === 'undefined' ? undefined : window, xspattern, prsc); +fontoxpath.compareSpecificity; +fontoxpath.compileXPathToJavaScript; +const createTypedValueFactory = fontoxpath.createTypedValueFactory; +const domFacade = fontoxpath.domFacade; +fontoxpath.evaluateUpdatingExpression; +fontoxpath.evaluateUpdatingExpressionSync; +const evaluateXPath$1 = fontoxpath.evaluateXPath; +fontoxpath.evaluateXPathToArray; +fontoxpath.evaluateXPathToAsyncIterator; +const evaluateXPathToBoolean$1 = fontoxpath.evaluateXPathToBoolean; +const evaluateXPathToFirstNode$1 = fontoxpath.evaluateXPathToFirstNode; +fontoxpath.evaluateXPathToMap; +const evaluateXPathToNodes$1 = fontoxpath.evaluateXPathToNodes; +const evaluateXPathToNumber$1 = fontoxpath.evaluateXPathToNumber; +fontoxpath.evaluateXPathToNumbers; +const evaluateXPathToString$1 = fontoxpath.evaluateXPathToString; +const evaluateXPathToStrings$1 = fontoxpath.evaluateXPathToStrings; +fontoxpath.executeJavaScriptCompiledXPath; +fontoxpath.executePendingUpdateList; +fontoxpath.finalizeModuleRegistration; +fontoxpath.getBucketForSelector; +const getBucketsForNode = fontoxpath.getBucketsForNode; +fontoxpath.Language; +const parseScript = fontoxpath.parseScript; +fontoxpath.precompileXPath; +fontoxpath.profiler; +const registerCustomXPathFunction = fontoxpath.registerCustomXPathFunction; +const registerXQueryModule = fontoxpath.registerXQueryModule; +fontoxpath.ReturnType; + +/** + * A DomFacade that will intercept any and all accesses to _nodes_ from an XPath. Basically the same + * as the `depends` function, but less explicit and will automatically be called for any node that + * will be touched in the XPath. + * + * Maybe some more granularity is better. Maybe only notify a node's attributes are touched? + * + */ +class DependencyNotifyingDomFacade { + /** + * @param onNodeTouched - onNodeTouched A function what will be executed whenever a node is 'touched' by the XPath + */ + constructor(onNodeTouched) { + this._onNodeTouched = onNodeTouched; + } + + /** + * Get all attributes of this element. + * The bucket can be used to narrow down which attributes should be retrieved. + * + * @param node - + */ + // eslint-disable-next-line class-methods-use-this + getAllAttributes(node) { + this._onNodeTouched(node); // <== Important! + return Array.from(node.attributes); + } + + /** + * Get the value of specified attribute of this element. + * + * @param node - + * @param attributeName - + */ + // eslint-disable-next-line class-methods-use-this + getAttribute(node, attributeName) { + const attr = node.getAttributeNode(attributeName); + console.log('[DomFacade] getAttribute touched:', attr); + if (attr) this._onNodeTouched(attr); + return attr?.value ?? null; + } + + /** + * Get all child nodes of this element. + * The bucket can be used to narrow down which child nodes should be retrieved. + * + * @param node - + * @param bucket - The bucket that matches the attribute that will be used. + */ + // eslint-disable-next-line class-methods-use-this + getChildNodes(node, bucket) { + const matchingNodes = Array.from(node.childNodes).filter(childNode => !bucket || getBucketsForNode(childNode).includes(bucket)); + matchingNodes.forEach(matchingNode => this._onNodeTouched(matchingNode)); + return matchingNodes; + } + + /** + * Get the data of this node. + * + * @param node - + */ + getData(node) { + if (node.nodeType === Node.ATTRIBUTE_NODE) { + // console.log('[DomFacade] getData on attribute:', node); + this._onNodeTouched(node); + return node.value; + } + // Text node + // console.log('[DomFacade] getData on text node parent:', node.parentNode); + this._onNodeTouched(node.parentNode); + return node.data; + } + + /** + * Get the first child of this element. + * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage. + * + * @param node - + * @param bucket - The bucket that matches the attribute that will be used. + */ + getFirstChild(node, bucket) { + for (const child of node.childNodes) { + if (!bucket || getBucketsForNode(child).includes(bucket)) { + this._onNodeTouched(child); + return child; + } + } + return null; + } + + /** + * Get the last child of this element. + * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage. + * + * @param node - + * @param bucket - The bucket that matches the attribute that will be used. + */ + // eslint-disable-next-line class-methods-use-this + getLastChild(node, bucket) { + const children = Array.from(node.childNodes).filter(child => !bucket || getBucketsForNode(child).includes(bucket)); + const last = children[children.length - 1]; + if (last) this._onNodeTouched(last); + return last || null; + } + + /** + * Get the next sibling of this node + * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage. + * + * @param node - + * @param bucket - The bucket that matches the nextSibling that is requested. + */ + // eslint-disable-next-line class-methods-use-this + getNextSibling(node, bucket) { + for (let sibling = node.nextSibling; sibling; sibling = sibling.nextSibling) { + if (bucket && !getBucketsForNode(sibling).includes(bucket)) { + // eslint-disable-next-line no-continue + continue; + } + this._onNodeTouched(sibling); + return sibling; + } + return null; + } + + /** + * Get the parent of this element. + * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage. + * + * @param node - the starting node + */ + // eslint-disable-next-line class-methods-use-this + getParentNode(node) { + const parent = node.parentNode; + /* + if ( + parent && + (parent.nodeType === Node.ELEMENT_NODE || parent.nodeType === Node.ATTRIBUTE_NODE) + ) { + this._onNodeTouched(parent); + } + */ + return parent; + } + + /** + * Get the previous sibling of this element. + * An implementation of IDomFacade is free to interpret the bucket to skip returning nodes that do not match the bucket, or use this information to its advantage. + * + * @param node - + * @param bucket - The bucket that matches the attribute that will be used. + */ + // eslint-disable-next-line class-methods-use-this + getPreviousSibling(node, bucket) { + for (let sibling = node.previousSibling; sibling; sibling = sibling.previousSibling) { + if (bucket && !getBucketsForNode(sibling).includes(bucket)) continue; + this._onNodeTouched(sibling); + return sibling; + } + return null; + } +} + +function prettifyXml(source) { + const xmlDoc = new DOMParser().parseFromString(source, 'application/xml'); + const xsltDoc = new DOMParser().parseFromString([ + // describes how we want to modify the XML - indent everything + '', ' ', ' ', ' ', + // change to just text() to strip space in text nodes + ' ', ' ', ' ', ' ', ' ', ' ', ' ', ''].join('\n'), 'application/xml'); + const xsltProcessor = new XSLTProcessor(); + xsltProcessor.importStylesheet(xsltDoc); + const resultDoc = xsltProcessor.transformToDocument(xmlDoc); + const resultXml = new XMLSerializer().serializeToString(resultDoc); + return resultXml; +} + +const XFORMS_NAMESPACE_URI = 'http://www.w3.org/2002/xforms'; +const createdNamespaceResolversByXPathQueryAndNode = new Map(); + +// A global registry of function names that are declared in Fore by a developer using the +// `fx-function` element. These should be available without providing a prefix as well +const globallyDeclaredFunctionLocalNames = []; +function getCachedNamespaceResolver(xpath, node) { + if (!createdNamespaceResolversByXPathQueryAndNode.has(xpath)) { + return null; + } + return createdNamespaceResolversByXPathQueryAndNode.get(xpath).get(node) || null; +} +function setCachedNamespaceResolver(xpath, node, resolver) { + if (!createdNamespaceResolversByXPathQueryAndNode.has(xpath)) { + return createdNamespaceResolversByXPathQueryAndNode.set(xpath, new Map()); + } + return createdNamespaceResolversByXPathQueryAndNode.get(xpath).set(node, resolver); +} +const xhtmlNamespaceResolver = prefix => { + if (!prefix) { + return 'http://www.w3.org/1999/xhtml'; + } + return undefined; +}; + +/** + * Resolve an id in scope. Behaves like the algorithm defined on https://www.w3.org/community/xformsusers/wiki/XForms_2.0#idref-resolve + * + * @param {string} id + * @param {Node} sourceObject + * @param {string} nodeName + * + * @returns {HTMLElement} The element with that ID, resolved with respect to repeats + */ +function resolveId(id, sourceObject, nodeName = null) { + const query = 'outermost(ancestor-or-self::fx-fore[1]/(descendant::fx-fore|descendant::*[@id = $id]))[not(self::fx-fore)]'; + /* + if (nodeName === 'fx-instance') { + // Instance elements can only be in the `model` element + // query = 'ancestor-or-self::fx-fore[1]/fx-model/fx-instance[@id = $id]'; + const fore = Fore.getFore(sourceObject); + const instances = fore.getModel().instances; + const targetInstance = instances.find(i => i.id === id); + return targetInstance; + return document.getElementById(id); + } + */ + if (sourceObject.nodeType === Node.TEXT_NODE) { + sourceObject = sourceObject.parentNode; + } + if (sourceObject.nodeType === Node.ATTRIBUTE_NODE) { + sourceObject = sourceObject.ownerElement; + } + if (sourceObject.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + sourceObject = sourceObject.parentNode.host; + } + const ownerForm = sourceObject.localName === 'fx-fore' ? sourceObject : sourceObject.closest('fx-fore'); + const elementsWithId = ownerForm.querySelectorAll(`[id='${id}']`); + if (elementsWithId.length === 1) { + // A single one is found. Assume no ID reuse. + const targetObject = elementsWithId[0]; + if (nodeName && targetObject.localName !== nodeName) { + return null; + } + return targetObject; + } + const allMatchingTargetObjects = evaluateXPathToNodes$1(query, sourceObject, null, { + id + }, { + namespaceResolver: xhtmlNamespaceResolver + }); + if (allMatchingTargetObjects.length === 0) { + return null; + } + if (allMatchingTargetObjects.length === 1 && evaluateXPathToBoolean$1('(ancestor::fx-fore | ancestor::fx-repeat)[last()]/self::fx-fore', allMatchingTargetObjects[0], null, null, { + namespaceResolver: xhtmlNamespaceResolver + })) { + // If the target element is not repeated, then the search for the target object is trivial since + // there is only one associated with the target element that bears the matching ID. This is true + // regardless of whether or not the source object is repeated. However, if the target element is + // repeated, then additional information must be used to help select a target object from among + // those associated with the identified target element. + const targetObject = allMatchingTargetObjects[0]; + if (nodeName && targetObject.localName !== nodeName) { + return null; + } + return targetObject; + } + + // SPEC: + + // 12.2.1 References to Elements within a repeat Element + + // When the target element that is identified by the IDREF of a source object has one or more + // repeat elements as ancestors, then the set of ancestor repeats are partitioned into two + // subsets, those in common with the source element and those that are not in common. Any ancestor + // repeat elements of the target element not in common with the source element are descendants of + // the repeat elements that the source and target element have in common, if any. + + // For the repeat elements that are in common, the desired target object exists in the same set of + // run-time objects that contains the source object. Then, for each ancestor repeat of the target + // element that is not in common with the source element, the current index of the repeat + // determines the set of run-time objects that contains the desired target object. + for (const ancestorRepeatItem of evaluateXPathToNodes$1('ancestor::fx-repeatitem => reverse()', sourceObject, null, null, { + namespaceResolver: xhtmlNamespaceResolver + })) { + const foundTargetObjects = allMatchingTargetObjects.filter(to => XPathUtil.contains(ancestorRepeatItem, to)); + switch (foundTargetObjects.length) { + case 0: + // Nothing found: ignore + break; + case 1: + { + // A single one is found: the target object is directly in a common repeat + const targetObject = foundTargetObjects[0]; + if (nodeName && targetObject.localName !== nodeName) { + return null; + } + return targetObject; + } + default: + { + // Multiple target objects are found: they are in a repeat that is not common with the + // source object We found a target object in a common repeat! We now need to find the one + // that is in the repeatitem identified at the current index + const targetObject = foundTargetObjects.find(to => evaluateXPathToNodes$1('every $ancestor of ancestor::fx-repeatitem satisfies $ancestor is $ancestor/../child::fx-repeatitem[../@repeat-index]', to, null, {})); + if (!targetObject) { + // Nothing valid found for whatever reason. This might be something dynamic? + return null; + } + if (nodeName && targetObject.localName !== nodeName) { + return null; + } + return targetObject; + } + } + } + // We found no target objects in common repeats. The id is unresolvable + return null; +} + +// Make namespace resolving use the `instance` element that is related to here +const xmlDocument = new DOMParser().parseFromString('', 'text/xml'); +const instanceReferencesByQuery = new Map(); +function findInstanceReferences(xpathQuery) { + if (!xpathQuery.includes('instance')) { + // No call to the instance function anyway: short-circuit and prevent AST processing + return []; + } + if (instanceReferencesByQuery.has(xpathQuery)) { + return instanceReferencesByQuery.get(xpathQuery); + } + const xpathAST = parseScript(xpathQuery, {}, xmlDocument); + const instanceReferences = evaluateXPathToStrings$1(`descendant::xqx:functionCallExpr + [xqx:functionName = "instance"] + /xqx:arguments + /xqx:stringConstantExpr + /xqx:value`, xpathAST, null, {}, { + namespaceResolver: prefix => prefix === 'xqx' ? 'http://www.w3.org/2005/XQueryX' : undefined + }); + instanceReferencesByQuery.set(xpathQuery, instanceReferences); + return instanceReferences; +} +/** + * @typedef {function(string):string} NamespaceResolver + */ + +/** + * @function + * Resolve a namespace. Needs a namespace prefix and the element that is most closely related to the + * XPath in which the namespace is being resolved. The prefix will be resolved by using the + * ancestry of said element. + * + * It has two ways of doing so: + * + * - If the prefix is defined in an `xmlns:XXX="YYY"` namespace declaration, it will return 'YYY'. + * - If the prefix is the empty prefix and there is an `xpath-default-namespace="YYY"` attribute in + * - the * ancestry, that attribute will be used and 'YYY' will be returned + * + * @param {string} xpathQuery + * @param {HTMLElement} formElement + * @returns {NamespaceResolver} The namespace resolver for this context + */ +function createNamespaceResolver(xpathQuery, formElement) { + const cachedResolver = getCachedNamespaceResolver(xpathQuery, formElement); + if (cachedResolver) { + return cachedResolver; + } + let instanceReferences = findInstanceReferences(xpathQuery); + if (instanceReferences.length === 0) { + // No instance functions. Look up further in the hierarchy to see if we can deduce the intended context from there + const ancestorComponent = formElement.parentNode && formElement.parentNode.nodeType === formElement.ELEMENT_NODE && formElement.parentNode.closest('[ref]'); + if (ancestorComponent) { + const resolver = createNamespaceResolver(ancestorComponent.getAttribute('ref'), ancestorComponent); + setCachedNamespaceResolver(xpathQuery, formElement, resolver); + return resolver; + } + // Nothing found: let's just assume we're supposed to use the `default` instance + instanceReferences = ['default']; + } + if (instanceReferences.length === 1) { + // console.log(`resolving ${xpathQuery} with ${instanceReferences[0]}`); + let instance; + if (instanceReferences[0] === 'default') { + /** + * @type {HTMLElement} + */ + const actualForeElement = evaluateXPathToFirstNode$1('ancestor-or-self::fx-fore[1]', formElement, null, null, { + namespaceResolver: xhtmlNamespaceResolver + }); + instance = actualForeElement && actualForeElement.querySelector('fx-instance'); + } else { + instance = resolveId(instanceReferences[0], formElement, 'fx-instance'); + } + if (instance && instance.hasAttribute('xpath-default-namespace')) { + const xpathDefaultNamespace = instance.getAttribute('xpath-default-namespace'); + /* + console.log( + `Resolving the xpath ${xpathQuery} with the default namespace set to ${xpathDefaultNamespace}`, + ); + */ + /** + * @type {NamespaceResolver} + */ + const resolveNamespacePrefix = prefix => { + if (!prefix) { + return xpathDefaultNamespace; + } + return undefined; + }; + setCachedNamespaceResolver(xpathQuery, formElement, resolveNamespacePrefix); + return resolveNamespacePrefix; + } + } + /* + if (instanceReferences.length > 1) { + console.warn( + `More than one instance is used in the query "${xpathQuery}". The default namespace resolving will be used`, + ); + } + */ + + const xpathDefaultNamespace = evaluateXPathToString$1('ancestor-or-self::*/@xpath-default-namespace[last()]', formElement) || ''; + + /** + * @type {NamespaceResolver} + */ + const resolveNamespacePrefix = function resolveNamespacePrefix(prefix) { + if (prefix === '') { + return xpathDefaultNamespace; + } + + // Note: ideally we should use Node#lookupNamespaceURI. However, the nodes we are passed are + // XML. The best we can do is emulate the `xmlns:xxx` namespace declarations by regarding them as + // attributes. Which they technically ARE NOT! + + return evaluateXPathToString$1('ancestor-or-self::*/@*[name() = "xmlns:" || $prefix][last()]', formElement, null, { + prefix + }); + }; + setCachedNamespaceResolver(xpathQuery, formElement, resolveNamespacePrefix); + return resolveNamespacePrefix; +} +function createNamespaceResolverForNode(query, contextNode, formElement) { + if ((contextNode && contextNode.ownerDocument || contextNode) === window.document) { + // Running a query on the HTML DOM. Don't bother resolving namespaces in any other way + return xhtmlNamespaceResolver; + } + return createNamespaceResolver(query, formElement); +} + +/** + * Implementation of the functionNameResolver passed to FontoXPath to + * redirect function resolving for unprefixed functions to either the fn or the xf namespace + */ +// eslint-disable-next-line no-unused-vars +function functionNameResolver({ + prefix, + localName +}, _arity) { + switch (localName) { + // TODO: put the full XForms library functions set here + case 'context': + case 'base64encode': + case 'boolean-from-string': + case 'current': + case 'depends': + case 'event': + case 'fore-attr': + case 'index': + case 'instance': + case 'json2xml': + case 'xml2Json': + case 'log': + case 'parse': + case 'local-date': + case 'local-dateTime': + case 'logtree': + case 'uri': + case 'uri-fragment': + case 'uri-host': + case 'uri-param': + case 'uri-path': + case 'uri-relpath': + case 'uri-port': + case 'uri-query': + case 'uri-scheme': + case 'uri-scheme-specific-part': + return { + namespaceURI: XFORMS_NAMESPACE_URI, + localName + }; + default: + if (prefix === '' && globallyDeclaredFunctionLocalNames.includes(localName)) { + // The function has been declared without a prefix and is called here without a prefix. + // Just make this work. It is the developer-friendly way + return { + namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', + localName + }; + } + if (prefix === 'fn' || prefix === '') { + return { + namespaceURI: 'http://www.w3.org/2005/xpath-functions', + localName + }; + } + if (prefix === 'local') { + return { + namespaceURI: 'http://www.w3.org/2005/xquery-local-functions', + localName + }; + } + return null; + } +} + +/** + * Get the variables in scope of the form element. These are the values of the variables that + * logically precede the formElement that declares the XPath + * + * @param {Node} formElement The element that declares the XPath + * + * @returns {Object} A key-value mapping of the variables + */ +function getVariablesInScope(formElement) { + let closestActualFormElement = formElement; + while (closestActualFormElement && !('inScopeVariables' in closestActualFormElement)) { + closestActualFormElement = closestActualFormElement.nodeType === Node.ATTRIBUTE_NODE ? closestActualFormElement.ownerElement : closestActualFormElement.parentNode; + } + if (!closestActualFormElement) { + return {}; + } + const variables = {}; + if (closestActualFormElement.inScopeVariables) { + for (const key of closestActualFormElement.inScopeVariables.keys()) { + const varElementOrValue = closestActualFormElement.inScopeVariables.get(key); + if (!varElementOrValue) { + continue; + } + if (varElementOrValue.nodeType) { + // We are a var element, set the value to the value computed there + variables[key] = varElementOrValue.value; + // variables[key] = varElementOrValue.inScopeVariables.get(key); + } else { + // We are a direct value. This is used to leak in event variables + variables[key] = varElementOrValue; + } + } + } + return variables; +} + +/** + * Evaluate an XPath to _any_ type. When possible, prefer to use any other function to ensure the + * type of the output is more predictable. + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {import('./ForeElementMixin.js').default} formElement The form element associated to the XPath + * @param {Object} variables Any variables to pass to the XPath + * @param {Object} options Any options to pass to the XPath + * + * @returns {any[]} + */ +/* +export function evaluateXPath(xpath, contextNode, formElement, variables = {}, options={}, domFacade = null) { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + + return fxEvaluateXPath( + xpath, + contextNode, + domFacade, + {...variablesInScope, ...variables}, + fxEvaluateXPath.ALL_RESULTS_TYPE, + { + debug: true, + currentContext: {formElement, variables}, + moduleImports: { + xf: XFORMS_NAMESPACE_URI, + }, + functionNameResolver, + namespaceResolver, + language: options.language || evaluateXPath.XPATH_3_1 + }, + ); +} +*/ +function evaluateXPath(xpath, contextNode, formElement, variables = {}, options = {}) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + const result = evaluateXPath$1(xpath, contextNode, null, { + ...variablesInScope, + ...variables + }, evaluateXPath$1.ALL_RESULTS_TYPE, { + debug: true, + currentContext: { + formElement, + variables + }, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + functionNameResolver, + namespaceResolver, + language: options.language || evaluateXPath$1.XPATH_3_1_LANGUAGE + }); + // console.log('evaluateXPath',xpath, result); + return result; + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + + /* + formElement.dispatchEvent( + new CustomEvent('error', { + composed: false, + bubbles: true, + cancelable:true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed`, + expr:xpath, + level:'Error'}, + }), + ); + */ + // Return 'nothing' in hope the rest of the page can forgive this + return []; + } +} +/** + * Evaluate an XPath to the first Node + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {import('./ForeElementMixin.js').default} formElement The form element associated to the XPath + * @returns {Node} The first node found in the XPath + */ +function evaluateXPathToFirstNode(xpath, contextNode, formElement) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + const result = evaluateXPathToFirstNode$1(xpath, contextNode, null, variablesInScope, { + defaultFunctionNamespaceURI: XFORMS_NAMESPACE_URI, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + currentContext: { + formElement + }, + functionNameResolver, + namespaceResolver + }); + // console.log('evaluateXPathToFirstNode',xpath, result); + return result; + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} + +/** + * Evaluate an XPath to all nodes + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {import('./ForeElementMixin.js').default} formElement The form element associated to the XPath + * @return {Node[]} All nodes + */ +function evaluateXPathToNodes(xpath, contextNode, formElement) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + const result = evaluateXPathToNodes$1(xpath, contextNode, null, variablesInScope, { + currentContext: { + formElement + }, + functionNameResolver, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + namespaceResolver + }); + // console.log('evaluateXPathToNodes',xpath, result); + return result; + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} + +/** + * Evaluate an XPath to a boolean + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {import('./ForeElementMixin.js').default} formElement The form element associated to the XPath + * @return {boolean} + */ +function evaluateXPathToBoolean(xpath, contextNode, formElement) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + return evaluateXPathToBoolean$1(xpath, contextNode, null, variablesInScope, { + currentContext: { + formElement + }, + functionNameResolver, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + namespaceResolver + }); + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} + +/** + * Evaluate an XPath to a string + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {Node} formElement The form element associated to the XPath + * @param {Node} formElement The element where the XPath is defined: used for namespace resolving + * @param {import('fontoxpath').IDomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM + * access. This is used to determine dependencies between bind elements. + * @return {string} + */ +function evaluateXPathToString(xpath, contextNode, formElement, domFacade = null) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + return evaluateXPathToString$1(xpath, contextNode, domFacade, variablesInScope, { + currentContext: { + formElement + }, + functionNameResolver, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + namespaceResolver + }); + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} + +/** + * Evaluate an XPath to a set of strings + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {Node} formElement The form element associated to the XPath + * @param {Node} formElement The element where the XPath is defined: used for namespace resolving + * @param {import('fontoxpath').IDomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM + * access. This is used to determine dependencies between bind elements. + * @return {string[]} + */ +function evaluateXPathToStrings(xpath, contextNode, formElement, domFacade = null) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + return evaluateXPathToStrings$1(xpath, contextNode, domFacade, {}, { + currentContext: { + formElement + }, + functionNameResolver, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + namespaceResolver + }); + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} + +/** + * Evaluate an XPath to a number + * + * @param {string} xpath The XPath to run + * @param {Node} contextNode The start of the XPath + * @param {Node} formElement The form element associated to the XPath + * @param {Node} formElement The element where the XPath is defined: used for namespace resolving + * @param {import('fontoxpath').IDomFacade} [domFacade=null] A DomFacade is used in bindings to intercept DOM + * access. This is used to determine dependencies between bind elements. + * @return {number} + */ +function evaluateXPathToNumber(xpath, contextNode, formElement, domFacade = null) { + try { + const namespaceResolver = createNamespaceResolverForNode(xpath, contextNode, formElement); + const variablesInScope = getVariablesInScope(formElement); + return evaluateXPathToNumber$1(xpath, contextNode, domFacade, variablesInScope, { + currentContext: { + formElement + }, + functionNameResolver, + moduleImports: { + xf: XFORMS_NAMESPACE_URI + }, + namespaceResolver + }); + } catch (e) { + formElement.dispatchEvent(new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + origin: formElement, + message: `Expression '${xpath}' failed: ${e}`, + expr: xpath, + level: 'Error' + } + })); + } +} +const contextFunction = (dynamicContext, string) => { + const caller = dynamicContext.currentContext.formElement; + let instance = null; + if (string) { + instance = resolveId(string, caller); + } else { + instance = XPathUtil.getParentBindingElement(caller); + } + if (instance) { + if (instance.nodeName === 'FX-REPEAT') { + const { + nodeset + } = instance; + for (let parent = caller; parent; parent = parent.parentNode) { + if (parent.parentNode === instance) { + const offset = Array.from(parent.parentNode.children).indexOf(parent); + return nodeset[offset]; + } + } + } + return instance.nodeset; + } + return caller.getInScopeContext(); +}; + +// todo: implement +const currentFunction = (dynamicContext, string) => { + dynamicContext.currentContext.formElement; + return null; +}; +const elementFunction = (dynamicContext, string) => { + dynamicContext.currentContext.formElement; + const newElement = document.createElement(string); + return newElement; +}; + +/** + * @param id as string + * @return instance data for given id serialized to string. + */ +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'context' +}, [], 'item()?', contextFunction); + +/** + * @param id as string + * @return instance data for given id serialized to string. + */ +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'context' +}, ['xs:string'], 'item()?', contextFunction); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'current' +}, ['xs:string'], 'item()?', currentFunction); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'element' +}, ['xs:string'], 'item()?', elementFunction); + +/** + * @param id as string + * @return instance data for given id serialized to string. + */ +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'log' +}, ['xs:string?'], 'xs:string?', (dynamicContext, string) => { + const { + formElement + } = dynamicContext.currentContext; + const instance = resolveId(string, formElement, 'fx-instance'); + if (instance) { + if (instance.getAttribute('type') === 'json') { + console.warn('log() does not work for JSON yet'); + // return JSON.stringify(instance.getDefaultContext()); + } else { + const def = new XMLSerializer().serializeToString(instance.getDefaultContext()); + return prettifyXml(def); + } + } + return null; +}); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'fore-attr' +}, ['xs:string?'], 'xs:string?', (dynamicContext, string) => { + const { + formElement + } = dynamicContext.currentContext; + let parent = formElement; + if (formElement.nodeType === Node.TEXT_NODE) { + parent = formElement.parentNode; + } + const foreElement = parent.closest('fx-fore'); + if (foreElement.hasAttribute(string)) { + return foreElement.getAttribute(string); + } + return null; +}); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'parse' +}, ['xs:string?'], 'element()?', (_dynamicContext, string) => { + const parser = new DOMParser(); + const out = parser.parseFromString(string, 'application/xml'); + console.log('parse', out); + + /* + const {formElement} = dynamicContext.currentContext; + const instance = resolveId(string, formElement, 'fx-instance'); + if (instance) { + if (instance.getAttribute('type') === 'json') { + console.warn('log() does not work for JSON yet'); + // return JSON.stringify(instance.getDefaultContext()); + } else { + const def = new XMLSerializer().serializeToString(instance.getDefaultContext()); + return Fore.prettifyXml(def); + } + } + */ + return out.firstElementChild; +}); +function buildTree(tree, data) { + if (!data) return; + if (data.nodeType === Node.ELEMENT_NODE) { + if (data.children) { + const details = document.createElement('details'); + details.setAttribute('data-path', data.nodeName); + const summary = document.createElement('summary'); + let display = ` <${data.nodeName}`; + Array.from(data.attributes).forEach(attr => { + display += ` ${attr.nodeName}="${attr.nodeValue}"`; + }); + let contents; + if (data.firstChild && data.firstChild.nodeType === Node.TEXT_NODE && data.firstChild.data.trim() !== '') { + // console.log('whoooooooooopp'); + contents = data.firstChild.nodeValue; + display += `>${contents}`; + } else { + display += '>'; + } + summary.textContent = display; + details.appendChild(summary); + if (data.childElementCount !== 0) { + details.setAttribute('open', 'open'); + } else { + summary.setAttribute('style', 'list-style:none;'); + } + tree.appendChild(details); + Array.from(data.children).forEach(child => { + // if(child.nodeType === Node.ELEMENT_NODE){ + // child.parentNode.appendChild(buildTree(child)); + buildTree(details, child); + // } + }); + } + } /* else if(data.nodeType === Node.ATTRIBUTE_NODE){ + //create span for now + // const span = document.createElement('span'); + // span.style.background = 'grey'; + // span.textContent = data.value; + // tree.appendChild(span); + tree.setAttribute(data.nodeName,data.value); + }else { + tree.textContent = data; + } */ + + // return tree; +} + +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'logtree' +}, ['xs:string?'], 'element()?', (dynamicContext, string) => { + const { + formElement + } = dynamicContext.currentContext; + const instance = resolveId(string, formElement, 'fx-instance'); + if (instance) { + // const def = new XMLSerializer().serializeToString(instance.getDefaultContext()); + // const def = JSON.stringify(instance.getDefaultContext()); + + const treeDiv = document.createElement('div'); + treeDiv.setAttribute('class', 'logtree'); + // const datatree = buildTree(tree,instance.getDefaultContext()); + // return tree.appendChild(datatree); + // return buildTree(root,instance.getDefaultContext());; + const form = dynamicContext.currentContext.formElement; + const logtree = form.querySelector('.logtree'); + if (logtree) { + logtree.parentNode.removeChild(logtree); + } + const tree = buildTree(treeDiv, instance.getDefaultContext()); + if (tree) { + form.appendChild(tree); + } + } + return null; +}); +const instance = (dynamicContext, string) => { + // Spec: https://www.w3.org/TR/xforms-xpath/#The_XForms_Function_Library#The_instance.28.29_Function + // TODO: handle no string passed (null will be passed instead) + + /** + * @type {import('./fx-fore.js').FxFore} + */ + const formElement = evaluateXPathToFirstNode$1('ancestor-or-self::fx-fore[1]', dynamicContext.currentContext.formElement, null, null, { + namespaceResolver: xhtmlNamespaceResolver + }); + let lookup = null; + if (string === null || string === 'default') { + lookup = formElement.getModel().getDefaultInstance(); + } else { + lookup = formElement.getModel().getInstance(string); + if (!lookup) { + document.querySelector('fx-fore').dispatchEvent(new CustomEvent('error', { + composed: true, + bubbles: true, + detail: { + origin: 'functions', + message: `Instance not found '${string}'`, + level: 'Error' + } + })); + } + } + const context = lookup.getDefaultContext(); + if (!context) { + return null; + } + return context; +}; +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'index' +}, ['xs:string?'], 'xs:integer?', (dynamicContext, string) => { + const { + formElement + } = dynamicContext.currentContext; + if (string === null) { + return 1; + } + const repeat = resolveId(string, formElement, 'fx-repeat'); + + // const def = instance.getInstanceData(); + if (repeat) { + return repeat.getAttribute('index'); + } + return Number(1); +}); + +// Note that this is not to spec. The spec enforces elements to be returned from the +// instance. However, we allow instances to actually be JSON! +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'instance' +}, [], 'item()?', domFacade => instance(domFacade, null)); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'instance' +}, ['xs:string?'], 'item()?', instance); +const jsonToXml = (_dynamicContext, json) => { + const escapeXml = str => str.replace(/[^\u0009\u000A\u000D\u0020-\uD7FF\uE000-\uFFFD]/g, char => `\\u${char.charCodeAt(0).toString(16).padStart(4, '0')}`); + const convert = (obj, parent) => { + const type = typeof obj; + if (type === 'number') { + parent.setAttribute('type', 'number'); + parent.textContent = obj.toString(); + } else if (type === 'boolean') { + parent.setAttribute('type', 'boolean'); + parent.textContent = obj.toString(); + } else if (obj === null) { + const node = document.createElement('_'); + node.setAttribute('type', 'null'); + parent.appendChild(node); + } else if (type === 'string') { + parent.textContent = escapeXml(obj); + } else if (Array.isArray(obj)) { + parent.setAttribute('type', 'array'); + obj.forEach(item => { + const node = document.createElement('_'); + convert(item, node); + node.textContent = item; + parent.appendChild(node); + }); + } else if (type === 'object') { + parent.setAttribute('type', 'object'); + Object.entries(obj).forEach(([key, value]) => { + if (value) { + const childNode = document.createElement(key.replace(/[^a-zA-Z0-9_]/g, '_')); + convert(value, childNode); + parent.appendChild(childNode); + } + }); + } + }; + const root = document.createElement('json'); + if (Array.isArray(json)) { + root.setAttribute('type', 'array'); + } else { + root.setAttribute('type', 'object'); + } + convert(json, root); + // return root.outerHTML; + console.log('xml', root); + return root; +}; +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'json2xml' +}, ['item()?'], 'item()?', jsonToXml); +const xmlToJson = (_dynamicContext, xml) => { + const isElementNode = node => node.nodeType === Node.ELEMENT_NODE; + const isTextNode = node => node.nodeType === Node.TEXT_NODE; + const parseNode = node => { + if (isElementNode(node)) { + const obj = {}; + if (node.hasAttributes()) { + obj.type = node.getAttribute('type'); + } + if (node.childNodes.length === 1 && isTextNode(node.firstChild)) { + return node.textContent; + } + for (const child of node.childNodes) { + const childName = child.nodeName; + const childValue = parseNode(child); + if (obj[childName]) { + if (!Array.isArray(obj[childName])) { + obj[childName] = [obj[childName]]; + } + obj[childName].push(childValue); + } else { + obj[childName] = childValue; + } + } + return obj; + } + if (isTextNode(node)) { + return node.textContent; + } + return undefined; + }; + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(xml, 'application/xml'); + const root = xmlDoc.documentElement; + return parseNode(root); +}; +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'xmltoJson' +}, ['item()?'], 'item()?', xmlToJson); + +/* +// Example usage: +const xml = 'MarkSmith'; +console.log(xmlToJson(xml)); +*/ + +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'depends' +}, ['node()*'], 'item()?', (_dynamicContext, nodes) => +// console.log('depends on : ', nodes[0]); +nodes[0]); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'event' +}, ['xs:string?'], 'item()?', (dynamicContext, arg) => { + if (!arg) return null; + for (let ancestor = dynamicContext.currentContext.formElement; ancestor; ancestor = ancestor.parentNode) { + if (!ancestor.currentEvent) { + continue; + } + + // We have a current event. read the property either from detail, or from the event + // itself. + // Check detail for custom events! This is how that is passed along + if (ancestor.currentEvent.detail && typeof ancestor.currentEvent.detail === 'object' && arg in ancestor.currentEvent.detail) { + return ancestor.currentEvent.detail[arg]; + } + + // arg might be `code`, so currentEvent.code should work + if (arg.includes('.')) { + return _propertyLookup(ancestor.currentEvent, arg); + } + return ancestor.currentEvent[arg] || null; + } + return null; +}); +function _propertyLookup(obj, path) { + const parts = path.split('.'); + if (parts.length == 1) { + return obj[parts[0]]; + } + return _propertyLookup(obj[parts[0]], parts.slice(1).join('.')); +} + +// Implement the XForms standard functions here. +registerXQueryModule(` + module namespace xf="${XFORMS_NAMESPACE_URI}"; + + declare %public function xf:boolean-from-string($str as xs:string) as xs:boolean { + lower-case($str) = "true" or $str = "1" + }; +`); + +// How to run XQUERY: +/** + registerXQueryModule(` + module namespace my-custom-namespace = "my-custom-uri"; + (:~ + Insert attribute somewhere + ~:) + declare %public %updating function my-custom-namespace:do-something ($ele as element()) as xs:boolean { + if ($ele/@done) then false() else + (insert node + attribute done {"true"} + into $ele, true()) +}; + `) + // At some point: + const contextNode = null; + const pendingUpdatesAndXdmValue = evaluateUpdatingExpressionSync('ns:do-something(.)', contextNode, null, null, {moduleImports: {'ns': 'my-custom-uri'}}) + + console.log(pendingUpdatesAndXdmValue.xdmValue); // this is true or false, see function + + executePendingUpdateList(pendingUpdatesAndXdmValue.pendingUpdateList, null, null, null); + */ + +/** + * @param input as string + * @return {string} + */ +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'base64encode' +}, ['xs:string?'], 'xs:string?', (_dynamicContext, string) => btoa(string)); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'local-date' +}, [], 'xs:string?', (_dynamicContext, _string) => new Date().toLocaleDateString()); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'local-dateTime' +}, [], 'xs:string?', (_dynamicContext, _string) => new Date().toLocaleString()); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri' +}, [], 'xs:string?', (_dynamicContext, _string) => window.location.href); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-fragment' +}, [], 'xs:string?', (_dynamicContext, _arg) => window.location.hash); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-host' +}, [], 'xs:string?', (_dynamicContext, _arg) => window.location.host); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-query' +}, [], 'xs:string?', (_dynamicContext, _arg) => window.location.search); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-relpath' +}, [], 'xs:string?', (_dynamicContext, _arg) => { + const path = new URL(window.location.href).pathname; + return path.substring(0, path.lastIndexOf('/') + 1); +}); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-path' +}, [], 'xs:string?', (_dynamicContext, _arg) => new URL(window.location.href).pathname); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-port' +}, [], 'xs:string?', (_dynamicContext, _arg) => window.location.port); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-param' +}, ['xs:string?'], 'xs:string?', (_dynamicContext, arg) => { + if (!arg) return null; + const { + search + } = window.location; + const urlparams = new URLSearchParams(search); + const param = urlparams.get(arg); + return param || ''; +}); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-scheme' +}, [], 'xs:string?', (_dynamicContext, _arg) => new URL(window.location.href).protocol); +registerCustomXPathFunction({ + namespaceURI: XFORMS_NAMESPACE_URI, + localName: 'uri-scheme-specific-part' +}, [], 'xs:string?', (_dynamicContext, _arg) => { + const uri = window.location.href; + return uri.substring(uri.indexOf(':') + 1, uri.length); +}); + +/** + * @param {Node} node + * @returns string + */ +/* +export static getDocPath(node) { + const path = fx.evaluateXPathToString('path()', node); + // Path is like `$default/x[1]/y[1]` + const shortened = XPathUtil.shortenPath(path); + return shortened.startsWith('/') ? `${shortened}` : `/${shortened}`; +} +*/ + +class XPathUtil { + /** + * Recursively check AST for any dynamic expression components. + */ + static containsDynamicContent(astNode) { + if (!astNode) return false; + + // Location paths, function calls, or variable refs are dynamic + if (astNode.type === 'pathExpression' || astNode.type === 'functionCall' || astNode.type === 'variableReference') { + return true; + } + + // Recursively check any child expressions + for (const key in astNode) { + if (astNode[key] && typeof astNode[key] === 'object') { + if (Array.isArray(astNode[key])) { + for (const item of astNode[key]) { + if (XPathUtil.containsDynamicContent(item)) return true; + } + } else { + if (XPathUtil.containsDynamicContent(astNode[key])) return true; + } + } + } + return false; + } + + /** + * creates DOM Nodes from an XPath locationpath expression. Support namespaced and un-namespaced + * nodes. + * E.g. 'foo/bar' creates an element 'foo' with an child element 'bar' + * 'foo/@bar' creates a 'foo' element with an 'bar' attribute + * + * supports multiple steps + * + * @param xpath + * @param doc {XMLDocument} + * @param fore + * @return {Node|Attr} + */ + static createNodesFromXPath(xpath, doc, fore) { + const resolveNamespace = createNamespaceResolver(xpath, fore); + if (!doc) { + doc = document.implementation.createDocument(null, null, null); // Create a new XML document if not provided + } + + const parts = []; + let scratch = ''; + let isInPredicate = false; + for (const char of xpath.split('')) { + if (!isInPredicate) { + // We are not in a predicate, the slash will terminate our step. + if (char === '/') { + parts.push(scratch); + scratch = ''; + continue; + } + scratch += char; + if (char === '[') { + isInPredicate = true; + } + continue; + } + // We are in a predicate! So the only interesting token is ']', which means we're out of one. + scratch += char; + if (char === ']') { + isInPredicate = false; + } + } + // Flush the last step + parts.push(scratch); + let rootNode = null; + let currentNode = null; + for (const part of parts) { + if (!part) continue; // Skip empty parts (e.g., leading slashes) + if (part === '.') { + // A '.' does not introduce new elements + continue; + } + + // Handle attributes + if (part.startsWith('@')) { + const attrName = part.slice(1); // Strip '@' + if (!currentNode) { + return doc.createAttribute(attrName, ''); + } + currentNode.setAttribute(attrName, ''); + } else { + // We are a predicate selector! Handle it + // This regex matches strings like: + // - listBibl + // - tei:listBibl + // - listBibl[@type="foo"] + // - listBibl[@type="foo"][@class="bar"] + // It will also match strings like + // - listBibl[ancestor-or-self::foo] + // which will be filtered out later. + + const result = part.match(/^(?[\w:-]+)(?(\[[^]*\])*)$/); + if (!result) { + throw new Error(`No element could be made from the XPath step ${part}. It must be of these forms: 'localName', 'prefix:name', 'name[@attr="value"]' et cetera.`); + } + const { + name, + predicates + } = result.groups; + // Handle namespaces if present + const [prefix, localName] = name.includes(':') ? name.split(':') : [null, name]; + const namespace = resolveNamespace(prefix); + const newElement = namespace ? doc.createElementNS(namespace, localName) : doc.createElement(localName); + if (predicates) { + const predicateExtractionRegex = /(\[@(?[\w:-]*)\s?=\s?["'](?[^"']*)['"]\])+/g; + const parsedPredicates = predicates.matchAll(predicateExtractionRegex).map(match => ({ + attrName: match.groups.name, + value: match.groups.value + })); + for (const { + attrName, + value + } of parsedPredicates) { + newElement.setAttribute(attrName, value); + } + } + if (!rootNode) { + rootNode = newElement; // Set as the root node + } else { + currentNode.appendChild(newElement); + } + currentNode = newElement; + } + } + if (!rootNode) { + throw new Error('Invalid XPath; no root element could be created.'); + } + return rootNode; + } + + /** + * looks up namespace on ownerForm. Though not strictly in the sense of resolving namespaces in XML, the + * fx-fore element is a convenient place to put namespace declarations for 2 reasons: + * - this way namespaces are scoped to a Fore element + * - as fx-fore is a web component we can add our xmlns attributes as we got no restrictions to attributes + * though strictly speaking they are no xmlns declarations and just serve the purpose of namespace lookup. + * + * @param boundElement + * @param prefix + * @return {string} + */ + static lookupNamespace(ownerForm, prefix) { + return ownerForm.getAttribute(`xmlns:${prefix}`); + } + static querySelectorAll(querySelector, start) { + const queue = [start]; + const found = []; + while (queue.length) { + const item = queue.shift(); + for (const child of Array.from(item.children).reverse()) { + queue.unshift(child); + } + if (item.matches && item.matches('template')) { + queue.unshift(item.content); + } + if (item.matches && item.matches(querySelector)) { + found.push(item); + } + } + return found; + } + + /** + * Alternative to `contains` that respects shadowroots + * @param {Node} ancestor + * @param {Node} descendant + * @returns {boolean} + */ + static contains(ancestor, descendant) { + while (descendant) { + if (descendant === ancestor) { + return true; + } + if (descendant.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + // We are passing a shadow root boundary + descendant = descendant.host; + } else { + descendant = descendant.parentNode; + } + } + return false; + } + + /** + * Alternative to `closest` that respects subcontrol boundaries + * + * @param {string} querySelector + * @param {Node} start + * @returns {HTMLElement} + */ + static getClosest(querySelector, start) { + while (start && !start.matches || !start.matches(querySelector)) { + if (start.nodeType === Node.DOCUMENT_FRAGMENT_NODE) { + // We are passing a shadow root boundary + start = start.host; + continue; + } + if (start.nodeType === Node.ATTRIBUTE_NODE) { + // We are passing an attribute + start = start.ownerElement; + continue; + } + if (start.nodeType === Node.TEXT_NODE) { + start = start.parentNode; + } + if (start.matches('fx-fore')) { + // Subform reached. Bail out + return null; + } + start = start.parentNode; + if (!start) { + return null; + } + } + return start; + } + + /** + * returns next bound element upwards in tree + * @param {Node} start where to start the search + * @returns {*|null} + */ + static getParentBindingElement(start) { + /* if (start.parentNode.host) { + const { host } = start.parentNode; + if (host.hasAttribute('ref')) { + return host; + } + } else */ + if (start.parentNode && (start.parentNode.nodeType !== Node.DOCUMENT_NODE || start.parentNode.nodeType !== Node.DOCUMENT_FRAGMENT_NODE)) { + return this.getClosest('fx-control[ref],fx-upload[ref],fx-group[ref],fx-repeat[ref], fx-switch[ref],fx-repeatitem', start.parentNode); + } + return null; + } + + /** + * Checks whether the specified path expression is an absolute path. + * + * @param {string} path the path expression. + * @returns {boolean} true if specified path expression is an absolute + * path, otherwise false. + */ + static isAbsolutePath(path) { + return path != null && (path.startsWith('/') || path.startsWith('instance(') || path.startsWith('$')); + } + + /** + * @param {string} ref + */ + static isSelfReference(ref) { + return ref === '.' || ref === './text()' || ref === 'text()' || ref === '' || ref === null; + } + + /** + * returns the instance id from a complete XPath using `instance()` function. + * + * Will return 'default' in case no ref is given at all or the `instance()` function is called without arg. + * + * Otherwise instance id is extracted from function and returned. If all fails null is returned. + * @param {string} ref + * @param {HTMLElement} boundElement The element related to this ref. Used to resolve variables + * @returns {string} + */ + static getInstanceId(ref, boundElement) { + if (!ref) { + return 'default'; + } + if (ref.startsWith('instance()')) { + return 'default'; + } + if (ref.startsWith('instance(')) { + const result = ref.substring(ref.indexOf('(') + 1); + return result.substring(1, result.indexOf(')') - 1); + } + if (ref.startsWith('$')) { + // this variable might actually point to an instance + const variableName = ref.match(/\$(?[a-zA-Z0-9\-\_]+).*/)?.groups?.variableName; + let closestActualFormElement = boundElement; + while (closestActualFormElement && !('inScopeVariables' in closestActualFormElement)) { + closestActualFormElement = closestActualFormElement.nodeType === Node.ATTRIBUTE_NODE ? closestActualFormElement.ownerElement : closestActualFormElement.parentNode; + } + const correspondingVariable = closestActualFormElement?.inScopeVariables?.get(variableName); + if (!correspondingVariable) { + return null; + } + return this.getInstanceId(correspondingVariable.valueQuery, correspondingVariable); + } + return null; + } + + /** + * @param {HTMLElement} boundElement + * @param {string} path + * @returns {string} + */ + static resolveInstance(boundElement, path) { + let instanceId = XPathUtil.getInstanceId(path, boundElement); + if (!instanceId) { + instanceId = XPathUtil.getInstanceId(boundElement.getAttribute('ref'), boundElement); + } + if (instanceId !== null) { + return instanceId; + } + const parentBinding = XPathUtil.getParentBindingElement(boundElement); + if (parentBinding) { + return this.resolveInstance(parentBinding, path); + } + return 'default'; + } + + /** + * @param {Node} node + * @returns string + */ + /* + static getDocPath(node) { + const path = fx.evaluateXPathToString('path()', node); + // Path is like `$default/x[1]/y[1]` + const shortened = XPathUtil.shortenPath(path); + return shortened.startsWith('/') ? `${shortened}` : `/${shortened}`; + } + */ + + /** + * @param {Node} node + * @param {string} instanceId + * @returns string + */ + static getPath(node, instanceId) { + const path = evaluateXPathToString$1('path()', node); + // Path is like `$default/x[1]/y[1]` + const shortened = XPathUtil.shortenPath(path); + return shortened.startsWith('/') ? `$${instanceId}${shortened}` : `$${instanceId}/${shortened}`; + } + + /** + * @param {string} path + * @returns string + */ + static shortenPath(path) { + const tmp = path.replaceAll(/(Q{(.*?)\})/g, ''); + if (tmp === 'root()') return tmp; + // cut off leading slash + const tmp1 = tmp.substring(1, tmp.length); + // ### cut-off root node ref + return tmp1.substring(tmp1.indexOf('/'), tmp.length); + } + + /** + * @param {string} dep + * @returns {string} + */ + static getBasePath(dep) { + const split = dep.split(':'); + return split[0]; + } +} + +/** + * A simple dependency graph + * + * based on the work of https://github.com/jriecken/dependency-graph but working on ES6. + * + * Furthermore instead of the DepGraphCycleError a compute-exception event is dispatched. + * + * + */ + +/** + * Cycle error, including the path of the cycle. + */ +// const DepGraphCycleError = (exports.DepGraphCycleError = function (cyclePath) { + +/* +export function DepGraphCycleError(cyclePath) { + const message = "Dependency Cycle Found: " + cyclePath.join(" -> "); + const instance = new Error(message); + instance.cyclePath = cyclePath; + Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); + if (Error.captureStackTrace) { + Error.captureStackTrace(instance, DepGraphCycleError); + } + return instance; +}; + +DepGraphCycleError.prototype = Object.create(Error.prototype, { + constructor: { + value: Error, + enumerable: false, + writable: true, + configurable: true + } +}); +Object.setPrototypeOf(DepGraphCycleError, Error); +*/ + +/** + * Helper for creating a Topological Sort using Depth-First-Search on a set of edges. + * + * Detects cycles and throws an Error if one is detected (unless the "circular" + * parameter is "true" in which case it ignores them). + * + * @param edges The set of edges to DFS through + * @param leavesOnly Whether to only return "leaf" nodes (ones who have no edges) + * @param result An array in which the results will be populated + * @param circular A boolean to allow circular dependencies + */ +function createDFS(edges, leavesOnly, result, circular) { + const visited = {}; + // eslint-disable-next-line func-names + return function (start) { + // console.log('start ', start); + if (visited[start]) { + return; + } + const inCurrentPath = {}; + const currentPath = []; + const todo = []; // used as a stack + todo.push({ + node: start, + processed: false + }); + while (todo.length > 0) { + const current = todo[todo.length - 1]; // peek at the todo stack + const { + processed + } = current; + const { + node + } = current; + if (!processed) { + // Haven't visited edges yet (visiting phase) + if (visited[node]) { + todo.pop(); + // eslint-disable-next-line no-continue + continue; + } else if (inCurrentPath[node]) { + // It's not a DAG + if (circular) { + todo.pop(); + // If we're tolerating cycles, don't revisit the node + // eslint-disable-next-line no-continue + continue; + } + currentPath.push(node); + window.dispatchEvent(new CustomEvent('compute-exception', { + composed: false, + bubbles: true, + detail: { + path: currentPath, + message: 'cyclic graph' + } + })); + // return; + // console.log('‘circular path: ' + currentPath); + // throw new DepGraphCycleError(currentPath); + + // Stop all processing. This form is broken and we should not break the browser + throw new Error(`Cyclic at ${currentPath}`); + } + inCurrentPath[node] = true; + currentPath.push(node); + const nodeEdges = edges[node]; + // (push edges onto the todo stack in reverse order to be order-compatible with the old DFS implementation) + for (let i = nodeEdges.length - 1; i >= 0; i -= 1) { + todo.push({ + node: nodeEdges[i], + processed: false + }); + } + current.processed = true; + } else { + // Have visited edges (stack unrolling phase) + todo.pop(); + currentPath.pop(); + inCurrentPath[node] = false; + visited[node] = true; + if (!leavesOnly || edges[node].length === 0) { + result.push(node); + } + } + } + }; +} + +/** + * Simple Dependency Graph + */ + +/* +var DepGraph = (exports.DepGraph = function DepGraph(opts) { + this.nodes = {}; // Node -> Node/Data (treated like a Set) + this.outgoingEdges = {}; // Node -> [Dependency Node] + this.incomingEdges = {}; // Node -> [Dependant Node] + this.circular = opts && !!opts.circular; // Allows circular deps +}); +*/ + +function DepGraph(opts) { + this.nodes = {}; // Node -> Node/Data (treated like a Set) + this.outgoingEdges = {}; // Node -> [Dependency Node] + this.incomingEdges = {}; // Node -> [Dependant Node] + this.circular = opts && !!opts.circular; // Allows circular deps +} + +DepGraph.prototype = { + /** + * The number of nodes in the graph. + */ + size() { + return Object.keys(this.nodes).length; + }, + /** + * Add a node to the dependency graph. If a node already exists, this method will do nothing. + */ + addNode(node, data) { + if (!this.hasNode(node)) { + // Checking the arguments length allows the user to add a node with undefined data + if (arguments.length === 2) { + this.nodes[node] = data; + } else { + this.nodes[node] = node; + } + this.outgoingEdges[node] = []; + this.incomingEdges[node] = []; + } + }, + /** + * Remove a node from the dependency graph. If a node does not exist, this method will do nothing. + */ + removeNode(node) { + if (this.hasNode(node)) { + delete this.nodes[node]; + delete this.outgoingEdges[node]; + delete this.incomingEdges[node]; + // [this.incomingEdges, this.outgoingEdges].forEach(function (edgeList) { + [this.incomingEdges, this.outgoingEdges].forEach(edgeList => { + Object.keys(edgeList).forEach(key => { + const idx = edgeList[key].indexOf(node); + if (idx >= 0) { + edgeList[key].splice(idx, 1); + } + }, this); + }); + } + }, + /** + * Check if a node exists in the graph + */ + hasNode(node) { + // return this.nodes.hasOwnProperty(node); + + return Object.prototype.hasOwnProperty.call(this.nodes, node); + }, + /** + * Get the data associated with a node name + */ + getNodeData(node) { + if (this.hasNode(node)) { + return this.nodes[node]; + } + throw new Error(`Node does not exist: ${node}`); + }, + /** + * Set the associated data for a given node name. If the node does not exist, this method will throw an error + */ + setNodeData(node, data) { + if (this.hasNode(node)) { + this.nodes[node] = data; + } else { + throw new Error(`Node does not exist: ${node}`); + } + }, + /** + * Add a dependency between two nodes. If either of the nodes does not exist, + * an Error will be thrown. + */ + addDependency(from, to) { + if (!this.hasNode(from)) { + throw new Error(`Node does not exist: ${from}`); + } + if (!this.hasNode(to)) { + throw new Error(`Node does not exist: ${to}`); + } + if (this.outgoingEdges[from].indexOf(to) === -1) { + this.outgoingEdges[from].push(to); + } + if (this.incomingEdges[to].indexOf(from) === -1) { + this.incomingEdges[to].push(from); + } + return true; + }, + /** + * Remove a dependency between two nodes. + */ + removeDependency(from, to) { + let idx; + if (this.hasNode(from)) { + idx = this.outgoingEdges[from].indexOf(to); + if (idx >= 0) { + this.outgoingEdges[from].splice(idx, 1); + } + } + if (this.hasNode(to)) { + idx = this.incomingEdges[to].indexOf(from); + if (idx >= 0) { + this.incomingEdges[to].splice(idx, 1); + } + } + }, + /** + * Return a clone of the dependency graph. If any custom data is attached + * to the nodes, it will only be shallow copied. + */ + clone() { + const source = this; + const result = new DepGraph(); + const keys = Object.keys(source.nodes); + keys.forEach(n => { + result.nodes[n] = source.nodes[n]; + result.outgoingEdges[n] = source.outgoingEdges[n].slice(0); + result.incomingEdges[n] = source.incomingEdges[n].slice(0); + }); + return result; + }, + /** + * Get an array containing the direct dependencies of the specified node. + * + * Throws an Error if the specified node does not exist. + */ + directDependenciesOf(node) { + if (this.hasNode(node)) { + return this.outgoingEdges[node].slice(0); + } + throw new Error(`Node does not exist: ${node}`); + }, + /** + * Get an array containing the nodes that directly depend on the specified node. + * + * Throws an Error if the specified node does not exist. + */ + directDependantsOf(node) { + if (this.hasNode(node)) { + return this.incomingEdges[node].slice(0); + } + throw new Error(`Node does not exist: ${node}`); + }, + /** + * Get an array containing the nodes that the specified node depends on (transitively). + * + * Throws an Error if the graph has a cycle, or the specified node does not exist. + * + * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned + * in the array. + */ + dependenciesOf(node, leavesOnly) { + if (this.hasNode(node)) { + const result = []; + const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular); + DFS(node); + const idx = result.indexOf(node); + if (idx >= 0) { + result.splice(idx, 1); + } + return result; + } + throw new Error(`Node does not exist: ${node}`); + }, + /** + * get an array containing the nodes that depend on the specified node (transitively). + * + * Throws an Error if the graph has a cycle, or the specified node does not exist. + * + * If `leavesOnly` is true, only nodes that do not have any dependants will be returned in the array. + */ + dependantsOf(node, leavesOnly) { + if (this.hasNode(node)) { + const result = []; + const DFS = createDFS(this.incomingEdges, leavesOnly, result, this.circular); + DFS(node); + const idx = result.indexOf(node); + if (idx >= 0) { + result.splice(idx, 1); + } + return result; + } + throw new Error(`Node does not exist: ${node}`); + }, + /** + * Get an array of nodes that have no dependants (i.e. nothing depends on them). + */ + entryNodes() { + const self = this; + return Object.keys(this.nodes).filter(node => self.incomingEdges[node].length === 0); + }, + /** + * Construct the overall processing order for the dependency graph. + * + * Throws an Error if the graph has a cycle. + * + * If `leavesOnly` is true, only nodes that do not depend on any other nodes will be returned. + */ + overallOrder(leavesOnly) { + const self = this; + const result = []; + const keys = Object.keys(this.nodes); + if (keys.length === 0) { + return result; // Empty graph + } + + if (!this.circular) { + // Look for cycles - we run the DFS starting at all the nodes in case there + // are several disconnected subgraphs inside this dependency graph. + const CycleDFS = createDFS(this.outgoingEdges, false, [], this.circular); + keys.forEach(n => { + CycleDFS(n); + }); + } + const DFS = createDFS(this.outgoingEdges, leavesOnly, result, this.circular); + // Find all potential starting points (nodes with nothing depending on them) an + // run a DFS starting at these points to get the order + keys.filter(node => self.incomingEdges[node].length === 0).forEach(n => { + DFS(n); + }); + + // If we're allowing cycles - we need to run the DFS against any remaining + // nodes that did not end up in the initial result (as they are part of a + // subgraph that does not have a clear starting point) + if (this.circular) { + keys.filter(node => result.indexOf(node) === -1).forEach(n => DFS(n)); + } + return result; + } +}; + +// Create some aliases +DepGraph.prototype.directDependentsOf = DepGraph.prototype.directDependantsOf; +DepGraph.prototype.dependentsOf = DepGraph.prototype.dependantsOf; + +/** + * @param {Node} node + * @returns {HTMLElement} + */ +function _getElement(node) { + if (node && node.nodeType && node.nodeType === Node.ATTRIBUTE_NODE) { + // The context of an attribute is the ref of the element it's defined on + return node.ownerElement; + } + if (node.nodeType === Node.ELEMENT_NODE) { + // The context of a query should be the element having a ref + return node; + } + + // For text nodes, just start looking from the parent element + return node.parentNode; +} +function _getForeContext(node) { + return XPathUtil.getClosest('fx-fore', node); +} +function _getModelInContext(node) { + // const ownerForm = node.closest('fx-fore'); + const ownerForm = _getForeContext(node); + return ownerForm.getModel(); +} +function _getInitialContext(node, ref) { + const parentBind = XPathUtil.getClosest('[ref]', node); + const localFore = XPathUtil.getClosest('fx-fore', node); + const model = _getModelInContext(node); + if (parentBind !== null) { + /* + make sure that the closest ref belongs to the same fx-fore element + */ + const parentBindFore = parentBind.closest('fx-fore'); + if (localFore === parentBindFore) { + return parentBind.nodeset; + } + return model.getDefaultInstance().getDefaultContext(); + } + if (XPathUtil.isAbsolutePath(ref)) { + const instanceId = XPathUtil.getInstanceId(ref, node); + if (instanceId) { + return model.getInstance(instanceId).getDefaultContext(); + } + return model.getDefaultInstance().getDefaultContext(); + } + // should always return default context if all other fails + return model.getDefaultInstance().getDefaultContext(); +} + +/** + * Get the inscope context for an XPath defined on an element, attribute or in a textnode. Uses the + * current iterate status, repeats, etcetera + * + * @param {Node} node The context node at this point. Can be an attribute + * @param {string} ref The XPath to resolve for + * @return {Node} The context item for this XPath + */ +function getInScopeContext(node, ref) { + // console.log('getInScopeContext', ref, node); + + //todo: check for multi-step pathes + const parentElement = _getElement(node); + // console.log('getInScopeContext parent', parentElement); + + if (parentElement.nodeName === 'FX-FORE') { + const context = parentElement.getModel().getDefaultInstance()?.getDefaultContext(); + if (!context) { + // Edge-case, we are in an inner fore. Use the outer fore's default context + return getInScopeContext(parentElement.parentNode, ref); + } + return context; + } + const parentBind = XPathUtil.getClosest('[ref]', parentElement.parentNode); + if (parentBind && (parentBind.nodeName === 'FX-GROUP' || parentBind.nodeName === 'FX-CONTROL')) { + return parentBind.nodeset; + } + const parentActionWithIterateExpr = parentElement.matches('[iterate]') ? parentElement : XPathUtil.getClosest('[iterate]', parentElement.parentNode); + if (parentActionWithIterateExpr && parentActionWithIterateExpr.currentContext) { + return parentActionWithIterateExpr.currentContext; + } + const repeatItem = XPathUtil.getClosest('fx-repeatitem', parentElement); + if (repeatItem) { + if (node.nodeName === 'context') { + return evaluateXPathToFirstNode(node.nodeValue, repeatItem.nodeset, _getForeContext(parentElement)); + } + return repeatItem.nodeset; + } + + // ### check for repeatitems created by fx-repeat-attributes - this could possibly be unified with standard repeats + // const repeatItemFromAttrs = XPathUtil.getClosest('.fx-repeatitem', parentElement); + // const repeatItemFromAttrs = XPathUtil.getClosest('.fx-repeatitem', parentElement); + const repeatItemFromAttrs = parentElement.closest('.fx-repeatitem'); + if (repeatItemFromAttrs) { + // Determine the context by using the cache present on the fx-repeat-attributes. Do not attempt + // to use the index here, it might change when deleting / inserting items + const repeatFromAttributes = /** @type {import('./ui/fx-repeat-attributes.js').FxRepeatAttributes} */ + XPathUtil.getClosest('fx-repeat-attributes', parentElement); + return repeatFromAttributes.getContextForRepeatItem(repeatItemFromAttrs); + } + if (parentElement.hasAttribute('context')) { + const initialContext = _getInitialContext(parentElement.parentNode, ref); + const contextAttr = parentElement.getAttribute('context'); + return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement)); + } + if (node.nodeType === Node.ATTRIBUTE_NODE && node.nodeName === 'context') { + const initialContext = _getInitialContext(node.ownerElement.parentNode, ref); + const contextAttr = node.ownerElement.getAttribute('context'); + return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement)); + } + if (node.nodeType === Node.ATTRIBUTE_NODE && node.nodeName === 'ref') { + // Note: do not consider the ref of the owner element since it should not be used to define the + // context + if (node.ownerElement.hasAttribute('context')) { + const initialContext = _getInitialContext(node.ownerElement.parentNode, ref); + const contextAttr = node.ownerElement.getAttribute('context'); + return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement)); + } + + // Never resolve the context from a ref itself! + return _getInitialContext(parentElement.parentNode, ref); + } + + // if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute('context')) { + // const initialContext = _getInitialContext(node.parentNode, ref); + // const contextAttr = node.getAttribute('context'); + // return evaluateXPathToFirstNode(contextAttr, initialContext, _getForeContext(parentElement)); + // } + return _getInitialContext(parentElement, ref); +} + +/** + * Class hosting common utility functions used throughout all fore elements + * + * @example ../doc/demo.html + */ +class Fore { + /** + * Loads and return a piece of HTML + * @param url {String} - the Url to load from + * @returns {Promise} + */ + static async loadHtml(url) { + try { + const response = await fetch(url, { + method: 'GET', + mode: 'cors', + credentials: 'same-origin', + headers: { + 'Content-Type': 'text/html' + } + }); + const responseContentType = response.headers.get('content-type').toLowerCase(); + if (responseContentType.startsWith('text/html')) { + return response.text(); + } + Fore.dispatch(this, 'error', { + message: `Response has wrong contentType '${responseContentType}'. Should be 'text/html'`, + level: 'Error' + }); + } catch (error) { + Fore.dispatch(this, 'error', { + message: `Html couldn't be loaded from '${url}'`, + level: 'Error' + }); + } + } + + /** + * loads a Fore element from given `src`. Always returns the first occurrence of a ``. The retured element + * will replace the `replace` element in the DOM. + * + * @param {Element} replace the element with a `src` attribute to resolvé. + * @param {string} src the Url to resolve + * @param {string} selector a querySelector expression to fetch certain element from loaded document + * @returns {Promise} The replacement element + */ + static async loadForeFromSrc(replace, src, selector) { + if (!src) { + Fore.dispatch(this, 'error', { + detail: { + message: "No 'src' attribute present" + } + }); + return null; + } + const data = await Fore.loadHtml(src); + const parsed = new DOMParser().parseFromString(data, 'text/html'); + // const theFore = parsed.querySelector('fx-fore'); + const foreElement = parsed.querySelector(selector); + // console.log('foreElement', foreElement) + if (!foreElement) { + Fore.dispatch(this, 'error', { + detail: { + message: `Fore element not found in '${src}'. Maybe wrapped within 'template' element?` + } + }); + return; + } + foreElement.setAttribute('from-src', src); + const thisAttrs = replace.attributes; + Array.from(thisAttrs).forEach(attr => { + if (attr.name !== 'src') { + foreElement.setAttribute(attr.name, attr.value); + } + }); + replace.replaceWith(foreElement); + return foreElement; + } + static buildPredicates(node) { + let attrPredicate = ''; + Array.from(node.attributes).forEach(attr => { + // attrMap.set(attr.nodeName,attr.nodeValue); + // if(attr.nodeName !== 'xmlns'){ + // if(attr.nodeValue !== ''){ + // attrPredicate += `[@${attr.nodeName}='${attr.nodeValue}']`; + // }else{ + attrPredicate += `[@${attr.nodeName}]`; + // } + // } + }); + + return attrPredicate; + } + + /** + * returns true if target element is the widget itself or some element within the widget. + * @param {HTMLElement} target an event target + * @returns {boolean} + */ + static isWidget(target) { + if (target?.classList.contains('widget')) return true; + let parent = target.parentNode; + while (parent && parent.nodeName !== 'FX-CONTROL') { + if (parent?.classList?.contains('widget')) return true; + parent = parent.parentNode; + } + return false; + } + + /** + * Get a string that can be used as a path to a node + * + * @param {Node} node + * @returns {string} + */ + static getDomNodeIndexString(node) { + const indexes = []; + let currentNode = node; + while (currentNode && currentNode.parentNode) { + const parent = currentNode.parentNode; + if (parent.childNodes && parent.childNodes.length > 0) { + const index = [...parent.childNodes].indexOf(currentNode); + indexes.unshift(index); + } + currentNode = parent; + } + return indexes.join('.'); + } + + /** + * Get the expression part of something + * @param {string} input + * @returns {string} + */ + static getExpression(input) { + if (input.startsWith('{') && input.endsWith('}')) { + return input.substring(1, input.length - 1); + } + return input; + } + + /** + * returns the next `fx-fore` element upwards in tree + * + * @param {HTMLElement|Text} start + * @returns {import('./fx-fore.js').FxFore} + */ + static getFore(start) { + return start.nodeType === Node.TEXT_NODE ? start.parentNode.closest('fx-fore') : start.closest('fx-fore'); + } + static get ACTION_ELEMENTS() { + return ['FX-ACTION', 'FX-DELETE', 'FX-DISPATCH', 'FX-HIDE', 'FX-INSERT', 'FX-LOAD', 'FX-MESSAGE', 'FX-REBUILD', 'FX-RECALCULATE', 'FX-REFRESH', 'FX-RENEW', 'FX-RELOAD', 'FX-REPLACE', 'FX-RESET', 'FX-RETAIN', 'FX-RETURN', 'FX-REVALIDATE', 'FX-SEND', 'FX-SETFOCUS', 'FX-SETINDEX', 'FX-SETVALUE', 'FX-SHOW', 'FX-TOGGLE', 'FX-UPDATE']; + } + static createUUID() { + // http://www.ietf.org/rfc/rfc4122.txt + const s = []; + const hexDigits = '0123456789abcdef'; + for (let i = 0; i < 36; i += 1) { + s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1); + } + s[14] = '4'; // bits 12-15 of the time_hi_and_version field to 0010 + s[19] = hexDigits.substr(s[19] & 0x3 | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01 + s[8] = s[13] = s[18] = s[23] = '-'; + const uuid = s.join(''); + return uuid; + } + static get XFORMS_NAMESPACE_URI() { + // todo: should be centralized somewhere as constant. Exists in several? places + return 'http://www.w3.org/2002/xforms'; + } + + /** + * @param {string} elementName + * @returns {boolean} + */ + static isActionElement(elementName) { + return Fore.ACTION_ELEMENTS.includes(elementName); + } + static get UI_ELEMENTS() { + return new Set(['FX-ALERT', 'FX-CONTROL', 'FX-DIALOG', 'FX-FILENAME', 'FX-MEDIATYPE', 'FX-GROUP', 'FX-HINT', 'FX-ITEMS', 'FX-OUTPUT', 'FX-RANGE', 'FX-REPEAT', 'FX-REPEATITEM', 'FX-REPEAT-ATTRIBUTES', 'FX-SWITCH', 'FX-SECRET', 'FX-SELECT', 'FX-SUBMIT', 'FX-TEXTAREA', 'FX-TRIGGER', 'FX-UPLOAD', 'FX-VAR']); + } + + /** + * @param {string} elementName + * @returns {boolean} + */ + static isUiElement(elementName) { + return Fore.UI_ELEMENTS.has(elementName); + } + static get MODEL_ELEMENTS() { + return ['FX-BIND', 'FX-FUNCTION', 'FX-MODEL', 'FX-INSTANCE', 'FX-SUBMISSION']; + } + static async initUI(startElement) { + new Promise(resolve => { + const { + children + } = startElement; + if (children) { + for (const element of Array.from(children)) { + if (element.nodeName.toUpperCase() === 'FX-FORE') { + break; + } + if (Fore.isUiElement(element.nodeName) && typeof element.refresh === 'function') { + element.init(); + } + } + } + resolve('done'); + }); + } + /** + * recursively refreshes all UI Elements. + * + * @param {HTMLElement} startElement + * @param {(boolean|{reason:'index-function', elementLocalnamesWithChanges: string[]})} force Whether to do a forced refresh. Forced + * refreshes are very bad for performance, try to limit them. If the forced refresh is because index functions may change, it is better to pass the reason + * @returns {Promise} + */ + static async refreshChildren(startElement, force) { + const refreshed = new Promise(resolve => { + /* + if there's an 'refresh-on-view' attribute the element wants to be handled by + handleIntersect function that calls the refresh of the respective element and + not the global one. + */ + // if(!force && startElement.hasAttribute('refresh-on-view')) return; + + /* ### attempt with querySelectorAll is even slower than iterating recursively + const children = startElement.querySelectorAll('[ref]'); + Array.from(children).forEach(uiElement => { + if (Fore.isUiElement(uiElement.nodeName) && typeof uiElement.refresh === 'function') { + uiElement.refresh(); + } + }); + */ + const { + children + } = startElement; + if (children) { + for (const element of Array.from(children)) { + if (element.nodeName.toUpperCase() === 'FX-FORE') { + break; + } + if (Fore.isUiElement(element.nodeName) && typeof element.refresh === 'function') { + /** + * @type {import('./ForeElementMixin.js').default} + */ + const bound = element; + if (!force) { + continue; + } + /* + if(element.nodeName === 'FX-CASE') { + console.log('hey - got a case', element); + } + */ + if (force === true) { + // console.log('🔄 refreshing ', element); + // Unconditional force refresh + bound.refresh(force); + continue; + } + if (typeof force !== 'object') { + continue; + } + /* + if ( + force.reason === 'index-function' && + bound.dependencies.isInvalidatedByIndexFunction() + ) { + console.log('🔄 refreshing ', element); + bound.refresh(force); + continue; + } + if ( + bound.dependencies.isInvalidatedByChildlistChanges(force.elementLocalnamesWithChanges) + ) { + console.log('🔄 refreshing ', element); + bound.refresh(force); + continue; + } + */ + } + + if (!(element.inert === true)) { + // testing for inert catches model and action elements and should just leave updateable html elements + Fore.refreshChildren(element, force); + } + } + } + resolve('done'); + }); + return refreshed; + } + static copyDom(inputElement) { + console.time('convert'); + const target = new DOMParser().parseFromString('', 'text/html'); + console.log('copyDom new doc', target); + console.log('copyDom new body', target.body); + console.log('copyDom new body', target.querySelector('fx-fore')); + const newFore = target.querySelector('fx-fore'); + this.convertFromSimple(inputElement, newFore); + newFore.removeAttribute('convert'); + console.log('converted', newFore); + console.timeEnd('convert'); + return newFore; + } + static convertFromSimple(startElement, targetElement) { + const children = startElement.childNodes; + if (children) { + Array.from(children).forEach(node => { + const lookFor = `FX-${node.nodeName.toUpperCase()}`; + if (Fore.MODEL_ELEMENTS.includes(lookFor) || Fore.UI_ELEMENTS.includes(lookFor) || Fore.ACTION_ELEMENTS.includes(lookFor)) { + const conv = targetElement.ownerDocument.createElement(lookFor); + console.log('conv', node, conv); + targetElement.appendChild(conv); + Fore.copyAttributes(node, conv); + Fore.convertFromSimple(node, conv); + } else { + if (node.nodeType === Node.TEXT_NODE) { + const copied = targetElement.ownerDocument.createTextNode(node.textContent); + targetElement.appendChild(copied); + } + if (node.nodeType === Node.ELEMENT_NODE) { + const copied = targetElement.ownerDocument.createElement(node.nodeName); + targetElement.appendChild(copied); + Fore.copyAttributes(node, targetElement); + Fore.convertFromSimple(node, copied); + } + } + }); + } + } + static copyAttributes(source, target) { + return Array.from(source.attributes).forEach(attribute => { + target.setAttribute(attribute.nodeName, attribute.nodeValue); + }); + } + + /** + * returns the proper content-type for instance. + * + * @param instance an fx-instance element + * @param contentType - the contentType + * @returns {string|null} + */ + static getContentType(instance, contentType) { + if (contentType === 'application/x-www-form-urlencoded') { + return 'application/x-www-form-urlencoded; charset=UTF-8'; + } + if (instance.type === 'xml') { + return 'application/xml; charset=UTF-8'; + } + if (instance.type === 'json') { + return 'application/json'; + } + console.warn('content-type unknown ', instance.type); + return null; + } + static async handleResponse(response) { + const { + status + } = response; + if (status >= 400) { + // console.log('response status', status); + alert(`response status: ${status} - failed to load data for '${this.src}' - stopping.`); + throw new Error(`failed to load data - status: ${status}`); + } + const responseContentType = response.headers.get('content-type').toLowerCase(); + // console.log('********** responseContentType *********', responseContentType); + if (responseContentType.startsWith('text/html')) { + // const htmlResponse = response.text(); + // return new DOMParser().parseFromString(htmlResponse, 'text/html'); + // return response.text(); + return response.text().then(result => + // console.log('xml ********', result); + new DOMParser().parseFromString(result, 'text/html')); + } + if (responseContentType.startsWith('text/plain') || responseContentType.startsWith('text/markdown')) { + // console.log("********** inside res plain *********"); + return response.text(); + } + if (responseContentType.startsWith('application/json')) { + // console.log("********** inside res json *********"); + return response.json(); + } + if (responseContentType.startsWith('application/xml')) { + const text = await response.text(); + // console.log('xml ********', result); + return new DOMParser().parseFromString(text, 'application/xml'); + } + return 'done'; + } + + /* + static evaluateAttributeTemplateExpression(expr, node) { + const matches = expr.match(/{[^}]*}/g); + if (matches) { + matches.forEach(match => { + console.log('match ', match); + const naked = match.substring(1, match.length - 1); + const inscope = getInScopeContext(node, naked); + const result = evaluateXPathToString(naked, inscope, node.getOwnerForm()); + const replaced = expr.replaceAll(match, result); + console.log('replacing ', expr, ' with ', replaced); + expr = replaced; + }); + } + return expr; + } + */ + + static fadeInElement(element) { + const duration = 600; + let fadeIn = () => { + // Stop all current animations + if (element.getAnimations) { + element.getAnimations().map(anim => anim.finish()); + } + + // Play the animation with the newly specified duration + fadeIn = element.animate({ + opacity: [0, 1] + }, duration); + return fadeIn.finished; + }; + return fadeIn(); + } + static fadeOutElement(element, duration) { + // const duration = duration; + let fadeOut = () => { + // Stop all current animations + if (element.getAnimations) { + element.getAnimations().map(anim => anim.finish()); + } + + // Play the animation with the newly specified duration + fadeOut = element.animate({ + opacity: [1, 0] + }, duration); + return fadeOut.finished; + }; + return fadeOut(); + } + static async dispatch(target, eventName, detail) { + if (!XPathUtil.contains(target?.ownerDocument, target)) { + // The target is gone from the document. This happens when we are done with a refresh that removed the component + return; + } + const event = new CustomEvent(eventName, { + composed: false, + bubbles: true, + detail + }); + event.listenerPromises = []; + target.dispatchEvent(event); + + // By now, all listeners for the event should have registered their completion promises to us. + if (event.listenerPromises.length) { + await Promise.all(event.listenerPromises); + } + // console.log('!!! DISPATCH_DONE', eventName); + } + + static formatXml(xml) { + const reg = /(>)(<)(\/*)/g; + const wsexp = / *(.*) +\n/g; + const contexp = /(<.+>)(.+\n)/g; + xml = xml.replace(reg, '$1\n$2$3').replace(wsexp, '$1\n').replace(contexp, '$1\n$2'); + const lines = xml.split('\n'); + for (let i = 0; i < lines.length; i++) { + const ln = lines[i]; + Boolean(ln.match(/<.+\/>/)); // is this line a single tag? ex.
+ Boolean(ln.match(/<\/.+>/)); // is this a closing tag? ex. + Boolean(ln.match(/<[^!].*>/)); // is this even a tag (that's not ) + } + } + static stringifiedComponent(element) { + return `<${element.localName} ${Array.from(element.attributes).map(attr => `${attr.name}="${attr.value}"`).join(' ')}>…`; + } + /* + static async loadForeFromUrl(hostElement, url) { + // console.log('########## loading Fore from ', this.src, '##########'); + await fetch(url, { + method: 'GET', + mode: 'cors', + credentials: 'include', + headers: { + 'Content-Type': 'text/html', + }, + }) + .then(response => { + const responseContentType = response.headers.get('content-type').toLowerCase(); + console.log('********** responseContentType *********', responseContentType); + if (responseContentType.startsWith('text/html')) { + return response.text().then(result => + // console.log('xml ********', result); + new DOMParser().parseFromString(result, 'text/html'), + ); + } + return 'done'; + }) + .then(data => { + // const theFore = fxEvaluateXPathToFirstNode('//fx-fore', data.firstElementChild); + const theFore = data.querySelector('fx-fore'); + // console.log('thefore', theFore) + if (!theFore) { + hostElement.dispatchEvent( + new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + message: 'cyclic graph', + }, + }), + ); + } + const imported = document.importNode(theFore,true); + console.log(`########## loaded fore as component ##### ${hostElement.url}`); + imported.addEventListener( + 'model-construct-done', + e => { + // console.log('subcomponent ready', e.target); + const defaultInst = imported.querySelector('fx-instance'); + // console.log('defaultInst', defaultInst); + if(hostElement.initialNode){ + const doc = new DOMParser().parseFromString('', 'application/xml'); + // Note: Clone the input to prevent the inner fore from editing the outer node + doc.firstElementChild.appendChild(hostElement.initialNode.cloneNode(true)); + // defaultinst.setInstanceData(this.initialNode); + defaultInst.setInstanceData(doc); + } + // console.log('new data', defaultInst.getInstanceData()); + // theFore.getModel().modelConstruct(); + imported.getModel().updateModel(); + imported.refresh(); + return 'done'; + }, + { once: true }, + ); + const dummy = hostElement.querySelector('input'); + if (hostElement.hasAttribute('shadow')) { + dummy.parentNode.removeChild(dummy); + hostElement.shadowRoot.appendChild(imported); + } else { + // console.log(this, 'replacing widget with',theFore); + dummy.replaceWith(imported); + // this.appendChild(imported); + } + }) + /!*.catch(error => { + hostElement.dispatchEvent( + new CustomEvent('error', { + composed: false, + bubbles: true, + detail: { + error: error, + message: `'${url}' not found or does not contain Fore element.`, + }, + }), + ); + });*!/ + } + */ + + /** + * clear all text nodes and attribute values to get a 'clean' template. + * @param n + * @private + */ + /* + static clear(n) { + n.textContent = ''; + if (n.hasAttributes()) { + const attrs = n.attributes; + for (let i = 0; i < attrs.length; i+= 1) { + attrs[i].value = ''; + } + } + const { children } = n; + for (let i = 0; i < children.length; i+= 1) { + Fore.clear(children[i]); + } + } + */ +} +Fore.READONLY_DEFAULT = false; +Fore.REQUIRED_DEFAULT = false; +Fore.RELEVANT_DEFAULT = true; +Fore.CONSTRAINT_DEFAULT = true; +Fore.TYPE_DEFAULT = 'xs:string'; + +async function handleResponse(fxInstance, response) { + const { + status + } = response; + if (status >= 400) { + // console.log('response status', status); + alert(`response status: ${status} - failed to load data for '${fxInstance.src}' - stopping.`); + throw new Error(`failed to load data - status: ${status}`); + } + let responseContentType = response.headers.get('content-type').split(';')[0].trim().toLowerCase(); + // console.log('********** responseContentType *********', responseContentType); + if (responseContentType.startsWith('text/html')) { + // const htmlResponse = response.text(); + // return new DOMParser().parseFromString(htmlResponse, 'text/html'); + // return response.text(); + return response.text().then(result => + // console.log('xml ********', result); + new DOMParser().parseFromString(result, 'text/html')); + } + if (responseContentType.endsWith('/json') || responseContentType.endsWith('+json')) { + // console.log("********** inside res json *********"); + return response.json(); + } + if (responseContentType.endsWith('/xml') || responseContentType.endsWith('+xml')) { + // See https://www.rfc-editor.org/rfc/rfc7303 + const text = await response.text(); + // console.log('xml ********', result); + return new DOMParser().parseFromString(text, 'application/xml'); + } + if (responseContentType.startsWith('text/')) { + // console.log("********** inside res plain *********"); + return response.text(); + } + throw new Error(`unable to handle response content type: ${responseContentType}`); +} + +/** + * Container for data instances. + * + * Offers several ways of loading data from either inline content or via 'src' attribute which will use the fetch + * API to resolve data. + */ +class FxInstance extends HTMLElement { + constructor() { + super(); + this.model = this.parentNode; + this.attachShadow({ + mode: 'open' + }); + this.originalInstance = null; + this.partialInstance = null; + this.credentials = ''; + } + connectedCallback() { + // console.log('connectedCallback ', this); + if (this.hasAttribute('src')) { + this.src = this.getAttribute('src'); + } + if (this.hasAttribute('id')) { + this.id = this.getAttribute('id'); + } else { + this.id = 'default'; + } + this.credentials = this.hasAttribute('credentials') ? this.getAttribute('credentials') : 'same-origin'; + if (!['same-origin', 'include', 'omit'].includes(this.credentials)) { + console.error(`fx-submission: the value of credentials is not valid. Expected 'same-origin', 'include' or 'omit' but got '${this.credentials}'`, this); + } + if (this.hasAttribute('type')) { + this.type = this.getAttribute('type'); + } else { + this.type = 'xml'; + this.setAttribute('type', this.type); + } + const style = ` + :host { + display: none; + } + :host * { + display:none; + } + ::slotted(*){ + display:none; + } + `; + const html = ` + `; + this.shadowRoot.innerHTML = ` + + ${html} + `; + this.partialInstance = {}; + } + + /** + * Is called by fx-model during initialization phase (model-construct) + * @returns {Promise} + */ + async init() { + // console.log('fx-instance init'); + await this._initInstance(); + // console.log(`### <<<<< instance ${this.id} loaded >>>>> `); + this.dispatchEvent(new CustomEvent('instance-loaded', { + composed: true, + bubbles: true, + detail: { + instance: this + } + })); + return this; + } + reset() { + // this._useInlineData(); + this.instanceData = this.originalInstance.cloneNode(true); + } + evalXPath(xpath) { + const formElement = this.parentElement.parentElement; + const result = evaluateXPathToFirstNode(xpath, this.getDefaultContext(), formElement); + return result; + } + + /** + * returns the current instance data + * + * @returns {Document | T | any} + */ + getInstanceData() { + if (!this.instanceData) { + this.createInstanceData(); + } + return this.instanceData; + } + setInstanceData(data) { + if (!data) { + this.createInstanceData(); + return; + } + this._setInitialData(data); + // this.instanceData = data; + } + + /** + * return the default context (root node of respective instance) for XPath evalution. + * + * @returns {Document|T|any|Element} + */ + getDefaultContext() { + // Note: use the getter here: it might provide us with stubbed data if anything async is racing, + // such as an @src attribute + const instanceData = this.getInstanceData(); + if (this.type === 'xml') { + return instanceData.firstElementChild; + } + return instanceData; + } + + /** + * does the actual loading of data. Handles inline data, data loaded via fetch() or data constructed from + * querystring. + * + * @returns {Promise} + * @private + */ + async _initInstance() { + if (this.src === '#querystring') { + /* + * generate XML data from URL querystring + * todo: there's no variant to generate JSON yet + */ + // eslint-disable-next-line no-restricted-globals + const query = new URLSearchParams(location.search); + const doc = new DOMParser().parseFromString('', 'application/xml'); + const root = doc.firstElementChild; + for (const p of query) { + const newNode = doc.createElement(p[0]); + newNode.appendChild(doc.createTextNode(p[1])); + root.appendChild(newNode); + } + this._setInitialData(doc); + } else if (this.src) { + await this._loadData(); + } else if (this.childNodes.length !== 0) { + this._useInlineData(); + } + } + createInstanceData() { + if (this.type === 'xml') { + // const doc = new DOMParser().parseFromString('', 'application/xml'); + const doc = new DOMParser().parseFromString('', 'application/xml'); + this.instanceData = doc; + this.originalInstance = this.instanceData.cloneNode(true); + } + if (this.type === 'json') { + this.instanceData = {}; + this.originalInstance = { + ...this.instanceData + }; + } + if (this.type === 'text') { + this.instanceData = this.innerText; + this.originalInstance = this.innerText; + console.log('text data', this.instanceData); + } + } + async _loadData() { + const url = `${this.src}`; + if (url.startsWith('localStore')) { + const key = url.substring(url.indexOf(':') + 1); + const doc = new DOMParser().parseFromString('', 'application/xml'); + this.instanceData = doc; + // ### does it make sense to store originalData here? + + if (!key) { + console.warn('no key specified for localStore'); + return; + } + const serialized = localStorage.getItem(key); + if (!serialized) { + console.warn(`Data for key ${key} cannot be found`); + this._useInlineData(); + return; + } + const data = new DOMParser().parseFromString(serialized, 'application/xml'); + // let data = this._parse(serialized, instance); + doc.firstElementChild.replaceWith(data.firstElementChild); + return; + } + const contentType = Fore.getContentType(this, 'get'); + try { + const response = await fetch(url, { + method: 'GET', + credentials: this.credentials, + mode: 'cors', + headers: { + 'Content-Type': contentType + } + }); + const data = await handleResponse(this, response); + this._setInitialData(data); + /* + if (data.nodeType) { + this._setInitialData(data); + this.instanceData = data; + this.originalInstance = this.instanceData.cloneNode(true); + console.log('instanceData loaded: ', this.id, this.instanceData); + return; + } + this.instanceData = data; + this.originalInstance = [...data]; + */ + } catch (error) { + throw new Error(`failed loading data ${error}`); + } + } + _setInitialData(data) { + this.instanceData = data; + if (data.nodeType) { + this.originalInstance = this.instanceData.cloneNode(true); + } else { + this.originalInstance = { + ...this.instanceData + }; + } + } + _getContentType() { + if (this.type === 'xml') { + return 'application/xml'; + } + if (this.type === 'json') { + return 'application/json'; + } + console.warn('content-type unknown ', this.type); + return null; + } + _useInlineData() { + if (this.type === 'xml') { + // console.log('innerHTML ', this.innerHTML); + const instanceData = new DOMParser().parseFromString(this.innerHTML, 'application/xml'); + + // console.log('fx-instance init id:', this.id); + // this.instanceData = instanceData; + this._setInitialData(instanceData); + // console.log('instanceData ', this.instanceData); + // console.log('instanceData ', this.instanceData.firstElementChild); + + // console.log('fx-instance data: ', this.instanceData); + // this.instanceData.firstElementChild.setAttribute('id', this.id); + // todo: move innerHTML out to shadowDOM (for later reset) + } else if (this.type === 'json') { + // this.instanceData = JSON.parse(this.textContent); + this._setInitialData(JSON.parse(this.textContent)); + } else if (this.type === 'html') { + // this.instanceData = this.firstElementChild.children; + this._setInitialData(this.firstElementChild.children); + } else if (this.type === 'text') { + // this.instanceData = this.textContent; + this._setInitialData(this.textContent); + } else { + console.warn('unknow type for data ', this.type); + } + } + + // _handleResponse() { + // console.log('_handleResponse '); + // const ajax = this.shadowRoot.getElementById('loader'); + // const instanceData = new DOMParser().parseFromString(ajax.lastResponse, 'application/xml'); + // this.instanceData = instanceData; + // console.log('data: ', this.instanceData); + // } + + /* + _handleError() { + const loader = this.shadowRoot.getElementById('loader'); + console.log('_handleResponse ', loader.lastError); + } + */ +} + +if (!customElements.get('fx-instance')) { + customElements.define('fx-instance', FxInstance); +} + +/** + * Class for holding ModelItem facets. + * + * A ModelItem annotates nodes that are referred by an fx-bind element with facets for calculation and validation. + * Each bound node in an instance has exactly one ModelItem associated with it. + * + * This refactored version includes observable mechanics and scoped XPath evaluation support. + */ +class ModelItem { + /** + * @param {string} path - Calculated normalized path expression linking to data + * @param {string} ref - Relative binding expression + * @param {Node} node - The node the 'ref' expression is referring to + * @param {import('./fx-bind').FxBind} bind - The fx-bind element having created this ModelItem + * @param {string} instance - The fx-instance id having created this ModelItem + * @param {import('./fx-fore').FxFore} fore - The fx-fore element this ModelItem belongs to + */ + constructor(path, ref, node, bind, instance, fore) { + this.path = path; + this.ref = ref; + this.readonly = ModelItem.READONLY_DEFAULT; + this.relevant = ModelItem.RELEVANT_DEFAULT; + this.required = ModelItem.REQUIRED_DEFAULT; + this.constraint = ModelItem.CONSTRAINT_DEFAULT; + this.type = ModelItem.TYPE_DEFAULT; + this.node = node; + this.bind = bind; + this.instanceId = instance; + this.fore = fore; + this.changed = false; + + // console.log('[ModelItem] created:', this.path); + + /** @type {import('./ui/fx-alert').FxAlert[]} */ + this.alerts = []; + + /** @type {import('./ui/abstract-control').default[]} */ + // For backward compatibility + this.boundControls = []; + + // Observable mechanics + /** + * @type {Set} + */ + this.observers = new Set(); + this.dependencies = new Set(); + this.stateExpressions = {}; // e.g. { required: { expr: '../x', type: 'boolean' } } + this.state = {}; // evaluated expression results + } + + get value() { + if (!this.node) return null; + if (!this.node.nodeType) return this.node; + if (this.node.nodeType === Node.ATTRIBUTE_NODE) { + return this.node.nodeValue; + } + return this.node.textContent; + } + set value(newVal) { + if (!this.node) return; + const oldVal = this.value; + if (newVal?.nodeType === Node.DOCUMENT_NODE) { + this.node.replaceWith(newVal.firstElementChild); + this.node = newVal.firstElementChild; + } else if (newVal?.nodeType === Node.ELEMENT_NODE) { + this.node.replaceWith(newVal); + this.node = newVal; + } else if (this.node.nodeType === Node.ATTRIBUTE_NODE) { + this.node.nodeValue = newVal; + } else { + this.node.textContent = newVal; + } + if (this.value !== oldVal) { + this.notify(); + } + } + + /** + * Add an observer to this ModelItem + * @param {Object} observer - The observer to add + */ + addObserver(observer) { + // console.log('[ModelItem] adding observer:', observer); + this.observers.add(observer); + + // For backward compatibility with boundControls + if (observer.nodeName && (observer.nodeName.startsWith('FX-') || observer.nodeName.startsWith('UI-')) && !this.boundControls.includes(observer)) { + this.boundControls.push(observer); + } + } + + /** + * Remove an observer from this ModelItem + * @param {Object} observer - The observer to remove + */ + removeObserver(observer) { + this.observers.delete(observer); + + // For backward compatibility with boundControls + const index = this.boundControls.indexOf(observer); + if (index !== -1) { + this.boundControls.splice(index, 1); + } + } + + /** + * Notify all observers that this ModelItem has changed + */ + notify() { + // Only log in debug mode or reduce verbosity to prevent console flooding + // console.log('[ModelItem] notifying observers for path:', this); + + // Add to batched notifications. TODO: is the else needed? + if (this.fore) { + this.fore.addToBatchedNotifications(this); + } else { + // Otherwise, notify observers immediately + if (this.observers) { + this.observers.forEach(observer => { + if (typeof observer.update === 'function') { + observer.update(this); + } + }); + } + } + } + update() { + console.log('[ModelItem] update:', this); + this.evaluateStateExpressions(); + } + addAlert(alert) { + if (!this.alerts.includes(alert)) { + this.alerts.push(alert); + } + } + cleanAlerts() { + this.alerts = []; + } + + /** + * Attach dynamic expressions (fx-bind style) to this model item. + * @param {{ [key: string]: { expr: string, type: 'boolean' | 'value' } }} expressionMap + */ + setStateExpressions(expressionMap) { + this.stateExpressions = expressionMap; + this.resolveDependencies(); + this.evaluateStateExpressions(); + } + + /** + * Register dependencies based on expression references. + */ + resolveDependencies() { + this.dependencies.forEach(dep => dep.removeObserver(this)); + this.dependencies.clear(); + const refs = Object.values(this.stateExpressions).flatMap(({ + expr + }) => this.extractRefs(expr)); + for (const ref of refs) { + const dep = this.bind?.resolveModelItem?.(ref); + if (dep) { + dep.addObserver(this); + this.dependencies.add(dep); + } + } + } + + /** + * Extract ref strings like '../required' => 'required' + * @param {string} expr + * @returns {string[]} + */ + extractRefs(expr) { + const matches = expr.match(/\.\.\/\w+/g); + return matches ? matches.map(s => s.replace('../', '')) : []; + } + + /** + * Evaluate all state expressions attached to this model item. + */ + evaluateStateExpressions() { + let changed = false; + for (const [key, { + expr, + type + }] of Object.entries(this.stateExpressions)) { + const result = this.evaluateExpression(expr, type); + if (this.state[key] !== result) { + this.state[key] = result; + changed = true; + } + } + if (changed) this.notify(); + } + + /** + * Evaluate expression in in-scope context using XPath. + * @param {string} expr + * @param {'boolean' | 'value'} type + * @returns {*} + */ + evaluateExpression(expr, type = 'boolean') { + const contextNodes = this._evalInContext(); + if (!contextNodes || contextNodes.length === 0) { + return type === 'boolean' ? false : null; + } + try { + if (type === 'boolean') { + return contextNodes.some(node => evaluateXPathToBoolean(expr, node, this)); + } else if (type === 'value') { + return evaluateXPath(expr, contextNodes[0], this); + } + } catch (e) { + console.warn(`Error evaluating XPath expression [${expr}] in context:`, e); + return type === 'boolean' ? false : null; + } + } + + /** + * Resolves the in-scope context for this.ref using the bind and returns the nodeset. + * Does NOT mutate this.nodeset or this.node. + * @returns {Node[]} + */ + _evalInContext() { + const refAttrNode = this.bind?.getAttributeNode?.('ref') || this.bind; + const inScopeContext = getInScopeContext(refAttrNode, this.ref); + if (this.ref === '' || this.ref === null) { + return Array.isArray(inScopeContext) ? inScopeContext : [inScopeContext]; + } + if (Array.isArray(inScopeContext)) { + if (XPathUtil.isSelfReference(this.ref)) { + return inScopeContext; + } + return inScopeContext.flatMap(n => evaluateXPathToNodes(this.ref, n, this)); + } + const instance = this.bind?.getInstance?.(this.instanceId); + if (instance?.type === 'xml') { + return evaluateXPathToNodes(this.ref, inScopeContext, this); + } + return []; + } +} +ModelItem.READONLY_DEFAULT = false; +ModelItem.REQUIRED_DEFAULT = false; +ModelItem.RELEVANT_DEFAULT = true; +ModelItem.CONSTRAINT_DEFAULT = true; +ModelItem.TYPE_DEFAULT = 'xs:string'; + +/** + * @param {string} path + * @returns string + */ +function shortenPath(path) { + const tmp = path.replaceAll(/(Q{(.*?)\})/g, ''); + if (tmp === 'root()') return tmp; + // cut off leading slash + const tmp1 = tmp.substring(1, tmp.length); + // ### cut-off root node ref + return tmp1.substring(tmp1.indexOf('/'), tmp.length); +} + +/** + * @param {Node} node + * @returns string + */ +function getDocPath(node) { + const path = evaluateXPathToString$1('path()', node); + // Path is like `$default/x[1]/y[1]` + const shortened = shortenPath(path); + return shortened.startsWith('/') ? `${shortened}` : `/${shortened}`; +} + +/** + * @param {Node} node + * @param {string} instanceId + * @returns string + */ +function getPath(node, instanceId) { + const path = evaluateXPathToString$1('path()', node); + // Path is like `$default/x[1]/y[1]` + const shortened = shortenPath(path); + return shortened.startsWith('/') ? `$${instanceId}${shortened}` : `$${instanceId}/${shortened}`; +} + +/** + * The model of this Fore scope. It holds all the intances, binding, submissions and custom + * functions that as required. + * + * The model is updated by executing rebuild (as needed), recalculate and revalidate in turn. + * + * After the cycle is run all modelItems have updated their stete to reflect latest computations. + * + */ +class FxModel extends HTMLElement { + constructor() { + super(); + // this.id = ''; + + /** + * @type {import('./fx-instance.js').FxInstance[]} + */ + this.instances = []; + /** + * @type {import('./modelitem.js').ModelItem[]} + */ + this.modelItems = []; + this.defaultContext = {}; + this.changed = []; + + // this.mainGraph = new DepGraph(false); + this.inited = false; + this.modelConstructed = false; + this.attachShadow({ + mode: 'open' + }); + this.computes = 0; + this.fore = {}; + + /** + * @type {import('./fx-bind.js').FxBind[]} + */ + this.binds = []; + } + + /** + * @returns {import('./fx-fore.js').FxFore} + */ + get formElement() { + return this.parentElement; + } + connectedCallback() { + // console.log('connectedCallback ', this); + this.setAttribute('inert', 'true'); + this.shadowRoot.innerHTML = ` + + `; + + /* + this.addEventListener('model-construct-done', () => { + // this.modelConstructed = true; + // console.log('model-construct-done fired ', this.modelConstructed); + // console.log('model-construct-done fired ', e.detail.model.instances); + }, + { once: true }, + ); + */ + + this.skipUpdate = false; + this.fore = this.parentNode; + } + + /** + * Get the correct fx-bind for this element. Assumes the refs of all binds are always downwards. + * + * @param {ChildNode | Attr} elementOrAttribute - the element or attribute to resolve + * + * @returns {import('./fx-bind.js').FxBind | null} + */ + getBindForElement(elementOrAttribute) { + if (typeof elementOrAttribute !== 'object' || !('nodeType' in elementOrAttribute)) { + // We only do binds over nodes. Not JSON. + return null; + } + /** + * @type {import('./fx-bind.js').FxBind | FxModel} + */ + let bindForParent; + const parent = elementOrAttribute.nodeType === elementOrAttribute.ATTRIBUTE_NODE ? elementOrAttribute.ownerElement : elementOrAttribute.parentNode; + if (!parent?.parentElement) { + // The root. Search from here + bindForParent = this; + } else { + bindForParent = this.getBindForElement(parent); + } + if (!bindForParent) { + return null; + } + + /** + * @type {import('./fx-bind.js').FxBind[]} + */ + const childBinds = Array.from(bindForParent.children).filter(c => c.nodeName === 'FX-BIND'); + for (const childBind of childBinds) { + const ref = childBind.ref; + const matches = evaluateXPathToNodes(ref, parent, childBind); + if (matches.includes(elementOrAttribute)) { + return childBind; + } + } + return null; + } + + /** + * Lazily create a ModelItem for nodes not explicitly bound via fx-bind + * @param {FxModel} model The model to create a model item for + * @param {string} ref The XPath ref that led to this model item + * @param {Node} node The node the XPath led to + * @param {ForeElementMixin)} formElement The form element making this model. Used to resolve variables against + * @returns {ModelItem} + */ + static lazyCreateModelItem(model, ref, node, formElement) { + const instanceId = XPathUtil.resolveInstance(formElement, ref); + const fore = model.formElement; + if (fore?.createNodes && (node === null || node === undefined)) { + const mi = new ModelItem(undefined, ref, null, null, instanceId, fore); + mi.isSynthetic = true; + model.registerModelItem(mi); + return mi; + } + if (node === null || node === undefined) return null; + let targetNode = node.nodeType === Node.TEXT_NODE ? node.parentNode : node; + let path = null; + if (targetNode?.nodeType) { + path = getPath(targetNode, instanceId); + } + + // Check if a ModelItem with the same path already exists + if (path) { + const existingModelItem = model.modelItems.find(mi => mi.path === path); + if (existingModelItem) { + // Update the node reference if needed + if (existingModelItem.node !== targetNode) { + existingModelItem.node = targetNode; + } + return existingModelItem; + } + } + const mi = new ModelItem(path, ref, targetNode, model.getBindForElement(targetNode), instanceId, fore); + mi.isSynthetic = true; + + // console.log('new ModelItem is instanceof ModelItem ', mi instanceof ModelItem); + model.registerModelItem(mi); + return mi; + } + + /** + * modelConstruct starts actual processing of the model by + * + * 1. loading instances if present or constructing one + * 2. calling updateModel to run the model update cycle of rebuild, recalculate and revalidate + * + * @event model-construct-done is fired once all instances have be loaded or after generating instance + * + */ + async modelConstruct() { + console.info(`📌 model-construct for #${this.parentNode.id}`); + + // this.dispatchEvent(new CustomEvent('model-construct', { detail: this })); + Fore.dispatch(this, 'model-construct', { + model: this + }); + + // console.time('instance-loading'); + const instances = this.querySelectorAll('fx-instance'); + if (instances.length > 0) { + const promises = []; + instances.forEach(instance => { + promises.push(instance.init()); + }); + + // Wait until all the instances are built + await Promise.all(promises); + this.instances = Array.from(instances); + // console.log('_modelConstruct this.instances ', this.instances); + // Await until the model-construct-done event is handled off + this.modelConstructed = true; + await Fore.dispatch(this, 'model-construct-done', { + model: this + }); + this.inited = true; + this.updateModel(); + } else { + // ### if there's no instance one will created + console.log(`### <<<<< dispatching model-construct-done for '${this.fore.id}' >>>>>`); + this.modelConstructed = true; + await this.dispatchEvent(new CustomEvent('model-construct-done', { + composed: false, + bubbles: true, + detail: { + model: this + } + })); + } + const functionlibImports = Array.from(this.querySelectorAll('fx-functionlib')); + await Promise.all(functionlibImports.map(lib => lib.readyPromise)); + // console.timeEnd('instance-loading'); + this.inited = true; + } + registerModelItem(modelItem) { + // console.log('ModelItem registered ', modelItem); + this.modelItems.push(modelItem); + } + + /** + * update action triggering the update cycle + */ + updateModel() { + // console.time('updateModel'); + this.rebuild(); + /* + if (this.skipUpdate){ + console.info('%crecalculate/revalidate skipped - no bindings', 'font-style: italic; background: #90a4ae; color:lightgrey; padding:0.3rem 5rem 0.3rem 0.3rem;display:block;width:100%;'); + return; + } + */ + this.recalculate(); + this.revalidate(); + // console.log('updateModel finished with modelItems ', this.modelItems); + + // console.timeEnd('updateModel'); + } + + /** + * (Recursively) remove the model item of a node. + * @param {Node} node - The node for which to remove the model item + */ + removeModelItem(node) { + const index = this.modelItems.findIndex(mi => mi.node === node); + // The model item is not always there. Might be the case if a node is 'skipped' during rendering. All paths jump over it. + // It may still have descendants that can have model items + if (index !== -1) { + this.modelItems.splice(index, 1); + } + for (const child of Array.from(node.childNodes)) { + this.removeModelItem(child); + } + } + rebuild() { + console.log(`🔷 rebuild() '${this.fore.id}'`); + this.mainGraph = new DepGraph(false); // do: should be moved down below binds.length check but causes errors in tests. + this.modelItems = []; + + // trigger recursive initialization of the fx-bind elements + const binds = this.querySelectorAll('fx-model > fx-bind'); + if (binds.length === 0) { + // console.log('skipped model update'); + this.skipUpdate = true; + return; + } + binds.forEach(bind => { + bind.init(this); + }); + if (this.formElement.createNodes) { + // initData should be running here as well: we just got a whole new instance that may be + // incomplete + this.formElement.initData(); + } + console.log('mainGraph', this.mainGraph); + console.log('rebuild mainGraph calc order', this.mainGraph.overallOrder()); + + // this.dispatchEvent(new CustomEvent('rebuild-done', {detail: {maingraph: this.mainGraph}})); + Fore.dispatch(this, 'rebuild-done', { + maingraph: this.mainGraph + }); + // console.log('mainGraph', this.mainGraph); + } + + /** + * recalculation of all modelItems. Uses dependency graph to determine order of computation. + * + * todo: use 'changed' flag on modelItems to determine subgraph for recalculation. Flag already exists but is not used. + */ + async recalculate() { + if (!this.mainGraph) { + return; + } + console.log(`🔷🔷 recalculate() '${this.fore.id}'`); + + // console.log('changed nodes ', this.changed); + this.computes = 0; + this.subgraph = new DepGraph(false); + // ### create the subgraph for all changed modelItems + if (this.changed.length !== 0) { + // ### build the subgraph + this.changed.forEach(modelItem => { + this.subgraph.addNode(modelItem.path, modelItem.node); + // const dependents = this.mainGraph.dependantsOf(modelItem.path, false); + // this._addSubgraphDependencies(modelItem.path); + if (this.mainGraph.hasNode(modelItem.path)) { + // const dependents = this.mainGraph.directDependantsOf(modelItem.path) + + const all = this.mainGraph.dependantsOf(modelItem.path, false); + const dependents = all.reverse(); + if (dependents.length !== 0) { + dependents.forEach(dep => { + // const subdep = this.mainGraph.dependentsOf(dep,false); + // subgraph.addDependency(dep, modelItem.path); + const val = this.mainGraph.getNodeData(dep); + this.subgraph.addNode(dep, val); + if (dep.includes(':')) { + const path = dep.substring(0, dep.indexOf(':')); + this.subgraph.addNode(path, val); + const deps = this.mainGraph.dependentsOf(modelItem.path, false); + // if we find the dep to be first in list of dependents we are dependent on ourselves not adding edge to modelItem.path + if (deps.indexOf(dep) !== 0) { + this.subgraph.addDependency(dep, modelItem.path); + } + } + // subgraph.addDependency(dep,modelItem.path); + }); + } + } + }); + + // ### compute the subgraph + const ordered = this.subgraph.overallOrder(false); + ordered.forEach(path => { + if (this.mainGraph.hasNode(path)) { + const node = this.mainGraph.getNodeData(path); + this.compute(node, path); + } + }); + /* + const toRefresh = [...this.changed]; + this.formElement.toRefresh = toRefresh; + */ + this.changed = []; + Fore.dispatch(this, 'recalculate-done', { + graph: this.subgraph, + computes: this.computes + }); + } else { + const v = this.mainGraph.overallOrder(false); + v.forEach(path => { + const node = this.mainGraph.getNodeData(path); + this.compute(node, path); + }); + Fore.dispatch(this, 'recalculate-done', { + graph: this.mainGraph, + computes: this.computes + }); + } + console.log(`${this.parentElement.id} recalculate finished with modelItems `, this.modelItems); + } + + /* + _addSubgraphDependencies(path){ + const dependents = this.mainGraph.directDependantsOf(path) + const alreadyInGraph = this.subgraph.incomingEdges[path]; + // const alreadyInGraph = path in this.subgraph; + if(dependents.length !== 0 && alreadyInGraph.length === 0){ + dependents.forEach(dep => { + // const val= this.mainGraph.getNodeData(dep); + // this.subgraph.addNode(dep,val); + if(dep.includes(':')){ + const subpath = dep.substring(0, dep.indexOf(':')); + // this.subgraph.addNode(subpath,val); + this.subgraph.addDependency(subpath,dep); + this.subgraph.addDependency(dep,path); + /!* + const subdeps = this.mainGraph.directDependantsOf(path); + console.log('subdeps',path, subdeps); + subdeps.forEach(sdep => { + const sval= this.mainGraph.getNodeData(sdep); + this.subgraph.addNode(sdep,sval); + console.log('subdep',sdep); + }); + *!/ + if(this.subgraph.incomingEdges[dep] === 0){ + this._addSubgraphDependencies(subpath) + } + } + }); + } + } + */ + + /** + * (re-) computes a modelItem. + * @param {Node} node - the node the modelItem is attached to + * @param {string} path - the canonical XPath of the node + */ + compute(node, path) { + const modelItem = this.getModelItem(node); + if (modelItem && path.includes(':')) { + const property = path.split(':')[1]; + if (property) { + /* + if (property === 'readonly') { + // make sure that calculated items are always readonly + if(modelItem.bind['calculate']){ + modelItem.readonly = true; + }else { + const expr = modelItem.bind[property]; + const compute = evaluateXPathToBoolean(expr, modelItem.node, this); + modelItem.readonly = compute; + } + } + */ + const expr = modelItem.bind[property]; + if (property === 'calculate') { + const compute = evaluateXPath(expr, modelItem.node, this); + modelItem.value = compute; + modelItem.readonly = true; // calculated nodes are always readonly + modelItem.notify(); // Notify observers directly + } else if (property !== 'constraint' && property !== 'type') { + /* + console.log( + 'recalculating path ', + path, + ' Expr:', + expr, + 'modelitem value', + modelItem.node.textContent, + ); + */ + // ### re-compute the Boolean value of all facets expect 'constraint' and 'type' which are handled in revalidate() + if (expr) { + const compute = evaluateXPathToBoolean(expr, modelItem.node, this); + modelItem[property] = compute; + // modelItem.notify(); // Notify observers directly + this.fore.addToBatchedNotifications(modelItem); + /* + console.log( + `recalculating path ${path} - Expr:'${expr}' computed`, + modelItem[property], + ); + */ + } + } + } + + this.computes += 1; + } + } + + /** + * Iterates all modelItems to calculate the validation status. + * + * Model alerts are given on 'fx-bind' elements as either attribute `alert` or as `fx-alert` child elements. + * + * During model-construct all model alerts are added to the modelItem if any + * + * to revalidate: + * Gets the `constraint` attribute declaration from modelItem.bind + * Computes the XPath to a Boolean + * Updates the modelItem.constraint property + * + * todo: type checking + * todo: run browser validation API + * + */ + revalidate() { + if (this.modelItems.length === 0) return true; + console.log(`🔷🔷🔷 revalidate() '${this.fore.id}'`); + + // reset submission validation + // this.parentNode.classList.remove('submit-validation-failed') + let valid = true; + this.modelItems.forEach(modelItem => { + // console.log('validating node ', modelItem.node); + const { + bind + } = modelItem; + if (bind) { + /* + todo: investigate why bind is an element when created in fx-bind.init() and an fx-bind object when + created lazily. + */ + if (typeof bind.hasAttribute === 'function' && bind.hasAttribute('constraint')) { + const constraint = bind.getAttribute('constraint'); + if (constraint && modelItem.node) { + const compute = evaluateXPathToBoolean(constraint, modelItem.node, this); + // console.log('modelItem validity computed: ', compute); + modelItem.constraint = compute; + // this.formElement.addToRefresh(modelItem); // let fore know that modelItem needs refresh + modelItem.notify(); // Notify observers directly + if (!compute) { + console.log('validation failed on modelitem ', modelItem); + valid = false; + } + } + } + if (typeof bind.hasAttribute === 'function' && bind.hasAttribute('required')) { + const required = bind.getAttribute('required'); + if (required) { + const compute = evaluateXPathToBoolean(required, modelItem.node, this); + // console.log('modelItem required computed: ', compute); + modelItem.required = compute; + // this.formElement.addToRefresh(modelItem); // let fore know that modelItem needs refresh + modelItem.notify(); // Notify observers directly + if (modelItem.required && !modelItem.node.textContent) { + /* + console.log( + 'node is required but has no value ', + XPathUtil.getDocPath(modelItem.node), + ); + */ + valid = false; + } + // if (!compute) valid = false; + /* + if (!this.modelConstructed) { + // todo: get alert from attribute or child element + const alert = bind.getAlert(); + if (alert) { + modelItem.addAlert(alert); + } + } + */ + } + } + } + }); + + console.log('modelItems after revalidate: ', this.modelItems); + console.log('changed after revalidate: ', this.changed); + console.log('changed after revalidate changed: ', Array.from(this.parentNode._localNamesWithChanges)); + console.log('changed after revalidate batchedNotifications: ', Array.from(this.parentNode.batchedNotifications)); + return valid; + } + addChanged(modelItem) { + if (this.inited) { + this.changed.push(modelItem); + } + } + + /** + * Find a ModelItem by exact node or path + * @param {Node|string} nodeOrPath + * @returns {ModelItem|null} + */ + getModelItem(nodeOrPath) { + return this.modelItems.find(mi => mi.node === nodeOrPath || mi.path === nodeOrPath) || null; + } + + /** + * get the default evaluation context for this model. + * @returns {Element} + */ + getDefaultContext() { + return this.instances[0].getDefaultContext(); + } + + /** + * @returns {import('./fx-instance.js').FxInstance} + */ + getDefaultInstance() { + /* + if (this.instances.length === 0) { + throw new Error('No instances defined. Fore cannot work without any elements.'); + } + */ + if (this.instances.length) { + return this.instances[0]; + } + return this.getInstance('default'); + } + getDefaultInstanceData() { + return this.instances[0].getInstanceData(); + } + + /** + * @returns {import('./fx-instance.js').FxInstance} + */ + getInstance(id) { + // console.log('getInstance ', id); + // console.log('instances ', this.instances); + // console.log('instances array ',Array.from(this.instances)); + + let found; + if (id === 'default') { + found = this.instances[0]; + } + // ### lookup in local instances first + if (!found) { + const instArray = Array.from(this.instances); + found = instArray.find(inst => inst.id === id); + } + // ### lookup in parent Fore if present + if (!found) { + // const parentFore = this.fore.parentNode.closest('fx-fore'); + const parentFore = this.fore.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE ? this.fore.parentNode.host.closest('fx-fore') : this.fore.parentNode.closest('fx-fore'); + if (parentFore) { + // console.log('shared instances from parent', this.parentNode.id); + const parentInstances = parentFore.getModel().instances; + const shared = parentInstances.filter(shared => shared.hasAttribute('shared')); + found = shared.find(found => found.id === id); + } + } + // search for shared instances in the whole document + if (!found) { + found = document.querySelector(`fx-instance[id="${id}"][shared]`); + } + if (found) { + return found; + } + if (id === 'default') { + return this.getDefaultInstance(); // if id is not found always defaults to first in doc order + } + + if (!found && this.fore.strict) { + // return this.getDefaultInstance(); // if id is not found always defaults to first in doc order + Fore.dispatch(this, 'error', { + origin: this, + message: `Instance '${id}' does not exist`, + level: 'Error' + }); + } + return null; + } + evalBinding(bindingExpr) { + // console.log('MODEL.evalBinding ', bindingExpr); + // default context of evaluation is always the default instance + const result = this.instances[0].evalXPath(bindingExpr); + return result; + } +} +FxModel.dataChanged = false; +if (!customElements.get('fx-model')) { + customElements.define('fx-model', FxModel); +} + +class DependentXPathQueries { + constructor() { + /** + * @type {Set} + */ + this._xpaths = new Set(); + this._parentDependencies = null; + } + + /** + * Returns true if this Fore element should be refreshed if a result of an index function changes + * + * @returns {boolean} + */ + isInvalidatedByIndexFunction() { + for (const xpath of this._xpaths) { + // TODO: this can be done a lot better with parsing / checking for function references + if (xpath.includes('index(')) { + return true; + } + } + + // We can also depend on the index function if it was used in our ancestry + return !!this._parentDependencies?.isInvalidatedByIndexFunction(); + } + + /** + * Detects whether there are XPaths that may be affected by child list changes to nodes with the given local names + * + * It does this pessimistically, assuming that any descendant axis can be affected by these changes + * + * @param {string[]} affectedLocalNames + */ + isInvalidatedByChildlistChanges(affectedLocalNames) { + // Scan for any XPath part that may jump over a node without checking what the type is. Can also + // be done dynamically, by listening for the `bucket` parameter of all the dom accessors + const flaggedConstructs = ['//', 'ancestor', 'descendant', 'element(', '*', '..', 'following', 'preceding']; + for (const xpath of this._xpaths) { + if (flaggedConstructs.some(c => xpath.includes(c))) { + return true; + } + if (affectedLocalNames.some(n => xpath.includes(n))) { + return true; + } + } + // We can also depend on these elements if it was used in our ancestry + return !!this._parentDependencies?.isInvalidatedByChildlistChanges(affectedLocalNames); + } + + /** + * Add an XPath to the dependencies + * + * @param {string} xpath the XPath to add + */ + addXPath(xpath) { + this._xpaths.add(xpath); + } + + /** + * Reset the dependencies on refresh + * + */ + resetDependencies() { + this._xpaths.clear(); + } + + /** + * @param {DependentXPathQueries} deps + */ + setParentDependencies(deps) { + this._parentDependencies = deps; + } +} + +/** + * Mixin containing all general functions that are shared by all Fore element classes. + * @extends {HTMLElement} + */ +class ForeElementMixin extends HTMLElement { + static get properties() { + return { + /** + * context object for evaluation + */ + context: { + type: Object + }, + /** + * the model of this element + */ + model: { + type: Object + }, + /** + * The modelitem object associated to the bound node holding the evaluated state. + */ + modelItem: { + type: Object + }, + /** + * the node(s) bound by this element + */ + nodeset: { + type: Object + }, + /** + * XPath binding expression pointing to bound node + */ + ref: { + type: String + }, + inScopeVariables: { + type: Map + } + }; + } + constructor() { + super(); + this.context = null; + this.model = null; + this.modelItem = null; + this.ref = this.hasAttribute('ref') ? this.getAttribute('ref') : ''; + /** + * @type {Map} + */ + this.inScopeVariables = new Map(); + this.dependencies = new DependentXPathQueries(); + this.ownerForm = null; + } + connectedCallback() { + if (this.parentElement) { + this.dependencies.setParentDependencies(this.parentElement?.closest('[ref]')?.dependencies); + } + + // The fx-model linked to here won't ever change + this.model = this.getModel(); + this.ownerForm = this.getOwnerForm(); + } + + /** + * @returns {import('./fx-model.js').FxModel} + */ + getModel() { + // console.log('getModel this ', this); + if (this.model) { + return this.model; + } + // const ownerForm = this.closest('fx-fore'); + // const ownerForm = this.getOwnerForm(this); + const ownerForm = this.getOwnerForm(); + return ownerForm.querySelector('fx-model'); + } + + /** + * + * @returns {import('./fx-fore.js').FxFore} The fx-fore element associated with this form node + */ + getOwnerForm() { + if (this.ownerForm) { + return this.ownerForm; + } + let currentElement = this; + while (currentElement && currentElement.parentNode) { + // console.log('current ', currentElement); + if (currentElement.nodeName.toUpperCase() === 'FX-FORE') { + return currentElement; + } + if (currentElement.parentNode instanceof DocumentFragment) { + currentElement = currentElement.parentNode.host; + } else { + currentElement = currentElement.parentNode; + } + } + return null; + } + + /** + * evaluation of fx-bind and UiElements differ in details so that each class needs it's own implementation. + */ + evalInContext() { + this.dependencies.resetDependencies(); + // const inscopeContext = this.getInScopeContext(); + const model = this.getModel(); + if (!model) { + return; + } + let inscopeContext; + if (this.hasAttribute('context')) { + inscopeContext = getInScopeContext(this.getAttributeNode('context') || this, this.context); + } + if (this.hasAttribute('ref')) { + inscopeContext = getInScopeContext(this.getAttributeNode('ref') || this, this.ref); + this.dependencies.addXPath(this.ref); + } + if (!inscopeContext && this.getModel().instances.length !== 0) { + // ### always fall back to default context with there's neither a 'context' or 'ref' present + inscopeContext = this.getModel().getDefaultInstance().getDefaultContext(); + // console.warn('no in scopeContext for ', this); + // console.warn('using default context ', this); + // return; + } + + if (this.ref === '') { + this.nodeset = inscopeContext; + } else if (Array.isArray(inscopeContext)) { + /* + inscopeContext.forEach(n => { + if (XPathUtil.isSelfReference(this.ref)) { + this.nodeset = inscopeContext; + } else { + const localResult = evaluateXPathToFirstNode(this.ref, n, this); + // console.log('local result: ', localResult); + this.nodeset.push(localResult); + } + }); + */ + // this.nodeset = evaluateXPathToFirstNode(this.ref, inscopeContext[0], this); + this.nodeset = evaluateXPath(this.ref, inscopeContext[0], this); + } else { + // this.nodeset = fx.evaluateXPathToFirstNode(this.ref, inscopeContext, null, {namespaceResolver: this.namespaceResolver}); + if (!inscopeContext) return; + const { + nodeType + } = inscopeContext; + if (nodeType && !XPathUtil.isAbsolutePath(this.ref)) { + this.nodeset = evaluateXPathToFirstNode(this.ref, inscopeContext, this); + } else { + [this.nodeset] = evaluateXPath(this.ref, inscopeContext, this); + } + } + // console.log('UiElement evaluated to nodeset: ', this.nodeset); + } + + /** + * resolves template expressions for a single attribute + * @param {string} expr an attribute value containing curly brackets containing XPath expressions to evaluate + * @param {Node} node the attribute node used for scoped resolution + * @returns {string} + * @protected + */ + evaluateAttributeTemplateExpression(expr, node) { + const matches = expr.match(/{[^}]*}/g); + if (matches) { + matches.forEach(match => { + // console.log('match ', match); + const naked = match.substring(1, match.length - 1); + const inscope = getInScopeContext(node, naked); + const result = evaluateXPathToString(naked, inscope, this); + const replaced = expr.replaceAll(match, result); + // console.log('replacing ', expr, ' with ', replaced); + expr = replaced; + }); + } + return expr; + } + isNotBound() { + return !this.hasAttribute('ref'); + } + isBound() { + return this.hasAttribute('ref'); + } + getBindingExpr() { + if (this.hasAttribute('ref')) { + return this.getAttribute('ref'); + } + // try to get closest parent bind + const parent = XPathUtil.getClosest('[ref]', this.parentNode); + if (!parent) { + return 'instance()'; // the default instance + } + + return parent.getAttribute('ref'); + } + + /** + * @returns {import('./fx-instance.js').FxInstance} + */ + getInstance() { + if (this.ref.startsWith('instance(')) { + const instId = XPathUtil.getInstanceId(this.ref); + return this.getModel().getInstance(instId); + } + return this.getModel().getInstance('default'); + } + _getParentBindingElement(start) { + if (start.parentNode.host) { + const { + host + } = start.parentNode; + if (host.hasAttribute('ref')) { + return host; + } + } else if (start.parentNode) { + if (start.parentNode.hasAttribute('ref')) { + return this.parentNode; + } + this._getParentBindingElement(this.parentNode); + } + return null; + } + + /** + * @returns {import('./modelitem.js').ModelItem} + */ + getModelItem() { + if (!this.getModel()) return; + + // First try to find by node reference + const mi = this.getModel().getModelItem(this.nodeset); + if (mi) { + this.modelItem = mi; + } + const repeated = XPathUtil.getClosest('fx-repeatitem', this); + let existed; + if (repeated) { + const { + index + } = repeated; + if (Array.isArray(this.nodeset)) { + existed = this.getModel().getModelItem(this.nodeset[index - 1]); + } else { + existed = this.getModel().getModelItem(this.nodeset); + } + } else { + existed = this.nodeset ? this.getModel().getModelItem(this.nodeset) : null; + } + + // If we couldn't find by node reference, try to find by path + if (!existed && this.nodeset) { + // Get the path for the current nodeset + const instanceId = XPathUtil.resolveInstance(this, this.ref); + let targetNode = this.nodeset.nodeType === Node.TEXT_NODE ? this.nodeset.parentNode : this.nodeset; + if (targetNode?.nodeType) { + const path = getPath(targetNode, instanceId); + + // Try to find a ModelItem with this path + existed = this.getModel().modelItems.find(item => item.path === path); + if (existed) { + // Update the node reference in the existing ModelItem + existed.node = targetNode; + } + } + if (!existed) { + const lazyCreatedModelItem = FxModel.lazyCreateModelItem(this.getModel(), this.ref, this.nodeset, this); + this.modelItem = lazyCreatedModelItem; + return lazyCreatedModelItem; + } + } + this.modelItem = existed; + return existed; + } + /** + * Returns the effective value for the element. + * a: look for 'value' attribute and if present evaluate it and return the resulting value + * b: look for textContent and return the value if present + * c: return null + * @returns {string} + */ + getValue() { + if (this.hasAttribute('value')) { + const valAttr = this.getAttribute('value'); + try { + const inscopeContext = getInScopeContext(this, valAttr); + return evaluateXPathToString(valAttr, inscopeContext, this.getOwnerForm()); + } catch (error) { + console.error(error); + Fore.dispatch(this, 'error', { + message: error + }); + } + } + if (this.textContent) { + return this.textContent; + } + return null; + } + + /** + * @returns {Node} + */ + getInScopeContext() { + return getInScopeContext(this.getAttributeNode('ref') || this, this.ref); + } + + /** + * Set variables in scope here + * @param {Map} inScopeVariables + */ + setInScopeVariables(inScopeVariables) { + this.inScopeVariables = inScopeVariables; + } +} + +/** + * FxBind declaratively attaches constraints to nodes in the data (instances). + * + * It's major task is to create ModelItem Objects for each Node in the data their ref is pointing to. + * + * References and constraint attributes use XPath statements to point to the nodes they are attributing. + * + * Note: why is fx-bind not extending BoundElement? Though fx-bind has a 'ref' attr it is not bound in the sense of + * getting updates about changes of the bound nodes. Instead it acts as a factory for modelItems that are used by + * BoundElements to track their state. + * + * @customElements + */ +class FxBind extends ForeElementMixin { + constructor() { + super(); + /** + * @type {Node[]} + */ + this.nodeset = []; + this.model = {}; + this.contextNode = {}; + this.inited = false; + } + connectedCallback() { + // console.log('connectedCallback ', this); + // this.id = this.hasAttribute('id')?this.getAttribute('id'):; + this.constraint = this.getAttribute('constraint'); + this.ref = this.getAttribute('ref') || '.'; + this.readonly = this.getAttribute('readonly'); + this.required = this.getAttribute('required'); + this.relevant = this.getAttribute('relevant'); + this.type = this.hasAttribute('type') ? this.getAttribute('type') : FxBind.TYPE_DEFAULT; + this.calculate = this.getAttribute('calculate'); + // For self-references, just apply the facets to the parent bind + if (this.ref === '.') { + const parent = this.parentNode; + if (parent instanceof FxBind) { + // For overlapping binds, the last one wins + parent.calculate ||= this.calculate; + parent.readonly ||= this.readonly; + parent.required ||= this.required; + parent.relevant ||= this.relevant; + parent.constraint ||= this.constraint; + } + } + } + /** + * @param {string} ref - + * @param {Node} node - + * @param {ForeElementMixin} boundElement - + * + * @returns {ModelItem} + */ + static createModelItem(ref, node, boundElement, opNum) { + const instanceId = XPathUtil.resolveInstance(boundElement, boundElement.ref); + if (Array.isArray(node)) { + node = node[0]; + } + if (!node.nodeType) { + // This node set is not pointing to nodes, but some other type. + return new ModelItem(ref, 'non-node item', node, null, instanceId, boundElement.getOwnerForm()); + } + + // ✅ only the repeat item gets the _ suffix; children do not. + const basePath = XPathUtil.getPath(node, instanceId); + const path = opNum ? `${basePath}_${opNum}` : basePath; + + // const path = XPathUtil.getPath(node, instanceId); + + // naive approach to finding matching bind elements for given ref if not provided by caller. + // Use XPath and variables to escape XPaths in the ref + /** + * @type {import('./fx-bind.js').FxBind} + */ + /* + const bind = evaluateXPathToFirstNode( + 'descendant::fx-bind[@ref=$ref]', + boundElement.getModel(), + null, + { + ref: boundElement.ref, + }, + ); + */ + const bind = boundElement.getOwnerForm().querySelector(`fx-bind[ref="${ref}"]`); + let modelItem = boundElement.getModel().getModelItem(node); + if (!modelItem) { + if (bind) { + modelItem = new ModelItem(path, boundElement.getBindingExpr(), node, bind, instanceId, boundElement.getOwnerForm()); + const alert = bind.getAlert(); + if (alert) { + modelItem.addAlert(alert); + } + } else { + // no binding facets apply + modelItem = new ModelItem(path, boundElement.getBindingExpr(), node, null, instanceId, boundElement.getOwnerForm()); + } + // boundElement.getModel().registerModelItem(modelItem); + } + + return modelItem; + } + + /** + * initializes the bind element by evaluating the binding expression. + * + * For each node referred to by the binding expr a ModelItem object is created. + * + * @param model + */ + init(model) { + this.model = model; + // console.log('init binding ', this); + this._getInstanceId(); + this.bindType = this.getModel().getInstance(this.instanceId).type; + // console.log('binding type ', this.bindType); + + if (this.bindType === 'xml') { + this._evalInContext(); + this._buildBindGraph(); + this._createModelItems(); + } + // todo: support json + + // ### process child bindings + this._processChildren(model); + } + _buildBindGraph() { + if (this.bindType === 'xml') { + this.nodeset.forEach(node => { + const instance = XPathUtil.resolveInstance(this, this.ref); + const path = getPath(node, instance); + this.model.mainGraph.addNode(path, node); + + /* ### catching references in the 'ref' itself... + todo: investigate cases where 'ref' attributes use predicates pointing to other nodes. These would not be handled + in current implementation. + General question: are there valid use-cases for using a 'filter' expression to narrow the nodeset + where to apply constraints? Guess yes and if it's 'just' for reducing the amount of necessary modelItem objects. + */ + // const foreignRefs = this.getReferences(this.ref); + + if (this.calculate) { + this.model.mainGraph.addNode(`${path}:calculate`, node); + // Calculated values are a dependency of the model item. + this.model.mainGraph.addDependency(path, `${path}:calculate`); + } + const calculateRefs = this._getReferencesForProperty(this.calculate, node); + if (calculateRefs.length !== 0) { + this._addDependencies(calculateRefs, node, path, 'calculate'); + } + if (!this.calculate) { + const readonlyRefs = this._getReferencesForProperty(this.readonly, node); + if (readonlyRefs.length !== 0) { + this._addDependencies(readonlyRefs, node, path, 'readonly'); + } else if (this.readonly) { + this.model.mainGraph.addNode(`${path}:readonly`, node); + } + } + + // const requiredRefs = this.requiredReferences; + const requiredRefs = this._getReferencesForProperty(this.required, node); + if (requiredRefs.length !== 0) { + this._addDependencies(requiredRefs, node, path, 'required'); + } else if (this.required) { + this.model.mainGraph.addNode(`${path}:required`, node); + } + const relevantRefs = this._getReferencesForProperty(this.relevant, node); + if (relevantRefs.length !== 0) { + this._addDependencies(relevantRefs, node, path, 'relevant'); + } else if (this.relevant) { + this.model.mainGraph.addNode(`${path}:relevant`, node); + } + const constraintRefs = this._getReferencesForProperty(this.constraint, node); + if (constraintRefs.length !== 0) { + this._addDependencies(constraintRefs, node, path, 'constraint'); + } else if (this.constraint) { + this.model.mainGraph.addNode(`${path}:constraint`, node); + this.model.mainGraph.addDependency(path, `${path}:constraint`); + } + }); + } + } + + /** + * Resolves a referenced ModelItem using the model's graph and node registry. + * @param {string} refName + * @returns {ModelItem | null} + */ + resolveModelItem(refName) { + if (!this.model?.mainGraph || !this.model?.getModelItemForNode) return null; + const suffixes = [`/${refName}`, `:${refName}`]; + for (const [path, node] of this.model.mainGraph.nodeMap.entries()) { + if (suffixes.some(suffix => path.endsWith(suffix))) { + const modelItem = this.model.getModelItemForNode(node); + if (modelItem) return modelItem; + } + } + return null; + } + + /** + * Add the dependencies of this bind + * + * @param {Node[]} refs The nodes that are referenced by this bind. these need to be resolved before + * this bind can be resolved. + * @param {Node} node The start of the reference + * @param {string} path The path to the start of the reference + * @param {string} property The property with this dependency + */ + _addDependencies(refs, node, path, property) { + // console.log('_addDependencies',path); + const nodeHash = `${path}:${property}`; + if (refs.length !== 0) { + if (!this.model.mainGraph.hasNode(nodeHash)) { + this.model.mainGraph.addNode(nodeHash, node); + } + refs.forEach(ref => { + const instance = XPathUtil.resolveInstance(this, path); + const otherPath = getPath(ref, instance); + // console.log('otherPath', otherPath) + + // todo: nasty hack to prevent duplicate pathes like 'a[1]' and 'a[1]/text()[1]' to end up as separate nodes in the graph + if (!otherPath.endsWith('text()[1]')) { + if (!this.model.mainGraph.hasNode(otherPath)) { + this.model.mainGraph.addNode(otherPath, ref); + } + this.model.mainGraph.addDependency(nodeHash, otherPath); + } + }); + } else { + this.model.mainGraph.addNode(nodeHash, node); + } + } + _processChildren(model) { + const childbinds = this.querySelectorAll(':scope > fx-bind'); + Array.from(childbinds).forEach(bind => { + // console.log('init child bind ', bind); + bind.init(model); + }); + } + getAlert() { + if (this.hasAttribute('alert')) { + return this.getAttribute('alert'); + } + const alertChild = this.querySelector('fx-alert'); + if (alertChild) { + return alertChild.innerHTML; + } + return null; + } + + /** + * overwrites + */ + _evalInContext() { + const inscopeContext = getInScopeContext(this.getAttributeNode('ref') || this, this.ref); + + // reset nodeset + this.nodeset = []; + if (this.ref === '' || this.ref === null) { + this.nodeset = inscopeContext; + } else if (Array.isArray(inscopeContext)) { + inscopeContext.forEach(n => { + if (XPathUtil.isSelfReference(this.ref)) { + this.nodeset = inscopeContext; + } else { + // eslint-disable-next-line no-lonely-if + if (this.ref) { + const localResult = evaluateXPathToNodes(this.ref, n, this); + localResult.forEach(item => { + this.nodeset.push(item); + }); + /* + const localResult = fx.evaluateXPathToFirstNode(this.ref, n, null, {namespaceResolver: this.namespaceResolver}); + this.nodeset.push(localResult); + */ + } + // console.log('local result: ', localResult); + // this.nodeset.push(localResult); + } + }); + } else { + const inst = this.getModel().getInstance(this.instanceId); + if (inst.type === 'xml') { + this.nodeset = evaluateXPathToNodes(this.ref, inscopeContext, this); + } else { + this.nodeset = this.ref; + } + } + } + _createModelItems() { + // console.log('#### ', thi+s.nodeset); + + if (Array.isArray(this.nodeset)) { + // console.log('################################################ ', this.nodeset); + // Array.from(this.nodeset).forEach((n, index) => { + Array.from(this.nodeset).forEach(n => { + // console.log('node ',n); + // this._createModelItem(n, index); + this._createModelItem(n); + }); + } else { + this._createModelItem(this.nodeset); + } + } + + /** + * creates a ModelItem for given instance node. + * + * Please note that for textnode no ModelItem is created but instead the one of its parent is used which either + * must exist and be initialized already when we hit the textnode. + * @param node + * @private + */ + // _createModelItem(node, index) { + _createModelItem(node) { + // console.log('_createModelItem node', node, index); + + /* + this.calculateReferences = this._getReferencesForProperty(this.calculate,node); + this.readOnlyReferences = this._getReferencesForProperty(this.readonly,node); + this.requiredReferences = this._getReferencesForProperty(this.required,node); + this.relevantReferences = this._getReferencesForProperty(this.relevant,node); + this.constraintReferences = this._getReferencesForProperty(this.constraint,node); + */ + + /* + if bind is the dot expression we use the modelitem of the parent + */ + if (XPathUtil.isSelfReference(this.ref)) { + const parentBoundElement = XPathUtil.getClosest('fx-bind[ref]', this.parentElement); + // console.log('parent bound element ', parentBoundElement); + + if (parentBoundElement) { + // todo: Could be fancier by combining them + parentBoundElement.required = this.required; // overwrite parent property! + } else { + console.error('no parent bound element'); + } + return; + } + + // let value = null; + // const mItem = {}; + /* + let targetNode = {}; + if (node.nodeType === node.TEXT_NODE) { + // const parent = node.parentNode; + // console.log('PARENT ', parent); + targetNode = node.parentNode; + } else { + targetNode = node; + } + */ + const targetNode = node; + + // const path = fx.evaluateXPath('path()',node); + // const path = this.getPath(node); + const instanceId = XPathUtil.resolveInstance(this, this.ref); + const path = getPath(node, instanceId); + // const shortPath = this.shortenPath(path); + + // ### constructing default modelitem - will get evaluated during recalculate() + // ### constructing default modelitem - will get evaluated during recalculate() + // ### constructing default modelitem - will get evaluated during recalculate() + // const newItem = new ModelItem(shortPath, + const fore = this.closest('fx-fore'); + const newItem = new ModelItem(path, this.getBindingExpr(), targetNode, this, instanceId, fore); + const alert = this.getAlert(); + if (alert) { + newItem.addAlert(alert); + } + this.getModel().registerModelItem(newItem); + } + + /** + * Get the nodes that are referred by the given XPath expression + * + * @param {string} propertyExpr The XPath to get the referenced nodes from + * + * @return {Node[]} The nodes that are referenced by the XPath + * + * todo: DependencyNotifyingDomFacade reports back too much in some cases like 'a[1]' and 'a[1]/text[1]' + */ + _getReferencesForProperty(propertyExpr) { + if (propertyExpr) { + return this.getReferences(propertyExpr); + } + return []; + } + getReferences(propertyExpr) { + const touchedNodes = new Set(); + const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode)); + this.nodeset.forEach(node => { + evaluateXPathToString(propertyExpr, node, this, domFacade); + }); + return Array.from(touchedNodes.values()); + } + + /* + static getReferencesForRef(ref,nodeset){ + if (ref && nodeset) { + const touchedNodes = new Set(); + const domFacade = new DependencyNotifyingDomFacade(otherNode => touchedNodes.add(otherNode)); + nodeset.forEach(node => { + evaluateXPathToString(ref, node, this, domFacade); + }); + return Array.from(touchedNodes.values()); + } + return []; + } + */ + + _initBooleanModelItemProperty(property, node) { + // evaluate expression to boolean + const propertyExpr = this[property]; + // console.log('####### ', propertyExpr); + const result = evaluateXPathToBoolean(propertyExpr, node, this); + return result; + } + static shortenPath(path) { + const steps = path.split('/'); + let result = ''; + for (let i = 2; i < steps.length; i += 1) { + const step = steps[i]; + if (step.indexOf('{}') !== -1) { + const q = step.split('{}'); + result += `/${q[1]}`; + } else { + result += `/${step}`; + } + } + return result; + } + + /** + * return the instance id this bind is associated with. Resolves upwards in binds to either find an expr containing + * and instance() function or if not found return 'default'. + * @private + */ + _getInstanceId() { + const bindExpr = this.getBindingExpr(); + // console.log('_getInstanceId bindExpr ', bindExpr); + if (bindExpr.startsWith('instance(')) { + this.instanceId = XPathUtil.getInstanceId(bindExpr); + return; + } + if (!this.instanceId && this.parentNode.nodeName === 'FX-BIND') { + let parent = this.parentNode; + while (parent && !this.instanceId) { + const ref = parent.getBindingExpr(); + if (ref.startsWith('instance(')) { + this.instanceId = XPathUtil.getInstanceId(ref); + return; + } + if (parent.parentNode.nodeName !== 'FX-BIND') { + this.instanceId = 'default'; + break; + } + parent = parent.parentNode; + } + } + this.instanceId = 'default'; + } +} +FxBind.READONLY_DEFAULT = false; +FxBind.REQUIRED_DEFAULT = false; +FxBind.RELEVANT_DEFAULT = true; +FxBind.CONSTRAINT_DEFAULT = true; +FxBind.TYPE_DEFAULT = 'xs:string'; +if (!customElements.get('fx-bind')) { + customElements.define('fx-bind', FxBind); +} + +class FxConnection extends ForeElementMixin { + constructor() { + super(); + this.attachShadow({ + mode: 'open' + }); + this._url = ''; + this._socket = null; + this._heartbeatInterval = FxConnection._defaultHeartbeatInterval; + this._heartbeatTimer = null; + this._messageFormat = FxConnection._defaultMessageFormat; + this._onMessage = this._onMessage.bind(this); + } + _render() { + const style = ` + :host { + display: none; + } + `; + const html = ` + +${this._messageFormat === 'xml' ? '' : ''} + `; + this.shadowRoot.innerHTML = ` + + ${html} + `; + } + static get observedAttributes() { + return ['url', 'heartbeat', 'message-format', 'messageformat']; + } + connectedCallback() { + if (this.hasAttribute('url')) { + this._url = this.getAttribute('url'); + } + if (this.hasAttribute('heartbeat')) { + this._heartbeatInterval = parseInt(this.getAttribute('heartbeat')); + this._setupHeartbeat(); + } + if (this.hasAttribute('message-format')) { + this._messageFormat = this.getAttribute('message-format'); + } + this._render(); + this.getOwnerForm().addEventListener('model-construct-done', e => { + console.log('Fore model ready'); + this._connect(); + this.evalInContext(); + }); + } + disconnectedCallback() { + this._disconnect(); + } + attributeChangedCallback(name, oldValue, newValue) { + switch (name) { + case 'url': + this._url = newValue; + this._connect(); + break; + case 'heartbeat': + this._heartbeatInterval = parseInt(newValue); + this._setupHeartbeat(); + break; + case 'messageformat': + case 'message-format': + this._messageFormat = newValue; + break; + } + } + send(data) { + // If data is provided directly, use it; otherwise evaluate from context + if (data === undefined) { + this.evalInContext(); + data = this.nodeset; + } + if (this._socket && this._socket.readyState === WebSocket.OPEN) { + let message; + switch (this._messageFormat) { + case 'json': + if (typeof data === 'string') { + message = data; // Assume it's already JSON string + } else { + message = JSON.stringify(data); + } + break; + case 'xml': + if (typeof data === 'string') { + message = data; + } else { + message = new XMLSerializer().serializeToString(data); + } + break; + case 'text': + if (typeof data === 'string') { + message = data; + } else { + message = data.textContent; + } + break; + default: + throw new Error(`Unsupported message format: ${this._messageFormat}`); + } + this._sendMessage(message); + } else { + throw new Error('WebSocket is not connected'); + } + } + _connect() { + this._disconnect(); + if (this._url) { + this._socket = new WebSocket(this._url); + this._socket.addEventListener('open', this._onOpen.bind(this)); + this._socket.addEventListener('message', this._onMessage); + this._socket.addEventListener('close', this._onClose.bind(this)); + } + } + _disconnect() { + if (this._socket) { + this._socket.removeEventListener('open', this._onOpen.bind(this)); + this._socket.removeEventListener('message', this._onMessage); + this._socket.removeEventListener('close', this._onClose.bind(this)); + this._socket.close(); + this._socket = null; + } + if (this._heartbeatTimer) { + clearInterval(this._heartbeatTimer); + this._heartbeatTimer = null; + } + } + _onOpen(event) { + this.dispatchEvent(new CustomEvent('open', { + detail: event + })); + } + _onMessage(event) { + let message; + switch (this._messageFormat) { + case 'json': + message = JSON.parse(event.data); + break; + case 'xml': + const parser = new DOMParser(); + message = parser.parseFromString(event.data, 'application/xml'); + this.getModelItem().value = message; + FxModel.dataChanged = true; + this.getModel().changed.push(this.modelItem); + this.getModel().updateModel(); + this.getOwnerForm().refresh(true); + break; + case 'text': + message = event.data; + break; + default: + throw new Error(`Unsupported message format: ${this._messageFormat}`); + } + console.log('dispatching channel-message', message); + Fore.dispatch(this, 'channel-message', { + message + }); + } + _onClose(event) { + this.dispatchEvent(new CustomEvent('close', { + detail: event + })); + } + _setupHeartbeat() { + if (this._heartbeatInterval > 0) { + if (this._heartbeatTimer) { + clearInterval(this._heartbeatTimer); + } + this._heartbeatTimer = setInterval(() => { + this._sendMessage(''); + }, this._heartbeatInterval); + } else if (this._heartbeatTimer) { + clearInterval(this._heartbeatTimer); + this._heartbeatTimer = null; + } + } + _sendMessage(message) { + if (this._socket && this._socket.readyState === WebSocket.OPEN) { + this._socket.send(message); + } + } + static get _defaultHeartbeatInterval() { + return 0; + } + static get _defaultMessageFormat() { + return 'json'; + } + get url() { + return this._url; + } + set url(value) { + this.setAttribute('url', value); + } + get heartbeat() { + return this._heartbeatInterval; + } + set heartbeat(value) { + this.setAttribute('heartbeat', value); + } + get messageformat() { + return this._messageFormat; + } + set messageformat(value) { + this.setAttribute('messageformat', value); + } +} +if (!customElements.get('fx-connection')) { + customElements.define('fx-connection', FxConnection); +} + +/*! + * Toastify js 1.11.2 + * https://github.com/apvarun/toastify-js + * @license MIT licensed + * + * Copyright (C) 2018 Varun A P + */ + +/** + * Options used for Toastify + * @typedef {Object} ToastifyConfigurationObject + * @property {string} text - Message to be displayed in the toast + * @property {Element} node - Provide a node to be mounted inside the toast. node takes higher precedence over text + * @property {number} duration - Duration for which the toast should be displayed. -1 for permanent toast + * @property {string|Element} selector - CSS ID Selector on which the toast should be added + * @property {url} destination - URL to which the browser should be navigated on click of the toast + * @property {boolean} newWindow - Decides whether the destination should be opened in a new window or not + * @property {boolean} close - To show the close icon or not + * @property {string} gravity - To show the toast from top or bottom + * @property {string} position - To show the toast on left or right + * @property {string} backgroundColor - Deprecated: Sets the background color of the toast + * @property {url} avatar - Image/icon to be shown before text + * @property {string} className - Ability to provide custom class name for further customization + * @property {boolean} stopOnFocus - To stop timer when hovered over the toast (Only if duration is set) + * @property {Function} callback - Invoked when the toast is dismissed + * @property {Function} onClick - Invoked when the toast is clicked + * @property {Object} offset - Ability to add some offset to axis + * @property {boolean} escapeMarkup - Toggle the default behavior of escaping HTML markup + * @property {Object} style - Use the HTML DOM style property to add styles to toast + */ + +class Toastify { + constructor(options) { + this.defaults = { + oldestFirst: true, + text: "Toastify is awesome!", + node: undefined, + duration: 3000, + selector: undefined, + callback: function () {}, + destination: undefined, + newWindow: false, + close: false, + gravity: "toastify-top", + positionLeft: false, + position: "", + backgroundColor: "", + avatar: "", + className: "", + stopOnFocus: true, + onClick: function () {}, + offset: { + x: 0, + y: 0 + }, + escapeMarkup: true, + style: { + background: "" + } + }; + /** + * The version of Toastify + * @type {string} + * @public + */ + this.version = "1.11.2"; + + /** + * The configuration object to configure Toastify + * @type {ToastifyConfigurationObject} + * @public + */ + this.options = {}; + + /** + * The element that is the Toast + * @type {Element} + * @public + */ + this.toastElement = null; + + /** + * The root element that contains all the toasts + * @type {Element} + * @private + */ + this._rootElement = document.body; + this._init(options); + } + + /** + * Display the toast + * @public + */ + showToast() { + // Creating the DOM object for the toast + this.toastElement = this._buildToast(); + + // Getting the root element to with the toast needs to be added + if (typeof this.options.selector === "string") { + this._rootElement = document.getElementById(this.options.selector); + } else if (this.options.selector instanceof HTMLElement || this.options.selector instanceof ShadowRoot) { + this._rootElement = this.options.selector; + } else { + this._rootElement = document.body; + } + + // Validating if root element is present in DOM + if (!this._rootElement) { + throw "Root element is not defined"; + } + + // Adding the DOM element + this._rootElement.insertBefore(this.toastElement, this._rootElement.firstChild); + + // Repositioning the toasts in case multiple toasts are present + this._reposition(); + if (this.options.duration > 0) { + this.toastElement.timeOutValue = window.setTimeout(() => { + // Remove the toast from DOM + this._removeElement(this.toastElement); + }, this.options.duration); // Binding `this` for function invocation + } + + // Supporting function chaining + return this; + } + + /** + * Hide the toast + * @public + */ + hideToast() { + if (this.toastElement.timeOutValue) { + clearTimeout(this.toastElement.timeOutValue); + } + this._removeElement(this.toastElement); + } + + /** + * Init the Toastify class + * @param {ToastifyConfigurationObject} options - The configuration object to configure Toastify + * @param {string} [options.text=Hi there!] - Message to be displayed in the toast + * @param {Element} [options.node] - Provide a node to be mounted inside the toast. node takes higher precedence over text + * @param {number} [options.duration=3000] - Duration for which the toast should be displayed. -1 for permanent toast + * @param {string} [options.selector] - CSS Selector on which the toast should be added + * @param {url} [options.destination] - URL to which the browser should be navigated on click of the toast + * @param {boolean} [options.newWindow=false] - Decides whether the destination should be opened in a new window or not + * @param {boolean} [options.close=false] - To show the close icon or not + * @param {string} [options.gravity=toastify-top] - To show the toast from top or bottom + * @param {string} [options.position=right] - To show the toast on left or right + * @param {string} [options.backgroundColor] - Sets the background color of the toast (To be deprecated) + * @param {url} [options.avatar] - Image/icon to be shown before text + * @param {string} [options.className] - Ability to provide custom class name for further customization + * @param {boolean} [options.stopOnFocus] - To stop timer when hovered over the toast (Only if duration is set) + * @param {Function} [options.callback] - Invoked when the toast is dismissed + * @param {Function} [options.onClick] - Invoked when the toast is clicked + * @param {Object} [options.offset] - Ability to add some offset to axis + * @param {boolean} [options.escapeMarkup=true] - Toggle the default behavior of escaping HTML markup + * @param {Object} [options.style] - Use the HTML DOM style property to add styles to toast + * @private + */ + _init(options) { + // Setting defaults + this.options = Object.assign(this.defaults, options); + if (this.options.backgroundColor) { + // This is being deprecated in favor of using the style HTML DOM property + console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'); + } + this.toastElement = null; + this.options.gravity = options.gravity === "bottom" ? "toastify-bottom" : "toastify-top"; // toast position - top or bottom + this.options.stopOnFocus = options.stopOnFocus === undefined ? true : options.stopOnFocus; // stop timeout on focus + if (options.backgroundColor) { + this.options.style.background = options.backgroundColor; + } + } + + /** + * Build the Toastify element + * @returns {Element} + * @private + */ + _buildToast() { + // Validating if the options are defined + if (!this.options) { + throw "Toastify is not initialized"; + } + + // Creating the DOM object + let divElement = document.createElement("div"); + divElement.className = `toastify on ${this.options.className}`; + + // Positioning toast to left or right or center (default right) + divElement.className += ` toastify-${this.options.position}`; + + // Assigning gravity of element + divElement.className += ` ${this.options.gravity}`; + + // Loop through our style object and apply styles to divElement + for (const property in this.options.style) { + divElement.style[property] = this.options.style[property]; + } + + // Adding the toast message/node + if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) { + // If we have a valid node, we insert it + divElement.appendChild(this.options.node); + } else { + if (this.options.escapeMarkup) { + divElement.innerText = this.options.text; + } else { + divElement.innerHTML = this.options.text; + } + if (this.options.avatar !== "") { + let avatarElement = document.createElement("img"); + avatarElement.src = this.options.avatar; + avatarElement.className = "toastify-avatar"; + if (this.options.position == "left") { + // Adding close icon on the left of content + divElement.appendChild(avatarElement); + } else { + // Adding close icon on the right of content + divElement.insertAdjacentElement("afterbegin", avatarElement); + } + } + } + + // Adding a close icon to the toast + if (this.options.close === true) { + // Create a span for close element + let closeElement = document.createElement("span"); + closeElement.innerHTML = "✖"; + closeElement.className = "toast-close"; + + // Triggering the removal of toast from DOM on close click + closeElement.addEventListener("click", event => { + event.stopPropagation(); + this._removeElement(this.toastElement); + window.clearTimeout(this.toastElement.timeOutValue); + }); + + //Calculating screen width + const width = window.innerWidth > 0 ? window.innerWidth : screen.width; + + // Adding the close icon to the toast element + // Display on the right if screen width is less than or equal to 360px + if (this.options.position == "left" && width > 360) { + // Adding close icon on the left of content + divElement.insertAdjacentElement("afterbegin", closeElement); + } else { + // Adding close icon on the right of content + divElement.appendChild(closeElement); + } + } + + // Clear timeout while toast is focused + if (this.options.stopOnFocus && this.options.duration > 0) { + // stop countdown + divElement.addEventListener("mouseover", event => { + window.clearTimeout(divElement.timeOutValue); + }); + // add back the timeout + divElement.addEventListener("mouseleave", () => { + divElement.timeOutValue = window.setTimeout(() => { + // Remove the toast from DOM + this._removeElement(divElement); + }, this.options.duration); + }); + } + + // Adding an on-click destination path + if (typeof this.options.destination !== "undefined") { + divElement.addEventListener("click", event => { + event.stopPropagation(); + if (this.options.newWindow === true) { + window.open(this.options.destination, "_blank"); + } else { + window.location = this.options.destination; + } + }); + } + if (typeof this.options.onClick === "function" && typeof this.options.destination === "undefined") { + divElement.addEventListener("click", event => { + event.stopPropagation(); + this.options.onClick(); + }); + } + + // Adding offset + if (typeof this.options.offset === "object") { + const x = this._getAxisOffsetAValue("x", this.options); + const y = this._getAxisOffsetAValue("y", this.options); + const xOffset = this.options.position == "left" ? x : `-${x}`; + const yOffset = this.options.gravity == "toastify-top" ? y : `-${y}`; + divElement.style.transform = `translate(${xOffset},${yOffset})`; + } + + // Returning the generated element + return divElement; + } + + /** + * Remove the toast from the DOM + * @param {Element} toastElement + */ + _removeElement(toastElement) { + // Hiding the element + toastElement.className = toastElement.className.replace(" on", ""); + + // Removing the element from DOM after transition end + window.setTimeout(() => { + // remove options node if any + if (this.options.node && this.options.node.parentNode) { + this.options.node.parentNode.removeChild(this.options.node); + } + + // Remove the element from the DOM, only when the parent node was not removed before. + if (toastElement.parentNode) { + toastElement.parentNode.removeChild(toastElement); + } + + // Calling the callback function + this.options.callback.call(toastElement); + + // Repositioning the toasts again + this._reposition(); + }, 400); // Binding `this` for function invocation + } + + /** + * Position the toast on the DOM + * @private + */ + _reposition() { + // Top margins with gravity + let topLeftOffsetSize = { + top: 15, + bottom: 15 + }; + let topRightOffsetSize = { + top: 15, + bottom: 15 + }; + let offsetSize = { + top: 15, + bottom: 15 + }; + + // Get all toast messages that have been added to the container (selector) + let allToasts = this._rootElement.querySelectorAll(".toastify"); + let classUsed; + + // Modifying the position of each toast element + for (let i = 0; i < allToasts.length; i++) { + // Getting the applied gravity + if (allToasts[i].classList.contains("toastify-top") === true) { + classUsed = "toastify-top"; + } else { + classUsed = "toastify-bottom"; + } + let height = allToasts[i].offsetHeight; + classUsed = classUsed.substr(9, classUsed.length - 1); + // Spacing between toasts + let offset = 15; + let width = window.innerWidth > 0 ? window.innerWidth : screen.width; + + // Show toast in center if screen with less than or equal to 360px + if (width <= 360) { + // Setting the position + allToasts[i].style[classUsed] = `${offsetSize[classUsed]}px`; + offsetSize[classUsed] += height + offset; + } else { + if (allToasts[i].classList.contains("toastify-left") === true) { + // Setting the position + allToasts[i].style[classUsed] = `${topLeftOffsetSize[classUsed]}px`; + topLeftOffsetSize[classUsed] += height + offset; + } else { + // Setting the position + allToasts[i].style[classUsed] = `${topRightOffsetSize[classUsed]}px`; + topRightOffsetSize[classUsed] += height + offset; + } + } + } + } + + /** + * Helper function to get offset + * @param {string} axis - 'x' or 'y' + * @param {ToastifyConfigurationObject} options - The options object containing the offset object + */ + _getAxisOffsetAValue(axis, options) { + if (options.offset[axis]) { + if (isNaN(options.offset[axis])) { + return options.offset[axis]; + } else { + return `${options.offset[axis]}px`; + } + } + return '0px'; + } +} + +// Returning the Toastify function to be assigned to the window object/module +function StartToastifyInstance(options) { + return new Toastify(options); +} + +/** + * + * Wrapper component for toastify-js - https://github.com/apvarun/toastify-js + * + * @event jinn-toast - will show the toast with text passed in event + */ +class JinnToast extends HTMLElement { + static get properties() { + return { + avatar: { + type: String + }, + backgroundColor: { + type: String + }, + callback: { + type: String + }, + classProp: { + type: String + }, + close: { + type: Boolean + }, + destination: { + type: String + }, + duration: { + type: Number + }, + escapeMarkup: { + type: Boolean + }, + gravity: { + type: String + }, + newWindow: { + type: Boolean + }, + oldestFirst: { + type: Boolean + }, + position: { + type: String + }, + selector: { + type: String + }, + stopOnFocus: { + type: Boolean + }, + text: { + type: String + } + }; + } + constructor() { + super(); + this.attachShadow({ + mode: 'open' + }); + } + _initVar(name, defaultVal) { + return this.hasAttribute(name) ? this.getAttribute(name) : defaultVal; + } + connectedCallback() { + this.avatar = this._initVar('avatar', ''); + this.backgroundColor = this._initVar('backgroundColor', ''); + this.callback = this._initVar('callback', {}); + this.classProp = this._initVar('data-class', ''); + this.close = this._initVar('close', false) === 'true'; + this.destination = this._initVar('destination', undefined); + this.duration = Number(this._initVar('duration', 3000)); + this.escapeMarkup = this._initVar('escapeMarkup', 'true') === 'true'; + this.gravity = this._initVar('gravity', 'top'); + this.newWindow = this._initVar('newWindow', 'false') === 'true'; + this.offSet = this._initVar('offSet', {}); + this.oldestFirst = this._initVar('oldestFirst', 'true') === 'true'; + this.position = this._initVar('position', 'right'); + // this.selector = this._initVar('selector',''); + this.stopOnFocus = this._initVar('stopOnFocus', 'true') === 'true'; + this.text = this._initVar('text', ''); + const style = ` + :host{ + display:none; + } + `; + this.shadowRoot.innerHTML = ` + + ${this.renderHTML} + `; + + /** + * trigger toast via @jinn-toast events + */ + this.addEventListener('jinn-toast', ev => { + this.showToast(ev.detail.text); + }); + } + disconnectedCallback() { + this.removeEventListener('jinn-toast', this.showToast); + } + showToast(text) { + new StartToastifyInstance({ + avatar: this.avatar, + // backgroundColor:this.backgroundColor, + // callback: this.callback, + className: this.classProp, + close: this.close, + destination: this.destination, + duration: this.duration, + escapeMarkup: this.escapeMarkup, + gravity: this.gravity, + newWindow: false, + offset: this.offset, + oldestFirst: this.oldestFirst, + position: this.position, + node: this.shadowRoot, + stopOnFocus: this.stopOnFocus, + text + }).showToast(); + } + renderHTML() { + return ` + + `; + } +} +if (!customElements.get('jinn-toast')) { + window.customElements.define('jinn-toast', JinnToast); +} + +/** + * @template {typeof import('./ForeElementMixin.js').default} T + * @param {T} superclass + * @returns {T} + */ +const withDraggability = (superclass, isAlsoDraggable) => +/** + * Adds draggability to generic components. + * Add the `dnd` attribute to make it draggable + */ +class DraggableComponent extends superclass { + static get properties() { + return { + ...superclass.properties, + dnd: { + type: Boolean + } + }; + } + connectedCallback() { + super.connectedCallback(); + this.drop = event => this._drop(event); + this.addEventListener('drop', this.drop); + this.dragOver = event => this._dragOver(event); + this.addEventListener('dragover', this.dragOver); + this.dragLeave = event => this._dragLeave(event); + this.addEventListener('dragleave', this.dragLeave); + this.dragEnd = event => this._dragEnd(event); + this.addEventListener('dragend', this._dragEnd); + } + disconnectedCallback() { + this.removeEventListener('drop', this.drop); + this.removeEventListener('dragover', this.dragOver); + this.removeEventListener('dragleave', this.dragLeave); + this.removeEventListener('dragend', this.dragEnd); + } + _dragOver(event) { + // console.log('dragover ',this); + // console.log('event target ',event.target); + if (event.target.classList.contains('no-drop')) { + return false; + } + event.stopPropagation(); + const repeatItem = event.target.closest('fx-repeatitem'); + if (!this.getOwnerForm().draggedItem) { + // Not dragging + return; + } + // Only allow drag and drop in similar repeats + if (this === this.getOwnerForm().draggedItem) { + // Ignore: drop on itself + return; + } + const { + draggedItem + } = this.getOwnerForm(); + if (this.accepts(draggedItem)) { + this.classList.remove('no-drop'); + } else { + this.classList.add('no-drop'); + } + const thisClosestRepeat = this.hasAttribute('id') ? this : this.closest('[id]'); + const draggingClosestRepeat = draggedItem.hasAttribute('id') ? draggedItem : draggedItem.closest('[id]'); + if (thisClosestRepeat?.id === draggingClosestRepeat?.id) { + if (repeatItem !== this.getOwnerForm().draggedItem) { + this.classList.add('drag-over'); + } + event.preventDefault(); + } + } + _dragLeave(event) { + this.classList.remove('drag-over'); + this.classList.remove('no-drop'); + } + _dragEnd(event) { + const item = this.getOwnerForm().draggedItem; + if (!item) return; + if (item.getAttribute('drop-action') === 'copy') { + item.remove(); + } + this.classList.remove('drag-over'); + // event.stopPropagation(); + } + + _getDataNode() { + const dataNode = this.getOwnerForm().draggedItem?.getModelItem()?.node; + if (!dataNode) { + return null; + } + const { + draggedItem + } = this.getOwnerForm(); + const thisClosestRepeat = this.hasAttribute('id') ? this : this.closest('[id]'); + const draggingClosestRepeat = draggedItem.hasAttribute('id') ? draggedItem : draggedItem.closest('[id]'); + if (thisClosestRepeat?.id !== draggingClosestRepeat?.id) { + // Moving between different repeats: this can make the items 'lost': placed into a + // different set + return null; + } + return dataNode; + } + accepts(draggedItem) { + if (!this.hasAttribute('accept')) { + return; + } + const accept = this.getAttribute('accept'); + const isAccepted = draggedItem.matches(accept); + // console.log('accepted', isAccepted); + return isAccepted; + } + _drop(event) { + this.classList.remove('drag-over'); + event.stopPropagation(); + if (this.localName === 'fx-droptarget') { + if (this.children.length !== 0) { + console.log('we have to do something'); + } + let { + draggedItem + } = this.getOwnerForm(); + if (draggedItem.getAttribute('drop-action') === 'copy') { + draggedItem = draggedItem.cloneNode(true); + } + if (!this.accepts(draggedItem)) { + this.classList.remove('no-drop'); + return; + } + if (draggedItem === this) { + return; + } + if (draggedItem.localName === 'fx-droptarget') { + // todo : this looks still a bit weak + if (this.hasAttribute('drop-position')) { + this.replaceChildren(draggedItem); + event.preventDefault(); + return; + } + if (this.parentNode.lastElementChild === this) { + this.parentNode.append(draggedItem); + event.stopImmediatePropagation(); + // return; + } else if (draggedItem === this.previousElementSibling) { + // insertBefore of draggedItem before us would be a no-op: it is already before us. + // Instead: insert _after_ us, so we can still do something! + this.parentNode.insertBefore(draggedItem, this.nextElementSibling); + } else { + this.parentNode.insertBefore(draggedItem, this); + } + } else { + this.appendChild(draggedItem); + } + + /* + if(this.hasAttribute('drop-position')){ + if(this.getAttribute('drop-position') === 'before'){ + this.parentNode.insertBefore(draggedItem,this); + } else { + this.parentNode.append(draggedItem); + } + }else{ + this.replaceChildren(draggedItem); + } + */ + event.preventDefault(); + this.getOwnerForm().getModel().updateModel(); + this.getOwnerForm().refresh(true); + return; + } + const dataNode = this._getDataNode(); + if (!dataNode) { + return; + } + if (this.localName === 'fx-repeat') { + // We are sure we'll handle this event! + event.preventDefault(); + // Dropping on repeat itself always means to *append* the dropped item + + let contextNode = this.nodeset; + if (Array.isArray(contextNode) && !contextNode.length) { + // Guess: just append it to the context node. Hope that the `ref` is actually a + // child axis, like `ref="./item"`. A ref like `./items/item` breaks. + const context = getInScopeContext(this.getAttributeNode('ref') || this, this.ref); + context.append(dataNode); + } else { + // Guess: just insert it after it to the context node. Hope that the `ref` is + // actually listing siblings, like `ref="./item"` or + // `ref="./items/item"`. `ref="descendant::item[@category='a']"` breaks + contextNode = contextNode[contextNode.length - 1]; + contextNode.after(dataNode); + } + } else if (this.localName === 'fx-repeatitem') { + const repeatItemNode = this.getModelItem().node; + if (repeatItemNode.previousSibling === dataNode) { + // moving before will make it do nothing, move after + repeatItemNode.after(dataNode); + } else { + repeatItemNode.before(dataNode); + } + } + + // Note: full refresh needed since multiple model items may be affected. + // TODO: Leverage the changedPaths trick + this.getOwnerForm().getModel().updateModel(); + this.getOwnerForm().refresh(true); + } +}; + +class UIElement extends ForeElementMixin { + constructor() { + super(); + this._removeEventListeners = []; + } + connectedCallback() { + super.connectedCallback(); + this.ondemand = this.hasAttribute('on-demand'); + this.wasOnDemandInitially = this.ondemand; + if (this.ondemand) { + this.addEventListener('show-control', () => { + this.removeAttribute('on-demand'); + }); + this.addTrashIcon(); + } + const ref = this.getAttribute('ref'); + // TODO: make this smarter, handling multiple index functions etc + if (ref && ref.includes('index(')) { + const repeatId = ref.match(/index\(['"](?[^'"]*)['"]\)/)?.groups?.repeatId; + if (repeatId) { + /** + * @type {import('./fx-repeat.js').FxRepeat} + */ + const repeat = resolveId(repeatId, this, 'fx-repeat'); + const onRepeatItemChanged = () => { + this.getOwnerForm().addToBatchedNotifications(this); + }; + repeat.addEventListener('item-changed', onRepeatItemChanged); + this._removeEventListeners.push(() => repeat.removeEventListener('item-changed', onRepeatItemChanged)); + } + } + } + disconnectedCallback() { + if (this.modelItem && typeof this.modelItem.removeObserver === 'function') { + console.log(`[UIElement] Removing observer for ref="${this.ref}"`); + this.modelItem.removeObserver(this); + } + for (const removeEventListener of this._removeEventListeners) { + removeEventListener(); + } + } + /* + evalInContext() { + this.dependencies.resetDependencies(); + const model = this.getModel(); + if (!model) return; + const touchedNodes = new Set(); + const domFacade = new DependencyNotifyingDomFacade(node => touchedNodes.add(node)); + const context = this.getInScopeContext(); + const result = evaluateXPath(this.ref, context, this, domFacade); + this.nodeset = Array.isArray(result) ? result : [result]; + touchedNodes.forEach(node => { + const mi = model.getModelItem(node); + if (mi) { + mi.addObserver(this); + console.log(`[UIElement] Dynamically observing ${mi.path} due to XPath dependency`); + } + }); + // Manually evaluate predicate parts to ensure detection + const predicateRegex = /\[(.*?)\]/g; + let match; + while ((match = predicateRegex.exec(this.ref)) !== null) { + const predicate = match[1]; + try { + const predicateContext = model.getDefaultInstance().getDefaultContext(); + const predDomFacade = new DependencyNotifyingDomFacade(n => touchedNodes.add(n)); + evaluateXPathToBoolean(predicate, predicateContext, this, predDomFacade); + touchedNodes.forEach(node => { + const mi = model.getModelItem(node); + if (mi) { + mi.addObserver(this); + console.log(`[UIElement] Observing ${mi.path} (from predicate: ${predicate})`); + } + }); + } catch (e) { + console.warn('Predicate evaluation failed for dependency tracking:', predicate, e); + } + } + } + */ + + attachObserver() { + const modelItem = this.getModelItem(); + if (!modelItem || typeof modelItem.addObserver !== 'function') return; + if (!modelItem.observers) { + modelItem.observers = new Set(); + } + if (modelItem.observers.has(this)) { + // console.log(`[UIElement] Observer already registered for ref="${this.ref}"`); + return; + } + modelItem.addObserver(this); + // console.log(`[UIElement] attaching observer for ref="${this.ref}"`, this); + + // if (typeof this.update === 'function') { + // this.update(modelItem); + // } + } + + /** + * Called by ModelItem when it changes + * @param {import('../modelitem.js').ModelItem} modelItem - The ModelItem that changed + */ + update(modelItem) { + if (this.isBound()) { + // console.log('[UIElement] update()', modelItem); + // this.getOwnerForm().addToBatchedNotifications(modelItem); + this.refresh(); + } + } + + // init() { + // throw new Error('You have to implement the method init!'); + // } + + async refresh(force) { + console.log(`🔄 [UIElement] refresh() called for ref="${this.ref}"`); + } + async refreshChildren(force) { + await Fore.refreshChildren(this, force); + } + activate() { + console.log('UIElement.activate() called'); + this.removeAttribute('on-demand'); + this.style.display = ''; + if (this.isBound()) { + this.refresh(true); + } + Fore.dispatch(this, 'show-group', {}); + } + attributeChangedCallback(name, _oldValue, newValue) { + if (name === 'on-demand') { + this.ondemand = newValue !== null; + if (!newValue && !this.wasOnDemandInitially) { + this.removeTrashIcon(); + } else { + this.wasOnDemandInitially = true; + this.addTrashIcon(); + } + } + } + static get observedAttributes() { + return ['on-demand']; + } + addTrashIcon() { + if (!this.closest('[show-icon]')) return; + const trash = this.querySelector('.trash'); + if (trash) return; + const icon = document.createElement('span'); + icon.innerHTML = ` + + + +`; + icon.classList.add('trash'); + icon.setAttribute('title', 'Hide'); + icon.style.cursor = 'pointer'; + icon.style.marginLeft = '0.5em'; + icon.addEventListener('click', e => { + e.stopPropagation(); + this.setAttribute('on-demand', 'true'); + this.style.display = 'none'; + document.dispatchEvent(new CustomEvent('update-control-menu')); + Fore.dispatch(this, 'hide-control', {}); + }); + this.appendChild(icon); + } + removeTrashIcon() { + const icon = this.querySelector('.trash'); + if (icon) icon.remove(); + } +} +if (!customElements.get('ui-element')) { + customElements.define('ui-element', UIElement); +} + +/** + * repeat-base.js — Common logic extracted from fx-repeat (kept intact) for reuse. + * + * IMPORTANT: + * - fx-repeat stays exactly as-is. We do NOT change its code. + * - This base mirrors the common logic (method names + behavior) so other repeat + * variants (like fx-repeat-attributes) can reuse it without duplicating code. + * + * Integration options (no changes to fx-repeat required): + * - Import this file where you implement other repeat-like components and extend RepeatBase. + * - Optionally, you may mix these methods into FxRepeat at runtime: + * customElements.whenDefined('fx-repeat').then(() => { + * Object.assign(customElements.get('fx-repeat').prototype, RepeatBase.prototype); + * }); + * (Only if you really must; by default we leave FxRepeat untouched.) + */ +class RepeatBase extends withDraggability(UIElement) { + get repeatSize() { + return this.querySelectorAll(':scope > fx-repeatitem').length; + } + set repeatSize(size) { + this.size = size; + } + async init() { + // ### there must be a single 'template' child + + const inited = new Promise(resolve => { + // console.log('##### repeat-attributes init ', this.id); + // if(!this.inited) this.init(); + // does not use this.evalInContext as it is expecting a nodeset instead of single node + this._evalNodeset(); + // console.log('##### ',this.id, this.nodeset); + + this._initTemplate(); + // this._initRepeatItems(); + + this.setAttribute('index', this.index); + this.inited = true; + resolve('done'); + }); + return inited; + } + async refresh(force) { + console.log('🔄 fx-repeat.refresh on', this.id); + if (!this.inited) this.init(); + // console.time('repeat-refresh', this); + this._evalNodeset(); + + // console.log('repeat refresh nodeset ', this.nodeset); + // console.log('repeatCount', this.repeatCount); + + const repeatItems = this.querySelectorAll(':scope > fx-repeatitem'); + const repeatItemCount = repeatItems.length; + let nodeCount = 1; + if (Array.isArray(this.nodeset)) { + nodeCount = this.nodeset.length; + } + + // const contextSize = this.nodeset.length; + const contextSize = nodeCount; + // todo: review - cant the context really never be smaller than the repeat count? + // todo: this code can be deprecated probably but check first + if (contextSize < repeatItemCount) { + for (let position = repeatItemCount; position > contextSize; position -= 1) { + // remove repeatitem + const itemToRemove = repeatItems[position - 1]; + itemToRemove.parentNode.removeChild(itemToRemove); + this.getOwnerForm().unRegisterLazyElement(itemToRemove); + // this._fadeOut(itemToRemove); + // Fore.fadeOutElement(itemToRemove) + } + } + + if (contextSize > repeatItemCount) { + for (let position = repeatItemCount + 1; position <= contextSize; position += 1) { + // add new repeatitem + + const newItem = this._createNewRepeatItem(); + this.appendChild(newItem); + this._initVariables(newItem); + newItem.nodeset = this.nodeset[position - 1]; + newItem.index = position; + if (this.getOwnerForm().createNodes) { + this.getOwnerForm().initData(newItem); + } + + // Tell the owner form we might have new template expressions here + this.getOwnerForm().scanForNewTemplateExpressionsNextRefresh(); + newItem.refresh(true); + } + } + + // ### update nodeset of repeatitems + for (let position = 0; position < repeatItemCount; position += 1) { + const item = repeatItems[position]; + this.getOwnerForm().registerLazyElement(item); + if (item.nodeset !== this.nodeset[position]) { + item.nodeset = this.nodeset[position]; + } + } + + // Fore.refreshChildren(clone, true); + const fore = this.getOwnerForm(); + // if (!fore.lazyRefresh || force) { + if (!fore.lazyRefresh || force) { + // Turn the possibly conditional force refresh into a forced one: we changed our children + Fore.refreshChildren(this, force); + } + // this.style.display = 'block'; + // this.style.display = this.display; + this.setIndex(this.index); + // console.timeEnd('repeat-refresh'); + + // this.replaceWith(clone); + + // this.repeatCount = contextSize; + // console.log('repeatCount', this.repeatCount); + } + + connectedCallback() { + super.connectedCallback(); + + // Listen for insertion events + this.handleInsert = event => { + const { + detail + } = event; + console.log('insert catched', detail); + + // Step 1: Refresh/re-evaluate the nodeset + const oldNodesetLength = this.nodeset.length; + this._evalNodeset(); + const newNodesetLength = this.nodeset.length; + if (oldNodesetLength === newNodesetLength) { + return; + } + this._insertHandler(detail.insertedNodes); + }; + this.getOwnerForm().addEventListener('insert', this.handleInsert); + this.handleDelete = event => { + console.log('delete catched', event); + const { + detail + } = event; + if (!detail || !detail.deletedNodes) { + return; + } + + // Remove corresponding repeat items for deleted nodes + detail.deletedNodes.forEach(node => { + this._deleteHandler(node); + // this.removeRepeatItemForNode(node); + }); + + this.getOwnerForm().addToBatchedNotifications(this); + }; + this.getOwnerForm().addEventListener('deleted', this.handleDelete); + } + disconnectedCallback() { + this.getOwnerForm().removeEventListener('deleted', this.handleDelete); + this.getOwnerForm().removeEventListener('insert', this.handleInsert); + } + + /** + * Handle an insert + * + * @param {Node} node + */ + _insertHandler(node) { + /** + * @type {number} + */ + const insertionIndex = this.nodeset.indexOf(node) + 1; + // Step 2: Get current repeat items and create a new item + // todo: search fx-bind elements with same nodeset as this repeat - if present update modelItem instead of creating one + const newRepeatItem = this._createNewRepeatItem(insertionIndex, node); + + // Generate the parent `modelItem` for the new repeat item + this.opNum++; + const parentModelItem = FxBind.createModelItem(this.ref, node, this, this.opNum); + newRepeatItem.modelItem = parentModelItem; + this.setIndex(insertionIndex); + this.getModel().registerModelItem(parentModelItem); + + // Step 5: Create modelItems recursively for child elements + this._createModelItemsRecursively(newRepeatItem, parentModelItem); + + // Step 6: Notify and refresh the UI + this.getOwnerForm().scanForNewTemplateExpressionsNextRefresh(); + this.getOwnerForm().addToBatchedNotifications(newRepeatItem); + } + + /** + * @abstract + * + * @param {number} index - the one-based index of where to insert the new node + * @param {Node} node - the new node that's inserted + * + * @returns {HTMLElement} + */ + _createNewRepeatItem(index, node) { + throw new Error('Not implemented'); + } + setInScopeVariables(inScopeVariables) { + // Repeats are interesting: the variables should be scoped per repeat item, they should not be + // able to see the variables in adjacent repeat items! + this.inScopeVariables = new Map(inScopeVariables); + } + + /** + * repeat has no own modelItems + * @private + */ + _evalNodeset() { + // const inscope = this.getInScopeContext(); + const inscope = getInScopeContext(this.getAttributeNode('ref') || this, this.ref); + // console.log('##### inscope ', inscope); + // console.log('##### ref ', this.ref); + // now we got a nodeset and attach MutationObserver to it + + if (this.mutationObserver && inscope.nodeName) { + this.mutationObserver.observe(inscope, { + childList: true, + subtree: true + }); + } + + /* + this.touchedPaths = new Set(); + const instance = XPathUtil.resolveInstance(this, this.ref); + const depTrackDomfacade = new DependencyNotifyingDomFacade((node) => { + this.touchedPaths.add(XPathUtil.getPath(node, instance)); + }); + const rawNodeset = evaluateXPath(this.ref, inscope, this, {}, {}, depTrackDomfacade ); + */ + const rawNodeset = evaluateXPath(this.ref, inscope, this); + + // console.log('Touched!', this.ref, [...this.touchedPaths].join(', ')); + if (rawNodeset.length === 1 && Array.isArray(rawNodeset[0])) { + // This XPath likely returned an XPath array. Just collapse to that array + this.nodeset = rawNodeset[0]; + return; + } + this.nodeset = rawNodeset; + } + _initTemplate() { + this.template = this.querySelector('template'); + // console.log('### init template for repeat ', this.id, this.template); + // todo: this.dropTarget not needed? + this.dropTarget = this.template.getAttribute('drop-target'); + this.isDraggable = this.template.hasAttribute('draggable') ? this.template.getAttribute('draggable') : null; + if (this.template === null) { + // todo: catch this on form element + this.dispatchEvent(new CustomEvent('no-template-error', { + composed: true, + bubbles: true, + detail: { + message: `no template found for repeat:${this.id}` + } + })); + } + this.shadowRoot.appendChild(this.template); + } + _initRepeatItems() { + this.nodeset.forEach((item, index) => { + const repeatItem = this._createNewRepeatItem(); + repeatItem.nodeset = this.nodeset[index]; + repeatItem.index = index + 1; // 1-based index + + // this.appendChild(repeatItem); + + if (this.getOwnerForm().createNodes) { + this.getOwnerForm().initData(repeatItem); + const repeatItemClone = repeatItem.nodeset.cloneNode(true); + this.clearTextValues(repeatItemClone); + + // this.createdNodeset = repeatItem.nodeset.cloneNode(true); + this.createdNodeset = repeatItemClone; + // console.log('createdNodeset', this.createdNodeset) + } + + if (repeatItem.index === 1) { + this.applyIndex(repeatItem); + } + // console.log('*********repeat item created', repeatItem.nodeset); + Fore.dispatch(this, 'item-created', { + nodeset: repeatItem.nodeset, + pos: index + 1 + }); + this._initVariables(repeatItem); + }); + } + getRepeatItems() { + return Array.from(this.querySelectorAll(':scope > fx-repeatitem')); + } + _deleteHandler(deleted) { + console.log('handleDelete', deleted); + // grab the current repeat items (tweak selector if yours differs) + /** + * @type {import('./fx-repeatitem.js').FxRepeatitem[]} + */ + const items = this.getRepeatItems(); + + /* + const items = Array.from( + this.querySelectorAll( + ':scope > fx-repeatitem, :scope > .fx-repeatitem', + ), + ); + */ + + this._evalNodeset(); + const indexToRemove = items.findIndex(item => item.nodeset === deleted); + if (indexToRemove === -1) { + return; + } + const itemToRemove = items[indexToRemove]; + itemToRemove.remove(); + + // Make the next item the 'current' + this.setIndex(indexToRemove + 1); + } + + /** + * @abstract + */ + setIndex(index) { + throw new Error('Not implemented'); + } + applyIndex(repeatItem) { + this._removeIndexMarker(); + if (repeatItem) { + repeatItem.setAttribute('repeat-index', ''); + } + } + _initVariables(newRepeatItem) { + const inScopeVariables = new Map(this.inScopeVariables); + newRepeatItem.setInScopeVariables(inScopeVariables); + (function registerVariables(node) { + for (const child of node.children) { + if ('setInScopeVariables' in child) { + child.setInScopeVariables(inScopeVariables); + } + registerVariables(child); + } + })(newRepeatItem); + } + clearTextValues(node) { + if (!node) return; + + // Clear text node content + if (node.nodeType === Node.TEXT_NODE) { + node.nodeValue = ''; + } + + // Clear all attribute values + if (node.nodeType === Node.ELEMENT_NODE) { + for (const attr of Array.from(node.attributes)) { + attr.value = ''; // Clear attribute value + } + } + + // Recursively clear child nodes + for (const child of node.childNodes) { + this.clearTextValues(child); + } + } + _clone() { + // const content = this.template.content.cloneNode(true); + this.template = this.shadowRoot.querySelector('template'); + const content = this.template.content.cloneNode(true); + return document.importNode(content, true); + } + _removeIndexMarker() { + Array.from(this.children).forEach(item => { + item.removeAttribute('repeat-index'); + }); + } + _createModelItemsRecursively(parentNode, parentModelItem) { + const parentWithDewey = parentModelItem?.path || null; // e.g. $default/AllowanceCharge[2]_1 + parentWithDewey ? parentWithDewey.replace(/_\d+$/, '') : null; // e.g. $default/AllowanceCharge[2] + + // Robust Dewey rewrite that tolerates $inst vs instance('inst') forms + const __applyDeweyRewrite = mi => { + if (!mi || typeof mi.path !== 'string' || !parentModelItem?.path) return; + const pWith = parentModelItem.path; // e.g. $default/AllowanceCharge[2]_1 or instance('default')/AllowanceCharge[2]_1 + const opMatch = pWith.match(/_(\d+)$/); + if (!opMatch) return; + const op = opMatch[1]; + + // Normalize to $name/ and strip _n on parent; normalize child for prefix test only + const toDollar = s => s.replace(/^instance\('([^']+)'\)\//, (_m, g1) => `$${g1}/`); + const parentBaseNorm = toDollar(pWith).replace(/_\d+$/, ''); // $default/AllowanceCharge[2] + const childNorm = toDollar(mi.path); + if (!childNorm.startsWith(parentBaseNorm)) return; // unrelated subtree + + // Preserve original style of child's instance prefix + const childUsesInstanceFn = /^instance\('/.test(mi.path); + const parentBaseInChildStyle = childUsesInstanceFn ? parentBaseNorm.replace(/^\$([A-Za-z0-9_-]+)\//, `instance('$1')/`) : parentBaseNorm; + + // If already suffixed for this parent, nothing to do + if (mi.path.startsWith(`${parentBaseInChildStyle}_`)) return; + + // Inject _op immediately after the parent base segment + mi.path = `${parentBaseInChildStyle}_${op}${mi.path.slice(parentBaseInChildStyle.length)}`; + }; + if (parentNode.attachObserver) { + parentNode.attachObserver(); + } + Array.from(parentNode.children).forEach(child => { + const nextParentMI = parentModelItem; + + // Skip native/embedded widgets that may carry a 'ref' but are UI only + const isWidgetEl = child && (child.classList && child.classList.contains('widget') || typeof Fore !== 'undefined' && Fore.isWidget && Fore.isWidget(child) || child.tagName && ['INPUT', 'SELECT', 'TEXTAREA', 'OPTION', 'DATALIST'].includes(child.tagName)); + if (!isWidgetEl && child.hasAttribute('ref')) { + const ref = child.getAttribute('ref').trim(); + if (ref && ref !== '.') { + // Evaluate the FULL ref once — this yields the terminal (last) node(s) + let node = evaluateXPath(ref, parentModelItem.node, this); + if (Array.isArray(node)) node = node[0]; + if (node) { + let modelItem = this.getModel().getModelItem(node); + if (!modelItem) { + // Create a ModelItem only for the final node; children never get their own opNum + modelItem = FxBind.createModelItem(ref, node, child, null); + modelItem.parentModelItem = parentModelItem; + this.getModel().registerModelItem(modelItem); + } + + // Always apply Dewey rewrite (handles both $inst and instance('inst') forms) + __applyDeweyRewrite(modelItem); + child.nodeset = node; + if (child.attachObserver) child.attachObserver(); + } + } + } + + // Recurse into non-widget subtrees + if (!isWidgetEl) this._createModelItemsRecursively(child, nextParentMI); + }); + } + + // eslint-disable-next-line class-methods-use-this + _fadeOut(el) { + el.style.opacity = 1; + (function fade() { + // eslint-disable-next-line no-cond-assign + if ((el.style.opacity -= 0.1) < 0) { + el.style.display = 'none'; + } else { + requestAnimationFrame(fade); + } + })(); + } + + // eslint-disable-next-line class-methods-use-this + _fadeIn(el) { + if (!el) return; + el.style.opacity = 0; + el.style.display = this.display; + (function fade() { + // setTimeout(() => { + let val = parseFloat(el.style.opacity); + // eslint-disable-next-line no-cond-assign + if (!((val += 0.1) > 1)) { + el.style.opacity = val; + requestAnimationFrame(fade); + } + // }, 40); + })(); + } +} + +// Global accessor for non-module inclusion +if (typeof window !== 'undefined') { + window.RepeatBase = window.RepeatBase || RepeatBase; +} + +/** + * `fx-repeat` + * + * Repeats its template for each node in its' bound nodeset. + * + * Template is a standard HTML `