diff --git a/.babelrc b/.babelrc deleted file mode 100644 index 073a816..0000000 --- a/.babelrc +++ /dev/null @@ -1,13 +0,0 @@ -{ - "presets": [ - [ - "@babel/env", - { - "useBuiltIns": "entry", - "corejs": "3" - } - ], - "@babel/typescript" - ], - "plugins": ["lodash", "@babel/proposal-class-properties", "@babel/proposal-object-rest-spread"] -} diff --git a/.changeset/config.json b/.changeset/config.json new file mode 100644 index 0000000..17e0060 --- /dev/null +++ b/.changeset/config.json @@ -0,0 +1,11 @@ +{ + "$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json", + "changelog": "@changesets/cli/changelog", + "commit": false, + "fixed": [], + "linked": [], + "access": "public", + "baseBranch": "main", + "updateInternalDependencies": "patch", + "ignore": [] +} diff --git a/.depcheckrc b/.depcheckrc deleted file mode 100644 index 7cbc532..0000000 --- a/.depcheckrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "ignores": [ - "typescript", - "prettier-eslint" - ] -} \ No newline at end of file diff --git a/.dockerignore b/.dockerignore deleted file mode 100644 index 5d71d9d..0000000 --- a/.dockerignore +++ /dev/null @@ -1,4 +0,0 @@ -Dockerfile -dist -node_modules -.gitignore diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..81f0141 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,10 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_size = 2 +indent_style = space +ij_typescript_use_double_quotes = false +ij_javascript_use_double_quotes = false \ No newline at end of file diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 76add87..0000000 --- a/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -dist \ No newline at end of file diff --git a/.eslintrc b/.eslintrc index 37713ab..e24b531 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,16 +1,4 @@ { - "plugins": ["simple-import-sort", "import"], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "ecmaVersion": 2020, - "sourceType": "module" - }, - "extends": ["plugin:@typescript-eslint/recommended", "prettier/@typescript-eslint", "plugin:prettier/recommended"], - "rules": { - "simple-import-sort/imports": "error", - "simple-import-sort/exports": "error", - "import/first": "error", - "import/newline-after-import": "error", - "import/no-duplicates": "error" - } + "root": true, + "extends": ["@ownclouders"] } diff --git a/.gitignore b/.gitignore index e689653..50621c2 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,7 @@ .idea *.iml -node_modules +.turbo +.pnpm-store dist -yarn-error.log -/tests +lib +node_modules diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 148c0b7..0000000 --- a/.prettierrc +++ /dev/null @@ -1,7 +0,0 @@ -{ - "semi": true, - "trailingComma": "all", - "singleQuote": true, - "printWidth": 120, - "tabWidth": 2 -} diff --git a/.syncpackrc b/.syncpackrc new file mode 100644 index 0000000..d9c5ddf --- /dev/null +++ b/.syncpackrc @@ -0,0 +1,10 @@ +{ + "dependencyTypes": [ + "dev", + "overrides", + "peer", + "pnpmOverrides", + "prod", + "resolutions", + ] +} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 3663528..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,20 +0,0 @@ -# Changes in unreleased - -## Summary - -* Enhancement - Add upload delete trash tests: [#35](https://github.com/owncloud/cdperf/pull/35) -* Enhancement - Add upload delete restore tests: [#35](https://github.com/owncloud/cdperf/pull/35) - -## Details - -* Enhancement - Add upload delete trash tests: [#35](https://github.com/owncloud/cdperf/pull/35) - - Add tests for upload, delete and trash resources. - - https://github.com/owncloud/cdperf/pull/35 - -* Enhancement - Add upload delete restore tests: [#35](https://github.com/owncloud/cdperf/pull/35) - - Add tests for upload, delete and restore resources. - - https://github.com/owncloud/cdperf/pull/35 diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index d242c91..0000000 --- a/Dockerfile +++ /dev/null @@ -1,39 +0,0 @@ -FROM golang as k6 - -RUN go install go.k6.io/xk6/cmd/xk6@latest && \ - xk6 build --with github.com/grafana/xk6-output-influxdb - - -FROM node:15-alpine as node - -WORKDIR /k6 - -COPY .babelrc package.json rollup.config.js tsconfig.json yarn.lock ./ -RUN yarn - -COPY ./src ./src -RUN yarn build - -FROM alpine:3 - -LABEL maintainer="ownCloud GmbH " \ - org.label-schema.name="ownCloud measure" \ - org.label-schema.vendor="ownCloud GmbH" \ - org.label-schema.schema-version="1.0" - -RUN apk update && \ - apk upgrade && \ - apk add bash curl && \ - rm -rf /var/cache/apk/* - - -COPY ./entrypoint /usr/bin/entrypoint -RUN chmod +x /usr/bin/entrypoint - -WORKDIR /scripts - -ENTRYPOINT ["entrypoint"] - -COPY --from=k6 /go/k6 /usr/bin/k6 - -COPY --from=node /k6/tests /scripts diff --git a/Makefile b/Makefile deleted file mode 100644 index 5edb440..0000000 --- a/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -.ONESHELL: -ROOT_DIR:=$(shell dirname $(realpath $(firstword $(MAKEFILE_LIST)))) - -.PHONY: changelog -changelog: - go run github.com/restic/calens -i ./changelog -t ./changelog/CHANGELOG.tmpl >| ./CHANGELOG.md diff --git a/README.md b/README.md index 97cf49e..1231f0e 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,16 @@ # ownCloud cloud testing toolbox -This repository contains the tools we use to test the performance of different cloud systems. +This repository contains the tools we use to test and measure the performance of different cloud systems. Supported clouds are: -* [ownCloud](https://github.com/owncloud/core) -* [ocis](https://github.com/owncloud/ocis) -* [nextCloud](https://github.com/nextcloud/server/) +* [ownCloud Core](https://github.com/owncloud/core) +* [Infinite Scale](https://github.com/owncloud/ocis) +* [Nextcloud](https://github.com/nextcloud/server/) ## Requirements * [K6](https://k6.io/) (if k6 should run on the host machine) -* [Docker](https://docs.docker.com/) ## Usage -cdPerf is just a collection of prepared scripts which can used with k6 as described +cdPerf is a collection of ready to use scripts which can used via k6 as described. [here](https://k6.io/docs/get-started/running-k6/). ## How to test @@ -27,7 +26,8 @@ It's important to know how to compare the tests against each other and what thos **Test setup at ownCloud:** -At ownCloud we currently test two times a day on different servers. Server (A) is intel based and server (B) amd based. +At ownCloud, k6 is used to compare the performance of the products during development. It is very helpful to understand how changes to the codebase affect the performance, between releases, but also between single commits. + The first test run, runs the tests on A which is testing a server on B and then B which is testing on A. We collect those metrics over time to get indicators of how the performance changes over time (version to version) and how the clouds perform in comparison to each other. @@ -41,17 +41,26 @@ We collect those metrics over time to get indicators of how the performance chan for a more detailed instruction how to read the results you should consider reading the k6 manual, specially the [end of test](https://k6.io/docs/results-output/end-of-test/) section. +## Test Suits +* koko + * [010-login](packages/k6-tests/src/koko/010-login.md) + * [020-navigate-file-tree](packages/k6-tests/src/koko/020-navigate-file-tree.md) + * [040-upload-delete](packages/k6-tests/src/koko/040-upload-delete.md) + * [050-upload-download](packages/k6-tests/src/koko/050-upload-download.md) + * [060-create-rename-folder](packages/k6-tests/src/koko/060-create-rename-folder.md) +* oc + * [share-upload-rename](packages/k6-tests/src/oc/share-upload-rename.md) +* sample + * [kitchen-sink](packages/k6-tests/src/sample/kitchen-sink.md) +* surf + * [upload](packages/k6-tests/src/surf/upload.md) + ## Details Read more about [considerations](docs/considerations.md) of performance measurement. A precise description of what a test does and what the requirements are can be found in the respective test folder. -## Available tests -* [share-upload-rename](src/tests/share-upload-rename/default.md) -* [surf-upload](src/tests/surf/upload.md) - ## Dashboard -To visualize the test results you need an influxdb and grafana instance running. -At ownCloud, we are using [https://github.com/owncloud-devops/k6-benchmark-visualization](https://github.com/owncloud-devops/k6-benchmark-visualization) +To visualize the test results, tools such as InfluxDB + Grafana are needed. To explain how the results can be visualized would go beyond the scope of this document and is also not the purpose of cdPerf. All necessary steps and a precise description of what is necessary can be found [here](https://k6.io/docs/results-output/real-time/). ## Security If you find a security issue please contact [security@owncloud.com](mailto:security@owncloud.com) first @@ -62,6 +71,11 @@ Fork -> Patch -> Push -> Pull Request ## License Apache-2.0 +## Dictonary +* **oCis**: [ownCloud Infinite Scale](https://github.com/owncloud/ocis) +* **k6-tdk**: k6 test development kit +* **cdPerf**: cloud performance + ## Copyright ```console Copyright (c) 2023 ownCloud GmbH diff --git a/changelog/CHANGELOG.tmpl b/changelog/CHANGELOG.tmpl deleted file mode 100644 index 2fd6ab2..0000000 --- a/changelog/CHANGELOG.tmpl +++ /dev/null @@ -1,53 +0,0 @@ -{{ $allVersions := . }} -{{- range $index, $changes := . }}{{ with $changes -}} -{{ if gt (len $allVersions) 1 -}} -# Changelog for [{{ .Version }}] ({{ .Date }}) - -The following sections list the changes for {{ .Version }}. - -{{/* creating version compare links */ -}} -{{ $next := add1 $index -}} -{{ if ne (len $allVersions) $next -}} -{{ $previousVersion := (index $allVersions $next).Version -}} -{{ if eq .Version "unreleased" -}} -[{{ .Version }}]: https://github.com/owncloud/cdperf/compare/v{{ $previousVersion }}...master - -{{ else -}} -[{{ .Version }}]: https://github.com/owncloud/cdperf/compare/v{{ $previousVersion }}...v{{ .Version }} - -{{ end -}} -{{ end -}} - -{{- /* last version managed by calens, end of the loop */ -}} -{{ else -}} -# Changes in {{ .Version }} - -{{ end -}} - -## Summary -{{ range $entry := .Entries }}{{ with $entry }} -* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }}) -{{- end }}{{ end }} - -## Details -{{ range $entry := .Entries }}{{ with $entry }} -* {{ .Type }} - {{ .Title }}: [#{{ .PrimaryID }}]({{ .PrimaryURL }}) -{{ range $par := .Paragraphs -}} -{{/* Workaround for keeping lists inside of changelog items well formatted */ -}} -{{ if hasPrefix "*" $par }} - {{ $par | replace " *" "\n *" }} -{{- else }} - {{ wrapIndent $par 80 3 -}} -{{ end }} -{{ end -}} -{{ range $url := .IssueURLs }} - {{ $url -}} -{{ end -}} -{{ range $url := .PRURLs }} - {{ $url -}} -{{ end -}} -{{ range $url := .OtherURLs }} - {{ $url -}} -{{ end }} -{{ end }}{{ end -}} -{{ end }}{{ end -}} diff --git a/changelog/README.md b/changelog/README.md deleted file mode 100644 index 0ae5d5b..0000000 --- a/changelog/README.md +++ /dev/null @@ -1,6 +0,0 @@ -# Changelog - -We are using [calens](https://github.com/restic/calens) to properly generate a -changelog before we are tagging a new release. To get an idea how this could -look like would be the -best reference. diff --git a/changelog/TEMPLATE b/changelog/TEMPLATE deleted file mode 100644 index 38e11f0..0000000 --- a/changelog/TEMPLATE +++ /dev/null @@ -1,11 +0,0 @@ -Bugfix: Fix behavior for foobar (in present tense) - -We've fixed the behavior for foobar, a long-standing annoyance for users. The -text should be wrapped at 80 characters length. - -The text in the paragraphs is written in past tense. The last section is a list -of issue URLs, PR URLs and other URLs. The first issue ID (or the first PR ID, -in case there aren't any issue links) is used as the primary ID. - -https://github.com/owncloud/cdperf/issues/1234 -https://github.com/owncloud/cdperf/pull/55555 diff --git a/changelog/unreleased/.keep b/changelog/unreleased/.keep deleted file mode 100644 index e69de29..0000000 diff --git a/changelog/unreleased/enhancement-upload-delete-restore-tests.md b/changelog/unreleased/enhancement-upload-delete-restore-tests.md deleted file mode 100644 index 13b7a83..0000000 --- a/changelog/unreleased/enhancement-upload-delete-restore-tests.md +++ /dev/null @@ -1,5 +0,0 @@ -Enhancement: Add upload delete trash tests - -Add tests for upload, delete and trash resources. - -https://github.com/owncloud/cdperf/pull/35 diff --git a/changelog/unreleased/enhancement-upload-delete-trash-tests.md b/changelog/unreleased/enhancement-upload-delete-trash-tests.md deleted file mode 100644 index c8e3c55..0000000 --- a/changelog/unreleased/enhancement-upload-delete-trash-tests.md +++ /dev/null @@ -1,5 +0,0 @@ -Enhancement: Add upload delete restore tests - -Add tests for upload, delete and restore resources. - -https://github.com/owncloud/cdperf/pull/35 diff --git a/entrypoint b/entrypoint deleted file mode 100644 index 97cfd9d..0000000 --- a/entrypoint +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash - -exec "$@" \ No newline at end of file diff --git a/go.mod b/go.mod deleted file mode 100644 index 483822b..0000000 --- a/go.mod +++ /dev/null @@ -1,18 +0,0 @@ -module github.com/owncloud/cdperf - -go 1.18 - -require ( - github.com/Masterminds/goutils v1.1.0 // indirect - github.com/Masterminds/semver/v3 v3.0.2 // indirect - github.com/Masterminds/sprig/v3 v3.0.1 // indirect - github.com/google/uuid v1.1.1 // indirect - github.com/huandu/xstrings v1.2.0 // indirect - github.com/imdario/mergo v0.3.7 // indirect - github.com/mitchellh/copystructure v1.0.0 // indirect - github.com/mitchellh/reflectwalk v1.0.0 // indirect - github.com/restic/calens v0.2.0 // indirect - github.com/spf13/cast v1.3.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 // indirect -) diff --git a/go.sum b/go.sum deleted file mode 100644 index 0d2b638..0000000 --- a/go.sum +++ /dev/null @@ -1,38 +0,0 @@ -github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver/v3 v3.0.2 h1:tRi7ENs+AaOUCH+j6qwNQgPYfV26dX3JNonq+V4mhqc= -github.com/Masterminds/semver/v3 v3.0.2/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig/v3 v3.0.1 h1:RuaOafp+8qOLUPX1lInLfUrLc1MEVbnz7a40RLoixKY= -github.com/Masterminds/sprig/v3 v3.0.1/go.mod h1:Cp7HwZjmqKrC+Y7XqSJOU2yRvAJRGLiohfgz5ZJj8+4= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-test/deep v1.0.1/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= -github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/huandu/xstrings v1.2.0 h1:yPeWdRnmynF7p+lLYz0H2tthW9lqhMJrQV/U7yy4wX0= -github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= -github.com/imdario/mergo v0.3.7 h1:Y+UAYTZ7gDEuOfhxKWy+dvb5dRQ6rJjFSdX2HZY1/gI= -github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= -github.com/mitchellh/reflectwalk v1.0.0 h1:9D+8oIskB4VJBN5SFlmc27fSlIBZaov1Wpk/IfikLNY= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/restic/calens v0.2.0 h1:LVNAtmFc+Pb4ODX66qdX1T3Di1P0OTLyUsVyvM/xD7E= -github.com/restic/calens v0.2.0/go.mod h1:UXwyAKS4wsgUZGEc7NrzzygJbLsQZIo3wl+62Q1wvmU= -github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7 h1:0hQKqeLdqlt5iIwVOBErRisrHJAN57yOiPRQItI20fU= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= diff --git a/package.json b/package.json index 0ab042b..6966209 100644 --- a/package.json +++ b/package.json @@ -1,54 +1,33 @@ { - "name": "oc-k6", - "version": "1.0.0", - "main": "index.js", - "license": "Apache-2.0", - "author": { - "name": "Florian Schade", - "email": "fschade@owncloud.com", - "url": "https://owncloud.com" - }, + "version": "2.0.0-rc.2", + "private": true, + "homepage": "https://github.com/owncloud/cdperf", + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", "scripts": { - "build": "rm -rf ./run && rollup -c", - "build:w": "rollup -c -w", - "clean": "rm -rf ./tests", - "lint": "eslint './src/**/*.ts'", - "lint:f": "yarn lint --fix", - "depcheck": "depcheck" + "build": "turbo run build --no-daemon", + "changeset": "changeset", + "changeset:publish": "changeset publish", + "changeset:version": "changeset version", + "clean": "turbo run clean --no-daemon --parallel && del-cli .pnpm-store node_modules", + "dev": "ROARR_LOG=true turbo run dev --parallel --concurrency 64 --no-daemon | roarr", + "lint": "eslint package.json && syncpack list-mismatches && turbo run lint --no-daemon", + "lint:fix": "eslint package.json --fix && syncpack fix-mismatches && turbo run lint:fix --no-daemon" }, "devDependencies": { - "@babel/core": "^7.9.0", - "@babel/preset-env": "^7.9.5", - "@babel/preset-typescript": "^7.9.0", - "@rollup/plugin-commonjs": "^11.1.0", - "@rollup/plugin-json": "^4.0.3", - "@rollup/plugin-node-resolve": "^7.1.3", - "@rollup/pluginutils": "^4.1.0", - "@types/k6": "^0.42.0", - "@types/lodash": "^4.14.165", - "@types/xmldom": "^0.1.30", - "@typescript-eslint/eslint-plugin": "^4.9.0", - "@typescript-eslint/parser": "^4.9.0", - "babel-plugin-lodash": "^3.3.4", - "core-js": "3", - "depcheck": "^1.3.1", - "eslint": "^7.14.0", - "eslint-config-prettier": "^6.15.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-prettier": "^3.2.0", - "eslint-plugin-simple-import-sort": "^6.0.1", - "k6": "^0.0.0", - "lint-staged": "^10.1.7", - "lodash": "^4.17.20", - "prettier": "^2.2.1", - "prettier-eslint": "^12.0.0", - "rollup": "^2.7.2", - "rollup-plugin-babel": "^4.4.0", - "rollup-plugin-multi-input": "^1.1.1", - "rollup-plugin-terser": "^5.3.0", - "typescript": "^4.1.2" + "@changesets/cli": "^2.26.1", + "@ownclouders/eslint-config": "workspace:*", + "@roarr/cli": "^5.11.0", + "del-cli": "^5.0.0", + "syncpack": "^9.8.4", + "turbo": "^1.8.8", + "typescript": "^5.0.3" + }, + "packageManager": "pnpm@7.30.5", + "engines": { + "node": ">=18" }, - "dependencies": { - "xmldom": "^0.4.0" + "volta": { + "node": "18.9.1" } } diff --git a/packages/esbuild/.eslintrc b/packages/esbuild/.eslintrc new file mode 100644 index 0000000..e24b531 --- /dev/null +++ b/packages/esbuild/.eslintrc @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": ["@ownclouders"] +} diff --git a/packages/esbuild/esbuild.mjs b/packages/esbuild/esbuild.mjs new file mode 100644 index 0000000..aae5f86 --- /dev/null +++ b/packages/esbuild/esbuild.mjs @@ -0,0 +1,13 @@ +import { build } from 'esbuild'; + +await build({ + entryPoints: ['src/index.ts'], + bundle: true, + target: ['es2022'], + platform: 'node', + format: 'esm', + sourcemap: true, + outdir: 'dist', + packages: 'external', + minify: true, +}); diff --git a/packages/esbuild/package.json b/packages/esbuild/package.json new file mode 100644 index 0000000..04f33ad --- /dev/null +++ b/packages/esbuild/package.json @@ -0,0 +1,38 @@ +{ + "name": "@ownclouders/esbuild", + "version": "0.0.1", + "private": true, + "description": "common esbuild helpers used withing @ownclouders namespace.", + "homepage": "https://github.com/owncloud/web/tree/master/packages/esbuild", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/esbuild" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "concurrently pnpm:build:*", + "build:esbuild": "node esbuild.mjs", + "build:types": "tsc --outDir dist", + "clean": "pnpm clean:artifacts && pnpm clean:vendor", + "clean:artifacts": "del-cli dist", + "clean:vendor": "del-cli .turbo node_modules", + "lint": "eslint package.json src/**/*.ts", + "lint:fix": "pnpm run lint --fix" + }, + "dependencies": { + "esbuild": "^0.17.14" + }, + "devDependencies": { + "@ownclouders/eslint-config": "workspace:*", + "@ownclouders/tsconfig": "workspace:*", + "@types/node": "^18.15.11", + "concurrently": "^8.0.1", + "del-cli": "^5.0.0", + "typescript": "^5.0.3" + } +} diff --git a/packages/esbuild/src/index.ts b/packages/esbuild/src/index.ts new file mode 100644 index 0000000..e6d7357 --- /dev/null +++ b/packages/esbuild/src/index.ts @@ -0,0 +1,14 @@ +import { build as _build, BuildOptions, BuildResult } from 'esbuild'; + +export const build = async (config?: BuildOptions): Promise => { + return _build({ + entryPoints: ['src/index.ts'], + bundle: true, + treeShaking: true, + outdir: 'dist', + format: 'esm', + minify: true, + platform: 'node', + ...config + }) +}; diff --git a/packages/esbuild/tsconfig.json b/packages/esbuild/tsconfig.json new file mode 100644 index 0000000..d6c60e2 --- /dev/null +++ b/packages/esbuild/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@ownclouders/tsconfig/esbuild.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src/**/*" + ] +} diff --git a/packages/eslint-config/.eslintrc b/packages/eslint-config/.eslintrc new file mode 100644 index 0000000..63203c2 --- /dev/null +++ b/packages/eslint-config/.eslintrc @@ -0,0 +1,8 @@ +{ + "root": true, + "extends": ["."], + "parser": "espree", + "env": { + "node": true + } +} diff --git a/packages/eslint-config/index.js b/packages/eslint-config/index.js new file mode 100644 index 0000000..f6ac043 --- /dev/null +++ b/packages/eslint-config/index.js @@ -0,0 +1,75 @@ +module.exports = { + extends: [ + 'eslint:recommended', + 'prettier', + 'turbo', + 'plugin:@typescript-eslint/eslint-recommended', + 'plugin:@typescript-eslint/recommended', + 'plugin:import/recommended', + ], + processor: 'disable/disable', + parser: '@typescript-eslint/parser', + parserOptions: { + project: './tsconfig.json', + }, + plugins: [ '@typescript-eslint', 'eslint-plugin-unicorn', 'disable', 'simple-import-sort', 'json-files' ], + rules: { + 'simple-import-sort/imports': 'error', + 'simple-import-sort/exports': 'error', + 'import/prefer-default-export': 'off', + 'import/extensions': 'off', + 'import/no-unresolved': 'off', + 'import/no-extraneous-dependencies': 'off', + 'import/first': 'error', + 'import/no-duplicates': 'error', + 'space-before-blocks': [ 'error', 'always' ], + 'import/newline-after-import': [ 'error', { 'count': 1 } ], + 'import/no-named-as-default': 'error', + 'import/no-default-export': 'error', + 'import/no-useless-path-segments': 'error', + 'import/no-cycle': 'error', + 'import/no-self-import': 'error', + 'import/no-relative-packages': 'error', + 'object-curly-spacing': [ 'error', 'always' ], + 'comma-spacing': ['error', { 'before': false, 'after': true }], + 'computed-property-spacing': [ 'error', 'always' ], + 'no-console': 'off', + 'arrow-body-style': 'off', + 'quotes': ['error', 'single', { 'avoidEscape': true }], + 'no-return-assign': 'off', + 'class-methods-use-this': 'off', + '@typescript-eslint/no-empty-interface': 'off', + 'no-unused-vars': 'off', + 'no-underscore-dangle': 'off', + 'no-nested-ternary': 'off', + '@typescript-eslint/no-shadow': 'off', + 'no-await-in-loop': 'off', + 'no-plusplus': 'off', + '@typescript-eslint/no-namespace': 'off', + '@typescript-eslint/lines-between-class-members': 'off', + 'default-case': 'off', + 'no-restricted-syntax': 'off', + '@typescript-eslint/no-unused-expressions': 'off', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-loop-func': 'off', + 'no-continue': 'off' + }, + 'settings': { + 'import/resolver': { + 'typescript': {} + } + }, + overrides: [ + { + files: [ '**/package.json' ], + plugins: [ 'json-files' ], + parser: 'espree', + rules: { + 'json-files/sort-package-json': 'error', + 'json-files/require-license': 'error', + 'json-files/restrict-ranges': 'error', + 'json-files/require-unique-dependency-names': 'error', + }, + }, + ] +}; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json new file mode 100644 index 0000000..7ecc1da --- /dev/null +++ b/packages/eslint-config/package.json @@ -0,0 +1,38 @@ +{ + "name": "@ownclouders/eslint-config", + "version": "0.0.1", + "private": true, + "description": "common eslint config used withing @ownclouders namespace.", + "homepage": "https://github.com/owncloud/web/tree/master/packages/eslint-config", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/eslint-config" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "main": "index.js", + "scripts": { + "clean": "pnpm clean:vendor", + "clean:vendor": "del-cli .turbo node_modules", + "lint": "eslint package.json index.js", + "lint:fix": "pnpm run lint --fix" + }, + "dependencies": { + "@typescript-eslint/eslint-plugin": "^5.57.0", + "@typescript-eslint/parser": "^5.57.0", + "eslint-config-prettier": "^8.8.0", + "eslint-config-turbo": "^1.8.8", + "eslint-import-resolver-typescript": "^3.5.4", + "eslint-plugin-disable": "^2.0.3", + "eslint-plugin-import": "^2.27.5", + "eslint-plugin-json-files": "^2.1.0", + "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint-plugin-unicorn": "^46.0.0" + }, + "devDependencies": { + "del-cli": "^5.0.0", + "eslint": "^8.37.0", + "typescript": "^5.0.3" + } +} diff --git a/packages/k6-tdk/.eslintrc b/packages/k6-tdk/.eslintrc new file mode 100644 index 0000000..35ccc25 --- /dev/null +++ b/packages/k6-tdk/.eslintrc @@ -0,0 +1,11 @@ +{ + "root": true, + "extends": ["@ownclouders"], + "overrides": [ + { + "files": [ + "src/**/*" + ] + } + ] +} diff --git a/packages/k6-tdk/build.mjs b/packages/k6-tdk/build.mjs new file mode 100644 index 0000000..2608c13 --- /dev/null +++ b/packages/k6-tdk/build.mjs @@ -0,0 +1,54 @@ +import {build} from '@ownclouders/esbuild'; +import path from 'path'; +import fs from 'fs'; + +const instructions = { + root: 'src', + outdir: 'dist', + entryPoints: [ + 'index.ts', + 'api/index.ts', + 'auth/index.ts', + 'client/index.ts', + 'utils/index.ts', + ], + packageName: '@ownclouders/k6-tdk', + packageRoot: 'lib', + formats: ['cjs', 'esm'] +} + +await Promise.all(instructions.formats.map(format => { + return build({ + entryPoints: instructions.entryPoints.map(entryPoint => path.join(instructions.root, entryPoint)), + outdir: path.join(instructions.outdir, format), + format: format, + packages: 'external', + }) +})) + +instructions.entryPoints.forEach((entryPoint, i) => { + const entryPointInfo = path.parse(entryPoint) + const isVirtualPackage = !!entryPointInfo.dir + + if (!isVirtualPackage) { + return + } + + const packageFolder = path.resolve(instructions.packageRoot, entryPointInfo.dir) + const data = { + name: path.join(instructions.packageName, entryPointInfo.dir), + sideEffects: false, + } + + ;['types', ...instructions.formats].forEach(format => { + const key = {esm: 'import', cjs: 'require'}[format] || format + const extension = {esm: 'js', cjs: 'js', types: 'd.ts'}[format] + data[key] = path.relative( + packageFolder, + path.join(instructions.outdir, format, entryPointInfo.dir, `${entryPointInfo.name}.${extension}`), + ) + }) + + fs.mkdirSync(packageFolder, {recursive: true}) + fs.writeFileSync(path.resolve(packageFolder, 'package.json'), JSON.stringify(data, undefined, 2)) +}) diff --git a/packages/k6-tdk/package.json b/packages/k6-tdk/package.json new file mode 100644 index 0000000..578ea87 --- /dev/null +++ b/packages/k6-tdk/package.json @@ -0,0 +1,97 @@ +{ + "name": "@ownclouders/k6-tdk", + "version": "0.0.1", + "private": false, + "description": "ownCloud k6 test development kit", + "homepage": "https://github.com/owncloud/web/tree/master/packages/k6-tdk", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/k6-tdk" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "sideEffects": false, + "exports": { + ".": { + "types": "./dist/types/index.d.ts", + "import": "./dist/esm/index.js", + "require": "./dist/client/cjs/index.js" + }, + "./lib/api": { + "types": "./dist/types/api/index.d.ts", + "import": "./dist/esm/api/index.js", + "require": "./dist/client/cjs/index.js" + }, + "./lib/auth": { + "types": "./dist/types/auth/index.d.ts", + "import": "./dist/esm/auth/index.js", + "require": "./dist/client/cjs/index.js" + }, + "./lib/client": { + "types": "./dist/types/client/index.d.ts", + "import": "./dist/esm/client/index.js", + "require": "./dist/cjs/client/index.js" + }, + "./lib/utils": { + "types": "./dist/types/utils/index.d.ts", + "import": "./dist/esm/utils/index.js", + "require": "./dist/cjs/utils/index.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/cjs/index.js", + "module": "./dist/esm/index.js", + "types": "index.d.ts", + "typesVersions": { + ">=4.2": { + "*": [ + "dist/types/*" + ] + } + }, + "files": [ + "dist/cjs/**/!(*.tsbuildinfo)", + "dist/esm/**/!(*.tsbuildinfo)", + "dist/types/**/!(*.tsbuildinfo)", + "lib/api", + "lib/auth", + "lib/client", + "lib/utils", + "src", + "package.json", + "tsconfig.json" + ], + "scripts": { + "build": "concurrently pnpm:build:*", + "build:artifacts": "node build.mjs", + "build:types": "tsc --outDir dist/types", + "clean": "pnpm clean:artifacts && pnpm clean:vendor", + "clean:artifacts": "del-cli dist lib", + "clean:vendor": "del-cli .turbo node_modules", + "dev": "turbowatch", + "lint": "eslint package.json src/**/*.ts", + "lint:fix": "pnpm run lint --fix" + }, + "dependencies": { + "fast-xml-parser": "^4.1.3", + "jsonpath-plus": "^7.2.0", + "lodash-es": "^4.17.21" + }, + "devDependencies": { + "@ownclouders/esbuild": "workspace:*", + "@ownclouders/eslint-config": "workspace:*", + "@ownclouders/tsconfig": "workspace:*", + "@ownclouders/turbowatch": "workspace:*", + "@types/jsonpath-plus": "^5.0.2", + "@types/k6": "^0.43.2", + "@types/lodash-es": "^4.17.7", + "@types/node": "^18.15.11", + "concurrently": "^8.0.1", + "del-cli": "^5.0.0", + "esbuild": "^0.17.14", + "eslint": "^8.37.0", + "turbowatch": "^2.20.0", + "typescript": "^5.0.3" + } +} diff --git a/packages/k6-tdk/src/api/api.ts b/packages/k6-tdk/src/api/api.ts new file mode 100644 index 0000000..de82888 --- /dev/null +++ b/packages/k6-tdk/src/api/api.ts @@ -0,0 +1,19 @@ +export const ShareType = { + user: 0, + group: 1, + publicLink: 3, + federatedCloudShare: 6, +} as const; + +export type ShareType = (typeof ShareType)[keyof typeof ShareType]; + +export const Permission = { + read: 0, + update: 2, + create: 4, + delete: 8, + share: 16, + all: 31, +} as const; + +export type Permission = (typeof Permission)[keyof typeof Permission]; diff --git a/packages/k6-tdk/src/api/dav/files.ts b/packages/k6-tdk/src/api/dav/files.ts new file mode 100644 index 0000000..2a4d6d9 --- /dev/null +++ b/packages/k6-tdk/src/api/dav/files.ts @@ -0,0 +1,38 @@ +import { RefinedResponse, RequestBody } from 'k6/http'; + +import { Request } from '@/utils/http'; + + +export class Files { + protected request: Request; + constructor(request: Request) { + this.request = request; + } + + upload(id: string, path: string, body: RequestBody): RefinedResponse<'text'> { + return this.request('PUT', `/remote.php/dav/files/${id}/${path}`, body); + } + + download(id: string, path: string): RefinedResponse<'binary'> { + return this.request('GET', `/remote.php/dav/files/${id}/${path}`); + } + + create(id: string, path: string): RefinedResponse<'text'> { + return this.request('MKCOL', `/remote.php/dav/files/${id}/${path}`); + } + + delete(id: string, path: string): RefinedResponse<'text'> { + return this.request('DELETE', `/remote.php/dav/files/${id}/${path}`); + } + + move(id: string, from: string, to: string): RefinedResponse<'text'> { + return this.request('MOVE', `/remote.php/dav/files/${id}/${from}`, undefined, { + headers: { + destination: `/remote.php/dav/files/${id}/${to}`, + }, + }); + } + propfind(id: string, path: string): RefinedResponse<'text'> { + return this.request('PROPFIND', `/remote.php/dav/files/${id}/${path}`); + } +} diff --git a/packages/k6-tdk/src/api/dav/index.ts b/packages/k6-tdk/src/api/dav/index.ts new file mode 100644 index 0000000..b31e10f --- /dev/null +++ b/packages/k6-tdk/src/api/dav/index.ts @@ -0,0 +1,15 @@ + +import { Request } from '@/utils/http'; + +import { Files } from './files'; +import { Spaces } from './spaces'; + +export class Dav { + readonly files: Files; + readonly spaces: Spaces; + + constructor(request: Request) { + this.files = new Files(request); + this.spaces = new Spaces(request); + } +} diff --git a/packages/k6-tdk/src/api/dav/spaces.ts b/packages/k6-tdk/src/api/dav/spaces.ts new file mode 100644 index 0000000..c6e852a --- /dev/null +++ b/packages/k6-tdk/src/api/dav/spaces.ts @@ -0,0 +1,37 @@ +import { RefinedResponse, RequestBody } from 'k6/http'; + +import { Request } from '@/utils/http'; + + +export class Spaces { + protected request: Request; + constructor(request: Request) { + this.request = request; + } + upload(id: string, path: string, body: RequestBody): RefinedResponse<'text'> { + return this.request('PUT', `/remote.php/dav/spaces/${id}/${path}`, body); + } + download(id: string, path: string): RefinedResponse<'binary'> { + return this.request('GET', `/remote.php/dav/spaces/${id}/${path}`); + } + + create(id: string, path: string): RefinedResponse<'text'> { + return this.request('MKCOL', `/remote.php/dav/spaces/${id}/${path}`); + } + + delete(id: string, path: string): RefinedResponse<'text'> { + return this.request('DELETE', `/remote.php/dav/spaces/${id}/${path}`); + } + + move(id: string, from: string, to: string): RefinedResponse<'text'> { + return this.request('MOVE', `/remote.php/dav/spaces/${id}/${from}`, undefined, { + headers: { + destination: `/remote.php/dav/spaces/${id}/${to}`, + }, + }); + } + + propfind(id: string, path: string): RefinedResponse<'text'> { + return this.request('PROPFIND', `/remote.php/dav/spaces/${id}/${path}`); + } +} diff --git a/packages/k6-tdk/src/api/graph/index.ts b/packages/k6-tdk/src/api/graph/index.ts new file mode 100644 index 0000000..555c170 --- /dev/null +++ b/packages/k6-tdk/src/api/graph/index.ts @@ -0,0 +1,13 @@ +import {Request} from '@/utils/http'; + +import { V1 } from './v1'; + + + +export class Graph { + readonly v1: V1; + + constructor(request: Request) { + this.v1 = new V1(request); + } +} diff --git a/packages/k6-tdk/src/api/graph/v1/index.ts b/packages/k6-tdk/src/api/graph/v1/index.ts new file mode 100644 index 0000000..8289ba8 --- /dev/null +++ b/packages/k6-tdk/src/api/graph/v1/index.ts @@ -0,0 +1,16 @@ + +import { Request } from '@/utils/http'; + +import { Me } from './me'; +import { Users } from './users'; + + +export class V1 { + readonly me: Me; + readonly users: Users; + + constructor(request: Request) { + this.me = new Me(request); + this.users = new Users(request); + } +} diff --git a/packages/k6-tdk/src/api/graph/v1/me.ts b/packages/k6-tdk/src/api/graph/v1/me.ts new file mode 100644 index 0000000..e08aa0c --- /dev/null +++ b/packages/k6-tdk/src/api/graph/v1/me.ts @@ -0,0 +1,19 @@ +import { RefinedResponse } from 'k6/http'; + +import { Request } from '@/utils/http'; + + +export class Me { + protected request: Request; + constructor(request: Request) { + this.request = request; + } + + drives(): RefinedResponse<'text'> { + return this.request('GET', '/graph/v1.0/me/drives'); + } + + me(): RefinedResponse<'text'> { + return this.request('GET', '/graph/v1.0/me?$expand=memberOf'); + } +} diff --git a/packages/k6-tdk/src/api/graph/v1/users.ts b/packages/k6-tdk/src/api/graph/v1/users.ts new file mode 100644 index 0000000..d880d2c --- /dev/null +++ b/packages/k6-tdk/src/api/graph/v1/users.ts @@ -0,0 +1,27 @@ +import { RefinedResponse } from 'k6/http'; + +import { Account } from '@/auth'; +import { Request } from '@/utils/http'; + + +export class Users { + protected request: Request; + constructor(request: Request) { + this.request = request; + } + create(account: Account): RefinedResponse<'text'> { + return this.request( + 'POST', + '/graph/v1.0/users', + JSON.stringify({ + onPremisesSamAccountName: account.login, + displayName: account.login, + mail: `${account.login}@owncloud.org`, + passwordProfile: { password: account.password }, + }), + ); + } + delete(id: string): RefinedResponse<'text'> { + return this.request('DELETE', `/graph/v1.0/users/${id}`); + } +} diff --git a/packages/k6-tdk/src/api/index.ts b/packages/k6-tdk/src/api/index.ts new file mode 100644 index 0000000..64bf766 --- /dev/null +++ b/packages/k6-tdk/src/api/index.ts @@ -0,0 +1,20 @@ + +import { Request } from '@/utils/http'; + +import { Dav } from './dav'; +import { Graph } from './graph'; +import { Ocs } from './ocs'; + + +export * from './api'; +export class Api { + readonly ocs: Ocs; + readonly graph: Graph; + readonly dav: Dav; + + constructor(request: Request) { + this.ocs = new Ocs(request); + this.graph = new Graph(request); + this.dav = new Dav(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/index.ts b/packages/k6-tdk/src/api/ocs/index.ts new file mode 100644 index 0000000..071ccf4 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/index.ts @@ -0,0 +1,13 @@ +import { Request } from '@/utils/http'; + +import { V2 } from './v2'; + + + +export class Ocs { + readonly v2: V2; + + constructor(request: Request) { + this.v2 = new V2(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/index.ts b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/index.ts new file mode 100644 index 0000000..c53de2f --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/index.ts @@ -0,0 +1,11 @@ +import { Request } from '@/utils/http'; + +import { V1 } from './v1'; + +export class FilesSharing { + readonly v1: V1; + + constructor(request: Request) { + this.v1 = new V1(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/index.ts b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/index.ts new file mode 100644 index 0000000..00fc049 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/index.ts @@ -0,0 +1,13 @@ +import { Request } from '@/utils/http'; + +import { Shares } from './shares'; + + + +export class V1 { + readonly shares: Shares; + + constructor(request: Request) { + this.shares = new Shares(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/shares.ts b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/shares.ts new file mode 100644 index 0000000..7331954 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/apps/filesSharing/v1/shares.ts @@ -0,0 +1,37 @@ +import { RefinedResponse } from 'k6/http'; + +import { Permission,ShareType } from '@/api/api'; +import { Request } from '@/utils/http'; + + +export class Shares { + protected request: Request; + constructor(request: Request) { + this.request = request; + } + createShare(path: string, shareWith: string, shareType: ShareType, permissions: Permission): RefinedResponse<'text'> { + return this.request( + 'POST', + '/ocs/v2.php/apps/files_sharing/api/v1/shares', + { + shareType: shareType.toString(), + shareWith, + path, + permissions: permissions.toString(), + }, + { + headers: { + 'OCS-APIRequest': 'true', + }, + }, + ); + } + + acceptShare(id: string): RefinedResponse<'text'> { + return this.request('POST', `/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${id}`, undefined, { + headers: { + 'OCS-APIRequest': 'true', + }, + }); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/apps/index.ts b/packages/k6-tdk/src/api/ocs/v2/apps/index.ts new file mode 100644 index 0000000..6e56c60 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/apps/index.ts @@ -0,0 +1,13 @@ +import { Request } from '@/utils/http'; + +import { FilesSharing } from './filesSharing'; + + + +export class Apps { + readonly filesSharing: FilesSharing; + + constructor(request: Request) { + this.filesSharing = new FilesSharing(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/cloud/index.ts b/packages/k6-tdk/src/api/ocs/v2/cloud/index.ts new file mode 100644 index 0000000..df0a7c4 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/cloud/index.ts @@ -0,0 +1,13 @@ +import { Request } from '@/utils/http'; + +import { Users } from './users'; + + + +export class Cloud { + readonly users: Users; + + constructor(request: Request) { + this.users = new Users(request); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/cloud/users.ts b/packages/k6-tdk/src/api/ocs/v2/cloud/users.ts new file mode 100644 index 0000000..678f0a0 --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/cloud/users.ts @@ -0,0 +1,40 @@ +import { RefinedResponse } from 'k6/http'; + +import { Account } from '@/auth'; +import { Request } from '@/utils/http'; + + +export class Users { + protected request: Request; + + constructor(request: Request) { + this.request = request; + } + + enable(id: string): RefinedResponse<'text'> { + return this.request('PUT', `/ocs/v2.php/cloud/users/${id}/enable`, undefined, { + headers: { + 'OCS-APIRequest': 'true', + }, + }); + } + create(account: Account): RefinedResponse<'text'> { + return this.request( + 'POST', + '/ocs/v2.php/cloud/users', + { userid: account.login, password: account.password, email: `${account.login}@owncloud.org` }, + { + headers: { + 'OCS-APIRequest': 'true', + }, + }, + ); + } + delete(id: string): RefinedResponse<'text'> { + return this.request('DELETE', `/ocs/v2.php/cloud/users/${id}`, undefined, { + headers: { + 'OCS-APIRequest': 'true', + }, + }); + } +} diff --git a/packages/k6-tdk/src/api/ocs/v2/index.ts b/packages/k6-tdk/src/api/ocs/v2/index.ts new file mode 100644 index 0000000..54c28aa --- /dev/null +++ b/packages/k6-tdk/src/api/ocs/v2/index.ts @@ -0,0 +1,16 @@ + +import { Request } from '@/utils/http'; + +import { Apps } from './apps'; +import { Cloud } from './cloud'; + + +export class V2 { + readonly cloud: Cloud; + readonly apps: Apps; + + constructor(request: Request) { + this.cloud = new Cloud(request); + this.apps = new Apps(request); + } +} diff --git a/src/lib/auth/auth.ts b/packages/k6-tdk/src/auth/auth.ts similarity index 73% rename from src/lib/auth/auth.ts rename to packages/k6-tdk/src/auth/auth.ts index 7072e0b..6df0dd0 100644 --- a/src/lib/auth/auth.ts +++ b/packages/k6-tdk/src/auth/auth.ts @@ -3,7 +3,7 @@ export const Adapter = { basicAuth: 'basicAuth', } as const; -export type Adapter = typeof Adapter[keyof typeof Adapter]; +export type Adapter = (typeof Adapter)[keyof typeof Adapter]; export interface Account { login: string; @@ -18,3 +18,7 @@ export interface Token { } export type Credential = Token | Account; + +export interface Authenticator { + header: string; +} diff --git a/packages/k6-tdk/src/auth/basicAuth.ts b/packages/k6-tdk/src/auth/basicAuth.ts new file mode 100644 index 0000000..0ff2a87 --- /dev/null +++ b/packages/k6-tdk/src/auth/basicAuth.ts @@ -0,0 +1,14 @@ +import encoding from 'k6/encoding'; + +import { Account, Authenticator } from './auth'; + +export class BasicAuth implements Authenticator { + readonly #account: Account; + constructor(account: Account) { + this.#account = account; + } + + public get header(): string { + return `Basic ${encoding.b64encode(`${this.#account.login}:${this.#account.password}`)}`; + } +} diff --git a/packages/k6-tdk/src/auth/index.ts b/packages/k6-tdk/src/auth/index.ts new file mode 100644 index 0000000..53b9446 --- /dev/null +++ b/packages/k6-tdk/src/auth/index.ts @@ -0,0 +1,3 @@ +export { Account, Adapter, Authenticator, Credential, Token } from './auth'; +export { BasicAuth } from './basicAuth'; +export { OpenIDConnect } from './openIDConnect'; diff --git a/src/lib/auth/openIDConnect.ts b/packages/k6-tdk/src/auth/openIDConnect.ts similarity index 79% rename from src/lib/auth/openIDConnect.ts rename to packages/k6-tdk/src/auth/openIDConnect.ts index 10b9f5e..20e5a51 100644 --- a/src/lib/auth/openIDConnect.ts +++ b/packages/k6-tdk/src/auth/openIDConnect.ts @@ -1,12 +1,14 @@ import { fail } from 'k6'; import http from 'k6/http'; -import { get } from 'lodash'; +import { get } from 'lodash-es'; -import { randomString } from '../k6/utils'; -import { objectToQueryString, queryStringToObject } from '../utils'; -import { Account, Token } from './auth'; +import { objectToQueryString, queryStringToObject, randomString } from '@/utils'; -export class OpenIDConnect { +import { Account, Authenticator, Token } from './auth'; + + + +export class OpenIDConnect implements Authenticator { #account: Account; #baseURL: string; #redirectURL: string; @@ -24,7 +26,11 @@ export class OpenIDConnect { this.#tokenURL = `${baseURL}/konnect/v1/token`; } - public get credential(): Token { + public get header(): string { + return `${this.credential.tokenType} ${this.credential.accessToken}`; + } + + private get credential(): Token { if (!this.#cache || this.#cache.validTo <= new Date()) { const continueURI = this.getContinueURI(); const code = this.getCode(continueURI); @@ -49,7 +55,7 @@ export class OpenIDConnect { const logonResponse = http.post( this.#logonURL, JSON.stringify({ - params: [this.#account.login, this.#account.password, '1'], + params: [ this.#account.login, this.#account.password, '1' ], hello: { scope: 'openid profile email', client_id: 'web', @@ -104,10 +110,10 @@ export class OpenIDConnect { }); const token = { - accessToken: get(tokenResponse.json(), 'access_token'), - tokenType: get(tokenResponse.json(), 'token_type'), - idToken: get(tokenResponse.json(), 'id_token'), - expiresIn: get(tokenResponse.json(), 'expires_in'), + accessToken: get(tokenResponse.json(), 'access_token', ''), + tokenType: get(tokenResponse.json(), 'token_type', ''), + idToken: get(tokenResponse.json(), 'id_token', ''), + expiresIn: get(tokenResponse.json(), 'expires_in', 0), }; if (tokenResponse.status !== 200 || !token.accessToken || !token.tokenType || !token.idToken || !token.expiresIn) { diff --git a/packages/k6-tdk/src/client/client.ts b/packages/k6-tdk/src/client/client.ts new file mode 100644 index 0000000..1496af3 --- /dev/null +++ b/packages/k6-tdk/src/client/client.ts @@ -0,0 +1,6 @@ +export const Version = { + legacy: 'legacy', + latest: 'latest', +} as const; + +export type Version = (typeof Version)[keyof typeof Version]; diff --git a/packages/k6-tdk/src/client/index.ts b/packages/k6-tdk/src/client/index.ts new file mode 100644 index 0000000..8e5b508 --- /dev/null +++ b/packages/k6-tdk/src/client/index.ts @@ -0,0 +1,39 @@ +import { CookieJar } from 'k6/http'; + +import { Api } from '@/api'; +import { Account, Adapter, Authenticator, BasicAuth, OpenIDConnect } from '@/auth'; +import { requestFactory } from '@/utils/http'; + +import { Version } from './client'; +import { Resource } from './resource'; +import { Share } from './share'; +import { User } from './user'; + + +export { Version } from './client'; + +export class Client { + user: User; + share: Share; + resource: Resource; + constructor(url: string, version: Version, authAdapter: Adapter, account: Account) { + let authenticator: Authenticator; + switch (authAdapter) { + case Adapter.openIDConnect: + authenticator = new OpenIDConnect(account, url); + break; + case Adapter.basicAuth: + authenticator = new BasicAuth(account); + break; + } + + const request = requestFactory(url, authenticator, { + jar: new CookieJar(), + }); + const api = new Api(request); + + this.resource = new Resource(version, api); + this.user = new User(version, api); + this.share = new Share(api); + } +} diff --git a/packages/k6-tdk/src/client/resource.ts b/packages/k6-tdk/src/client/resource.ts new file mode 100644 index 0000000..3a4caf3 --- /dev/null +++ b/packages/k6-tdk/src/client/resource.ts @@ -0,0 +1,123 @@ +import { check } from 'k6'; +import { RefinedResponse, RequestBody } from 'k6/http'; + +import { Api } from '../api'; +import { Version } from './client'; + + +export class Resource { + #api: Api; + #version: Version; + constructor(version: Version, api: Api) { + this.#version = version; + this.#api = api; + } + + upload(id: string, path: string, body: RequestBody): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.upload(id, path, body); + break; + case Version.legacy: + response = this.#api.dav.files.upload(id, path, body); + break; + } + + check(response, { + 'client -> dav.upload - status': ({ status }) => status === 201, + }); + + return response; + } + + create(id: string, path: string): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.create(id, path); + break; + case Version.legacy: + response = this.#api.dav.files.create(id, path); + break; + } + + check(response, { + 'client -> dav.create - status': ({ status }) => status === 201, + }); + + return response; + } + + download(id: string, path: string): RefinedResponse<'binary'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.download(id, path); + break; + case Version.legacy: + response = this.#api.dav.files.download(id, path); + break; + } + + check(response, { + 'client -> dav.download - status': ({ status }) => status === 200, + }); + + return response; + } + + propfind(id: string, path: string): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.propfind(id, path); + break; + case Version.legacy: + response = this.#api.dav.files.propfind(id, path); + break; + } + + check(response, { + 'client -> dav.propfind - status': ({ status }) => status === 207, + }); + + return response; + } + + delete(id: string, path: string): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.delete(id, path); + break; + case Version.legacy: + response = this.#api.dav.files.delete(id, path); + break; + } + + check(response, { + 'client -> dav.delete - status': ({ status }) => status === 204, + }); + + return response; + } + + move(id: string, from: string, to: string): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.dav.spaces.move(id, from, to); + break; + case Version.legacy: + response = this.#api.dav.files.move(id, from, to); + break; + } + + check(response, { + 'client -> dav.move - status': ({ status }) => status === 201, + }); + + return response; + } +} diff --git a/packages/k6-tdk/src/client/share.ts b/packages/k6-tdk/src/client/share.ts new file mode 100644 index 0000000..f3045ed --- /dev/null +++ b/packages/k6-tdk/src/client/share.ts @@ -0,0 +1,32 @@ +import { check } from 'k6'; +import { RefinedResponse } from 'k6/http'; + +import { Api, Permission, ShareType } from '../api'; + + +export class Share { + #api: Api; + constructor(api: Api) { + this.#api = api; + } + + create(path: string, shareWith: string, shareType: ShareType, permissions: Permission): RefinedResponse<'text'> { + const response = this.#api.ocs.v2.apps.filesSharing.v1.shares.createShare(path, shareWith, shareType, permissions); + + check(response, { + 'client -> ocs.createShare - status': ({ status }) => status === 200, + }); + + return response; + } + + accept(id: string): RefinedResponse<'text'> { + const response = this.#api.ocs.v2.apps.filesSharing.v1.shares.acceptShare(id); + + check(response, { + 'client -> ocs.acceptShare - status': ({ status }) => status === 200, + }); + + return response; + } +} diff --git a/packages/k6-tdk/src/client/user.ts b/packages/k6-tdk/src/client/user.ts new file mode 100644 index 0000000..3ce5001 --- /dev/null +++ b/packages/k6-tdk/src/client/user.ts @@ -0,0 +1,102 @@ +import { check } from 'k6'; +import { RefinedResponse } from 'k6/http'; + +import { Api } from '../api'; +import { Account } from '../auth'; +import { Version } from './client'; + + +export class User { + #api: Api; + #version: Version; + constructor(version: Version, api: Api) { + this.#version = version; + this.#api = api; + } + + drives(): RefinedResponse<'text'> | undefined { + if (this.#version === Version.legacy) { + return; + } + + const response = this.#api.graph.v1.me.drives(); + + check(response, { + 'client -> dav.drives - status': ({ status }) => status === 200, + }); + + return response; + } + + me(): RefinedResponse<'text'> | undefined { + if (this.#version === Version.legacy) { + return; + } + + const response = this.#api.graph.v1.me.me(); + + if (!response) { + return; + } + + check(response, { + 'client -> user.me - status': ({ status }) => status === 200, + }); + + return response; + } + + enable(id: string): RefinedResponse<'text'> | undefined { + if (this.#version === Version.latest) { + return; + } + + const response = this.#api.ocs.v2.cloud.users.enable(id); + + check(response, { + 'client -> user.enable - status': ({ status }) => status === 200, + }); + + return response; + } + + create(account: Account): RefinedResponse<'text'> { + let response; + switch (this.#version) { + case Version.latest: + response = this.#api.graph.v1.users.create(account); + break; + case Version.legacy: + response = this.#api.ocs.v2.cloud.users.create(account); + break; + } + + check(response, { + 'client -> user.create - status': ({ status }) => status === 200, + }); + + return response; + } + + delete(id: string): RefinedResponse<'text'> { + let response; + let statusSuccess: number; + + switch (this.#version) { + case Version.latest: + response = this.#api.graph.v1.users.delete(id); + statusSuccess = 204; + break; + case Version.legacy: + response = this.#api.ocs.v2.cloud.users.delete(id); + statusSuccess = 200; + break; + } + + check(response, { + 'client -> user.delete - status': ({ status }) => status === statusSuccess, + }); + + return response; + } +} diff --git a/packages/k6-tdk/src/index.ts b/packages/k6-tdk/src/index.ts new file mode 100644 index 0000000..ad90e2e --- /dev/null +++ b/packages/k6-tdk/src/index.ts @@ -0,0 +1,4 @@ +export * as api from './api' +export * as auth from './auth' +export * as client from './client' +export * as utils from './utils' diff --git a/packages/k6-tdk/src/utils/http.ts b/packages/k6-tdk/src/utils/http.ts new file mode 100644 index 0000000..004296c --- /dev/null +++ b/packages/k6-tdk/src/utils/http.ts @@ -0,0 +1,37 @@ +import http, { Params, RefinedParams, RefinedResponse, RequestBody, ResponseType } from 'k6/http'; +import { merge } from 'lodash-es'; + +import { Authenticator } from '@/auth'; +import { cleanURL } from '@/utils'; + + +export type RequestMethod = 'GET' | 'MKCOL' | 'PROPFIND' | 'DELETE' | 'MOVE' | 'PUT' | 'POST'; + +export type Request = ( + method: RequestMethod, + url: string, + body?: RequestBody | null, + params?: RefinedParams | null, +) => RefinedResponse; + +export const requestFactory = (base: string, authenticator?: Authenticator, factoryParams?: Params): Request => { + return ( + method: RequestMethod, + path: string, + body?: RequestBody | null, + requestParams?: RefinedParams | null, + ) => { + const params = factoryParams || {}; + + if (authenticator) { + merge(params, { + headers: { + Authorization: authenticator.header, + }, + }); + } + + return http.request(method, cleanURL(base, path), body, merge(params, requestParams)); + }; +}; + diff --git a/packages/k6-tdk/src/utils/index.ts b/packages/k6-tdk/src/utils/index.ts new file mode 100644 index 0000000..5a0d6ea --- /dev/null +++ b/packages/k6-tdk/src/utils/index.ts @@ -0,0 +1,3 @@ +export * from './http' +export * from './url' +export * from './utils' diff --git a/packages/k6-tdk/src/utils/url.ts b/packages/k6-tdk/src/utils/url.ts new file mode 100644 index 0000000..12f7fb2 --- /dev/null +++ b/packages/k6-tdk/src/utils/url.ts @@ -0,0 +1,30 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-ignore +import { URLSearchParams as _URLSearchParams } from 'https://jslib.k6.io/url/1.0.0/index.js'; + +export class URLSearchParams { + #ref: []; + + constructor(p: unknown) { + this.#ref = new _URLSearchParams(p); + } + object(): { [p: string]: string } { + return Object.fromEntries(this.#ref); + } +} + +export const cleanURL = (...parts: string[]): string => { + return parts.join('/').replace(/(? { + return Object.keys(o) + .map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(o[ key ] || '')) + .join('&'); +}; + +export const queryStringToObject = (qs?: string): { [key: string]: string } => { + return new URLSearchParams(new URL(qs || '').search).object(); +}; diff --git a/packages/k6-tdk/src/utils/utils.ts b/packages/k6-tdk/src/utils/utils.ts new file mode 100644 index 0000000..e92e3de --- /dev/null +++ b/packages/k6-tdk/src/utils/utils.ts @@ -0,0 +1,42 @@ +import { XMLParser } from 'fast-xml-parser'; +/* eslint-disable @typescript-eslint/ban-ts-comment */ +// @ts-ignore +import { randomString as _randomString } from 'https://jslib.k6.io/k6-utils/1.2.0/index.js'; +import { JSONPath } from 'jsonpath-plus'; +import { JSONValue } from 'k6'; + + +export const randomString = (length = 10, charset?: string): string => { + return _randomString(length, charset); +}; + +export const queryJson = (pathExpression: string, obj?: JSONValue, defaultValue?: V[]): V[] => { + defaultValue = defaultValue || []; + + if (!obj || !pathExpression) { + return defaultValue; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + // @ts-ignore + const result = new JSONPath({ json: obj, path: pathExpression }); + + if (!result.length) { + return defaultValue; + } + + if (defaultValue.length > result.length) { + return [ ...result, defaultValue.slice(result.length) ]; + } + + return result; +}; + +export const queryXml = (pathExpression: string, obj?: JSONValue, defaultValue?: V[]): V[] => { + return queryJson(pathExpression, xmlToJson(obj), defaultValue); +}; + +export const xmlToJson = (obj?: JSONValue): any => { + return new XMLParser().parse(obj as string); +}; + diff --git a/packages/k6-tdk/tsconfig.json b/packages/k6-tdk/tsconfig.json new file mode 100644 index 0000000..3806d10 --- /dev/null +++ b/packages/k6-tdk/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@ownclouders/tsconfig/esbuild.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src/**/*" + ] +} diff --git a/packages/k6-tdk/turbowatch.ts b/packages/k6-tdk/turbowatch.ts new file mode 100644 index 0000000..606841b --- /dev/null +++ b/packages/k6-tdk/turbowatch.ts @@ -0,0 +1,11 @@ +import {watch} from "@ownclouders/turbowatch"; + +export default watch({ + project: __dirname, + onChange: async ({ spawn }) => { + await spawn`pnpm run build:artifacts` + await spawn`pnpm run build:types` + }, +}); + + diff --git a/packages/k6-tests/.eslintrc b/packages/k6-tests/.eslintrc new file mode 100644 index 0000000..0300b60 --- /dev/null +++ b/packages/k6-tests/.eslintrc @@ -0,0 +1,7 @@ +{ + "root": true, + "extends": ["@ownclouders"], + "rules": { + "import/no-default-export": "off" + } +} diff --git a/packages/k6-tests/artifacts/koko-010-login.js b/packages/k6-tests/artifacts/koko-010-login.js new file mode 100644 index 0000000..9580a03 --- /dev/null +++ b/packages/k6-tests/artifacts/koko-010-login.js @@ -0,0 +1,51 @@ +"use strict";var Lx=Object.create;var ii=Object.defineProperty;var Bx=Object.getOwnPropertyDescriptor;var Mx=Object.getOwnPropertyNames;var qx=Object.getPrototypeOf,$x=Object.prototype.hasOwnProperty;var Le=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),Ux=(r,n)=>{for(var s in n)ii(r,s,{get:n[s],enumerable:!0})},ua=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Mx(n))!$x.call(r,l)&&l!==s&&ii(r,l,{get:()=>n[l],enumerable:!(f=Bx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Lx(qx(r)):{},ua(n||!r||!r.__esModule?ii(s,"default",{value:r,enumerable:!0}):s,r)),Wx=r=>ua(ii({},"__esModule",{value:!0}),r);var hs=Le(bt=>{"use strict";var Yl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",hb=Yl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Zl="["+Yl+"]["+hb+"]*",db=new RegExp("^"+Zl+"$"),gb=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ds=hs(),_b={allowBooleanAttributes:!1,unpairedTags:[]};rc.validate=function(r,n){n=Object.assign({},_b,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Eb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Ee(r,p))}let T=yb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Ee(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let N=tc(S,n);if(N===!0)f=!0;else return ue(N.err.code,N.err.msg,Ee(r,I+N.err.line))}else if(x)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Ee(r,v));{let I=s.pop();if(m!==I.tagName){let N=Ee(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+N.line+", col "+N.col+") instead of closing tag '"+m+"'.",Ee(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Ee(r,p));else{let I=tc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Ee(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Ee(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function jl(r){return r===" "||r===" "||r===` +`||r==="\r"}function Ql(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Ee(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function ec(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var xb='"',vb="'";function yb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var bb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function tc(r,n){let s=ds.getAllMatches(r,bb),f={};for(let l=0;l{var nc={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Sb=function(r){return Object.assign({},nc,r)};ms.buildOptions=Sb;ms.defaultOptions=nc});var sc=Le((vR,oc)=>{"use strict";var _s=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};oc.exports=_s});var fc=Le((yR,uc)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Rb(r,n){let s="";for(;n{var Lb=/^[-+]?0x[a-fA-F0-9]+$/,Bb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Mb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function qb(r,n={}){if(n=Object.assign({},Mb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Lb.test(s))return Number.parseInt(s,16);{let f=Bb.exec(s);if(f){let l=f[1],p=f[2],v=$b(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function $b(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}ac.exports=qb});var pc=Le((AR,cc)=>{"use strict";var bs=hs(),on=sc(),Ub=fc(),Wb=lc(),wR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,bs.nameRegexp),xs=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Gb,this.parseXml=Kb,this.parseTextData=kb,this.resolveNameSpace=zb,this.buildAttributesMap=Vb,this.isItStopNode=Xb,this.replaceEntitiesValue=Db,this.readStopNodeData=Zb,this.saveTextToParentTag=Jb}};function Gb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function zb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var Hb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Vb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=bs.getAllMatches(r,Hb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=vs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=Ub(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=vs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,S=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let N=s;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let z=new on(m);m!==T&&S&&(z[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),z.add(this.options.textNodeName,F),s.addChild(z)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Db=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Jb(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Xb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Yb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=vs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ys(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Wb(r,s)}else return bs.isExist(r)?r:""}cc.exports=xs});var gc=Le(dc=>{"use strict";function jb(r,n){return hc(r,n)}function hc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function Qb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:rw}=ic(),nw=pc(),{prettify:iw}=gc(),ow=gs(),ws=class{constructor(n){this.externalEntities={},this.options=rw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=ow.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new nw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:iw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};mc.exports=ws});var wc=Le((SR,bc)=>{var sw=` +`;function uw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=sw),vc(r,n,"",s)}function vc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let z=xc(x[":@"],n),Y=m==="?xml"?"":f,Be=x[m][0][n.textNodeName];Be=Be.length!==0?" "+Be:"",l+=Y+`<${m}${Be}${z}?>`,p=!0;continue}let S=f;S!==""&&(S+=n.indentBy);let I=xc(x[":@"],n),N=f+`<${m}${I}`,F=vc(x[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=N+">":l+=N+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=N+"/>":F&&F.endsWith(">")?l+=N+`>${F}${f}`:(l+=N+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function fw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var lw=wc(),cw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},cw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=dw),this.processTextOrObjNode=pw,this.options.format?(this.indentate=hw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?lw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var gw=gs(),mw=_c(),_w=Tc();Ec.exports={XMLParser:mw,XMLValidator:gw,XMLBuilder:_w}});var $c=Le((Or,an)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,S=2,I=4,N=1,F=2,z=1,Y=2,Be=4,ve=8,wt=16,ge=32,ft=64,Ke=128,Oe=256,At=512,Gt=30,qi="...",Rr=800,ne=16,ln=1,zc=2,Hc=3,kt=1/0,Tt=9007199254740991,Vc=17976931348623157e292,cn=0/0,tt=4294967295,Kc=tt-1,Dc=tt>>>1,Jc=[["ary",Ke],["bind",z],["bindKey",Y],["curry",ve],["curryRight",wt],["flip",At],["partial",ge],["partialRight",ft],["rearg",Oe]],tr="[object Arguments]",pn="[object Array]",Xc="[object AsyncFunction]",Ir="[object Boolean]",Cr="[object Date]",Yc="[object DOMException]",hn="[object Error]",dn="[object Function]",Is="[object GeneratorFunction]",De="[object Map]",Nr="[object Number]",Zc="[object Null]",at="[object Object]",Cs="[object Promise]",jc="[object Proxy]",Pr="[object RegExp]",Je="[object Set]",Fr="[object String]",gn="[object Symbol]",Qc="[object Undefined]",Lr="[object WeakMap]",ep="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",$i="[object Float32Array]",Ui="[object Float64Array]",Wi="[object Int8Array]",Gi="[object Int16Array]",ki="[object Int32Array]",zi="[object Uint8Array]",Hi="[object Uint8ClampedArray]",Vi="[object Uint16Array]",Ki="[object Uint32Array]",tp=/\b__p \+= '';/g,rp=/\b(__p \+=) '' \+/g,np=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ns=/&(?:amp|lt|gt|quot|#39);/g,Ps=/[&<>"']/g,ip=RegExp(Ns.source),op=RegExp(Ps.source),sp=/<%-([\s\S]+?)%>/g,up=/<%([\s\S]+?)%>/g,Fs=/<%=([\s\S]+?)%>/g,fp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/,lp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Di=/[\\^$.*+?()[\]{}|]/g,cp=RegExp(Di.source),Ji=/^\s+/,pp=/\s/,hp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,dp=/\{\n\/\* \[wrapped with (.+)\] \*/,gp=/,? & /,mp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_p=/[()=,{}\[\]\/\s]/,xp=/\\(\\)?/g,vp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ls=/\w*$/,yp=/^[-+]0x[0-9a-f]+$/i,bp=/^0b[01]+$/i,wp=/^\[object .+?Constructor\]$/,Ap=/^0o[0-7]+$/i,Tp=/^(?:0|[1-9]\d*)$/,Ep=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,mn=/($^)/,Sp=/['\n\r\u2028\u2029\\]/g,_n="\\ud800-\\udfff",Op="\\u0300-\\u036f",Rp="\\ufe20-\\ufe2f",Ip="\\u20d0-\\u20ff",Bs=Op+Rp+Ip,Ms="\\u2700-\\u27bf",qs="a-z\\xdf-\\xf6\\xf8-\\xff",Cp="\\xac\\xb1\\xd7\\xf7",Np="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Pp="\\u2000-\\u206f",Fp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",$s="A-Z\\xc0-\\xd6\\xd8-\\xde",Us="\\ufe0e\\ufe0f",Ws=Cp+Np+Pp+Fp,Xi="['\u2019]",Lp="["+_n+"]",Gs="["+Ws+"]",xn="["+Bs+"]",ks="\\d+",Bp="["+Ms+"]",zs="["+qs+"]",Hs="[^"+_n+Ws+ks+Ms+qs+$s+"]",Yi="\\ud83c[\\udffb-\\udfff]",Mp="(?:"+xn+"|"+Yi+")",Vs="[^"+_n+"]",Zi="(?:\\ud83c[\\udde6-\\uddff]){2}",ji="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+$s+"]",Ks="\\u200d",Ds="(?:"+zs+"|"+Hs+")",qp="(?:"+nr+"|"+Hs+")",Js="(?:"+Xi+"(?:d|ll|m|re|s|t|ve))?",Xs="(?:"+Xi+"(?:D|LL|M|RE|S|T|VE))?",Ys=Mp+"?",Zs="["+Us+"]?",$p="(?:"+Ks+"(?:"+[Vs,Zi,ji].join("|")+")"+Zs+Ys+")*",Up="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Wp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",js=Zs+Ys+$p,Gp="(?:"+[Bp,Zi,ji].join("|")+")"+js,kp="(?:"+[Vs+xn+"?",xn,Zi,ji,Lp].join("|")+")",zp=RegExp(Xi,"g"),Hp=RegExp(xn,"g"),Qi=RegExp(Yi+"(?="+Yi+")|"+kp+js,"g"),Vp=RegExp([nr+"?"+zs+"+"+Js+"(?="+[Gs,nr,"$"].join("|")+")",qp+"+"+Xs+"(?="+[Gs,nr+Ds,"$"].join("|")+")",nr+"?"+Ds+"+"+Js,nr+"+"+Xs,Wp,Up,ks,Gp].join("|"),"g"),Kp=RegExp("["+Ks+_n+Bs+Us+"]"),Dp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xp=-1,j={};j[$i]=j[Ui]=j[Wi]=j[Gi]=j[ki]=j[zi]=j[Hi]=j[Vi]=j[Ki]=!0,j[tr]=j[pn]=j[Br]=j[Ir]=j[rr]=j[Cr]=j[hn]=j[dn]=j[De]=j[Nr]=j[at]=j[Pr]=j[Je]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[pn]=Z[Br]=Z[rr]=Z[Ir]=Z[Cr]=Z[$i]=Z[Ui]=Z[Wi]=Z[Gi]=Z[ki]=Z[De]=Z[Nr]=Z[at]=Z[Pr]=Z[Je]=Z[Fr]=Z[gn]=Z[zi]=Z[Hi]=Z[Vi]=Z[Ki]=!0,Z[hn]=Z[dn]=Z[Lr]=!1;var Yp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Zp={"&":"&","<":"<",">":">",'"':""","'":"'"},jp={"&":"&","<":"<",">":">",""":'"',"'":"'"},Qp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},eh=parseFloat,th=parseInt,Qs=typeof global=="object"&&global&&global.Object===Object&&global,rh=typeof self=="object"&&self&&self.Object===Object&&self,le=Qs||rh||Function("return this")(),eo=typeof Or=="object"&&Or&&!Or.nodeType&&Or,zt=eo&&typeof an=="object"&&an&&!an.nodeType&&an,eu=zt&&zt.exports===eo,to=eu&&Qs.process,Me=function(){try{var g=zt&&zt.require&&zt.require("util").types;return g||to&&to.binding&&to.binding("util")}catch{}}(),tu=Me&&Me.isArrayBuffer,ru=Me&&Me.isDate,nu=Me&&Me.isMap,iu=Me&&Me.isRegExp,ou=Me&&Me.isSet,su=Me&&Me.isTypedArray;function Re(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function nh(g,b,y,R){for(var M=-1,V=g==null?0:g.length;++M-1}function ro(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function du(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ph(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var hh=so(Yp),dh=so(Zp);function gh(g){return"\\"+Qp[g]}function mh(g,b){return g==null?r:g[b]}function or(g){return Kp.test(g)}function _h(g){return Dp.test(g)}function xh(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function lo(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function gu(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,M=0,V=[];++y-1}function od(e,t){var i=this.__data__,o=Mn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=td,lt.prototype.delete=rd,lt.prototype.get=nd,lt.prototype.has=id,lt.prototype.set=od;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function We(e,t,i,o,u,c){var h,d=t&T,_=t&S,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=ag(e),!d)return ye(e,h)}else{var E=de(e),O=E==dn||E==Is;if(Lt(e))return Zu(e,d);if(E==at||E==tr||O&&!u){if(h=_||O?{}:_f(e),!d)return _?jd(e,bd(h,e)):Zd(e,Ou(h,e))}else{if(!Z[E])return u?e:{};h=lg(e,E,d)}}c||(c=new Ye);var C=c.get(e);if(C)return C;c.set(e,h),Kf(e)?e.forEach(function(B){h.add(We(B,t,i,B,e,c))}):Hf(e)&&e.forEach(function(B,G){h.set(G,We(B,t,i,G,e,c))});var L=w?_?qo:Mo:_?we:ce,U=A?r:L(e);return qe(U||e,function(B,G){U&&(G=B,B=e[G]),kr(h,G,We(B,t,i,G,e,c))}),h}function wd(e){var t=ce(e);return function(i){return Ru(i,e,t)}}function Ru(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Iu(e,t,i){if(typeof e!="function")throw new $e(l);return Xr(function(){e.apply(r,i)},t)}function zr(e,t,i,o){var u=-1,c=vn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ie(i))),o?(c=ro,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Jf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):St(u,d):o||(u[u.length]=d)}return u}var xo=nf(),Pu=nf(!0);function rt(e,t){return e&&xo(e,t,ce)}function vo(e,t){return e&&Pu(e,t,ce)}function $n(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Ed(e,t){return e!=null&&J.call(e,t)}function Sd(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&In.call(d,_,1),In.call(e,_,1);return e}function zu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?In.call(e,u,1):Io(e,u)}}return e}function So(e,t){return e+Pn(Au()*(t-e+1))}function Wd(e,t,i,o){for(var u=-1,c=ae(Nn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Oo(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Pn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ho(yf(e,t,Ae),e+"")}function Gd(e){return Su(gr(e))}function kd(e,t){var i=gr(e);return Xn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Ne(h)&&(i?h<=t:h=s){var w=t?null:rg(e);if(w)return bn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:Ge(e,t,i)}var Yu=Fh||function(e){return le.clearTimeout(e)};function Zu(e,t){if(t)return e.slice();var i=e.length,o=xu?xu(i):new e.constructor(i);return e.copy(o),o}function Fo(e){var t=new e.constructor(e.byteLength);return new On(t).set(new On(e)),t}function Dd(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Jd(e){var t=new e.constructor(e.source,Ls.exec(e));return t.lastIndex=e.lastIndex,t}function Xd(e){return Gr?X(Gr.call(e)):{}}function ju(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function Qu(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Ne(e),h=t!==r,d=t===null,_=t===t,w=Ne(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function ef(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&_e(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function uf(e){return dt(function(t){var i=t.length,o=i,u=Ue.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new $e(l);if(u&&!h&&Dn(c)=="wrapper")var h=new Ue([],!0)}for(o=h?o:i;++o1&&H.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,C=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(hp,`{ +/* [wrapped with `+t+`] */ +`)}function pg(e){return q(e)||Zt(e)||!!(bu&&e&&e[bu])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Tp.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Xn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Pf(e,i)});function Ff(e){var t=a(e);return t.__chain__=!0,t}function Am(e,t){return t(e),e}function Yn(e,t){return t(e)}var Tm=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return _o(c,e)};return t>1||this.__actions__.length||!(o instanceof k)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Yn,args:[u],thisArg:r}),new Ue(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Em(){return Ff(this)}function Sm(){return new Ue(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Df(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Rm(){return this}function Im(e){for(var t,i=this;i instanceof Bn;){var o=Sf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Cm(){var e=this.__wrapped__;if(e instanceof k){var t=e;return this.__actions__.length&&(t=new k(this)),t=t.reverse(),t.__actions__.push({func:Yn,args:[Vo],thisArg:r}),new Ue(t,this.__chain__)}return this.thru(Vo)}function Nm(){return Ju(this.__wrapped__,this.__actions__)}var Pm=kn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Fm(e,t,i){var o=q(e)?uu:Ad;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}function Lm(e,t){var i=q(e)?Et:Nu;return i(e,P(t,3))}var Bm=sf(Of),Mm=sf(Rf);function qm(e,t){return pe(Zn(e,t),1)}function $m(e,t){return pe(Zn(e,t),kt)}function Um(e,t,i){return i=i===r?1:$(i),pe(Zn(e,t),i)}function Lf(e,t){var i=q(e)?qe:Ct;return i(e,P(t,3))}function Bf(e,t){var i=q(e)?ih:Cu;return i(e,P(t,3))}var Wm=kn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Gm(e,t,i,o){e=be(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ri(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var km=W(function(e,t,i){var o=-1,u=typeof t=="function",c=be(e)?y(e.length):[];return Ct(e,function(h){c[++o]=u?Re(t,h,i):Hr(h,t,i)}),c}),zm=kn(function(e,t,i){pt(e,i,t)});function Zn(e,t){var i=q(e)?ee:qu;return i(e,P(t,3))}function Hm(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),Gu(e,t,i))}var Vm=kn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Km(e,t,i){var o=q(e)?no:cu,u=arguments.length<3;return o(e,P(t,4),i,u,Ct)}function Dm(e,t,i){var o=q(e)?oh:cu,u=arguments.length<3;return o(e,P(t,4),i,u,Cu)}function Jm(e,t){var i=q(e)?Et:Nu;return i(e,ei(P(t,3)))}function Xm(e){var t=q(e)?Su:Gd;return t(e)}function Ym(e,t,i){(i?_e(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?xd:kd;return o(e,t)}function Zm(e){var t=q(e)?vd:Hd;return t(e)}function jm(e){if(e==null)return 0;if(be(e))return ri(e)?sr(e):e.length;var t=de(e);return t==De||t==Je?e.size:Ao(e).length}function Qm(e,t,i){var o=q(e)?io:Vd;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}var e0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&_e(e,t[0],t[1])?t=[]:i>2&&_e(t[0],t[1],t[2])&&(t=[t[0]]),Gu(e,pe(t,1),[])}),jn=Lh||function(){return le.Date.now()};function t0(e,t){if(typeof t!="function")throw new $e(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function Mf(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,Ke,r,r,r,r,t)}function qf(e,t){var i;if(typeof t!="function")throw new $e(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Do=W(function(e,t,i){var o=z;if(i.length){var u=Ot(i,hr(Do));o|=ge}return ht(e,o,t,i,u)}),$f=W(function(e,t,i){var o=z|Y;if(i.length){var u=Ot(i,hr($f));o|=ge}return ht(t,o,e,i,u)});function Uf(e,t,i){t=i?r:t;var o=ht(e,ve,r,r,r,r,r,t);return o.placeholder=Uf.placeholder,o}function Wf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=Wf.placeholder,o}function Gf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new $e(l);t=ze(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(ze(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function C(se){var je=o,xt=u;return o=u=r,w=se,h=e.apply(xt,je),h}function L(se){return w=se,d=Xr(G,t),A?C(se):h}function U(se){var je=se-_,xt=se-w,sa=t-je;return E?he(sa,c-xt):sa}function B(se){var je=se-_,xt=se-w;return _===r||je>=t||je<0||E&&xt>=c}function G(){var se=jn();if(B(se))return H(se);d=Xr(G,U(se))}function H(se){return d=r,O&&o?C(se):(o=u=r,h)}function Pe(){d!==r&&Yu(d),w=0,o=_=u=d=r}function xe(){return d===r?h:H(jn())}function Fe(){var se=jn(),je=B(se);if(o=arguments,u=this,_=se,je){if(d===r)return L(_);if(E)return Yu(d),d=Xr(G,t),C(_)}return d===r&&(d=Xr(G,t)),h}return Fe.cancel=Pe,Fe.flush=xe,Fe}var r0=W(function(e,t){return Iu(e,1,t)}),n0=W(function(e,t,i){return Iu(e,ze(t)||0,i)});function i0(e){return ht(e,At)}function Qn(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new $e(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(Qn.Cache||ct),i}Qn.Cache=ct;function ei(e){if(typeof e!="function")throw new $e(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function o0(e){return qf(2,e)}var s0=Kd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ie(P())):ee(pe(t,1),Ie(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Lu(function(){return arguments}())?Lu:function(e){return ie(e)&&J.call(e,"callee")&&!yu.call(e,"callee")},q=y.isArray,b0=tu?Ie(tu):Id;function be(e){return e!=null&&ti(e.length)&&!mt(e)}function oe(e){return ie(e)&&be(e)}function w0(e){return e===!0||e===!1||ie(e)&&me(e)==Ir}var Lt=Mh||os,A0=ru?Ie(ru):Cd;function T0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function E0(e){if(e==null)return!0;if(be(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==De||t==Je)return!e.size;if(Jr(e))return!Ao(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function S0(e,t){return Vr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Vr(e,t,r,i):!!o}function Xo(e){if(!ie(e))return!1;var t=me(e);return t==hn||t==Yc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function R0(e){return typeof e=="number"&&wu(e)}function mt(e){if(!te(e))return!1;var t=me(e);return t==dn||t==Is||t==Xc||t==jc}function zf(e){return typeof e=="number"&&e==$(e)}function ti(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Hf=nu?Ie(nu):Pd;function I0(e,t){return e===t||wo(e,t,Uo(t))}function C0(e,t,i){return i=typeof i=="function"?i:r,wo(e,t,Uo(t),i)}function N0(e){return Vf(e)&&e!=+e}function P0(e){if(gg(e))throw new M(f);return Bu(e)}function F0(e){return e===null}function L0(e){return e==null}function Vf(e){return typeof e=="number"||ie(e)&&me(e)==Nr}function Yr(e){if(!ie(e)||me(e)!=at)return!1;var t=Rn(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&Tn.call(i)==Ch}var Yo=iu?Ie(iu):Fd;function B0(e){return zf(e)&&e>=-Tt&&e<=Tt}var Kf=ou?Ie(ou):Ld;function ri(e){return typeof e=="string"||!q(e)&&ie(e)&&me(e)==Fr}function Ne(e){return typeof e=="symbol"||ie(e)&&me(e)==gn}var dr=su?Ie(su):Bd;function M0(e){return e===r}function q0(e){return ie(e)&&de(e)==Lr}function $0(e){return ie(e)&&me(e)==ep}var U0=Kn(To),W0=Kn(function(e,t){return e<=t});function Df(e){if(!e)return[];if(be(e))return ri(e)?Xe(e):ye(e);if(qr&&e[qr])return xh(e[qr]());var t=de(e),i=t==De?lo:t==Je?bn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=ze(e),e===kt||e===-kt){var t=e<0?-1:1;return t*Vc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Jf(e){return e?Dt($(e),0,tt):0}function ze(e){if(typeof e=="number")return e;if(Ne(e))return cn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=pu(e);var i=bp.test(e);return i||Ap.test(e)?th(e.slice(2),i?2:8):yp.test(e)?cn:+e}function Xf(e){return nt(e,we(e))}function G0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ce(e)}var k0=cr(function(e,t){if(Jr(t)||be(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&kr(e,i,t[i])}),Yf=cr(function(e,t){nt(t,we(t),e)}),ni=cr(function(e,t,i,o){nt(t,we(t),e,o)}),z0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),H0=dt(_o);function V0(e,t){var i=lr(e);return t==null?i:Ou(i,t)}var K0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&_e(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,qo(e),i),o&&(i=We(i,T|S|I,ng));for(var u=t.length;u--;)Io(i,t[u]);return i});function l_(e,t){return jf(e,ei(P(t)))}var c_=dt(function(e,t){return e==null?{}:$d(e,t)});function jf(e,t){if(e==null)return{};var i=ee(qo(e),function(o){return[o]});return t=P(t),ku(e,i,function(o,u){return t(o,u[0])})}function p_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Au();return he(e+u*(t-e+eh("1e-"+((u+"").length-1))),t)}return So(e,t)}var A_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?ta(t):t)});function ta(e){return Qo(K(e).toLowerCase())}function ra(e){return e=K(e),e&&e.replace(Ep,hh).replace(Hp,"")}function T_(e,t,i){e=K(e),t=Ce(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function E_(e){return e=K(e),e&&op.test(e)?e.replace(Ps,dh):e}function S_(e){return e=K(e),e&&cp.test(e)?e.replace(Di,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),R_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),I_=of("toLowerCase");function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Vn(Pn(u),i)+e+Vn(Nn(u),i)}function N_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Yo(t))&&(t=Ce(t),!t&&or(e))?Ft(Xe(e),0,i):e.split(t,i)):[]}var $_=pr(function(e,t,i){return e+(i?" ":"")+Qo(t)});function U_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ce(t),e.slice(i,i+t.length)==t}function W_(e,t,i){var o=a.templateSettings;i&&_e(e,t,i)&&(t=r),e=K(e),t=ni({},t,o,pf);var u=ni({},t.imports,o.imports,pf),c=ce(u),h=ao(u,c),d,_,w=0,A=t.interpolate||mn,E="__p += '",O=co((t.escape||mn).source+"|"+A.source+"|"+(A===Fs?vp:mn).source+"|"+(t.evaluate||mn).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xp+"]")+` +`;e.replace(O,function(B,G,H,Pe,xe,Fe){return H||(H=Pe),E+=e.slice(w,Fe).replace(Sp,gh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),xe&&(_=!0,E+=`'; +`+xe+`; +__p += '`),H&&(E+=`' + +((__t = (`+H+`)) == null ? '' : __t) + +'`),w=Fe+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(_p.test(L))throw new M(p);E=(_?E.replace(tp,""):E).replace(rp,"$1").replace(np,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=ia(function(){return V(c,C+"return "+E).apply(r,h)});if(U.source=E,Xo(U))throw U;return U}function G_(e){return K(e).toLowerCase()}function k_(e){return K(e).toUpperCase()}function z_(e,t,i){if(e=K(e),e&&(i||t===r))return pu(e);if(!e||!(t=Ce(t)))return e;var o=Xe(e),u=Xe(t),c=hu(o,u),h=du(o,u)+1;return Ft(o,c,h).join("")}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,mu(e)+1);if(!e||!(t=Ce(t)))return e;var o=Xe(e),u=du(o,Xe(t))+1;return Ft(o,0,u).join("")}function V_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Ji,"");if(!e||!(t=Ce(t)))return e;var o=Xe(e),u=hu(o,Xe(t));return Ft(o,u).join("")}function K_(e,t){var i=Gt,o=qi;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ce(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Xe(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),Yo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=co(u.source,K(Ls.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ce(u),d)!=d){var O=_.lastIndexOf(u);O>-1&&(_=_.slice(0,O))}return _+o}function D_(e){return e=K(e),e&&ip.test(e)?e.replace(Ns,wh):e}var J_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),Qo=of("toUpperCase");function na(e,t,i){return e=K(e),t=i?r:t,t===r?_h(e)?Eh(e):fh(e):e.match(t)||[]}var ia=W(function(e,t){try{return Re(e,r,t)}catch(i){return Xo(i)?i:new M(i)}}),X_=dt(function(e,t){return qe(t,function(i){i=it(i),pt(e,i,Do(e[i],e))}),e});function Y_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new $e(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=fo(o,t);++i0||t<0)?new k(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},k.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},k.prototype.toArray=function(){return this.take(tt)},rt(k.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof k,w=d[0],A=_||q(h),E=function(G){var H=u.apply(a,St([G],d));return o&&O?H[0]:H};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var O=this.__chain__,C=!!this.__actions__.length,L=c&&!O,U=_&&!C;if(!c&&A){h=U?h:new k(this);var B=e.apply(h,d);return B.__actions__.push({func:Yn,args:[E],thisArg:r}),new Ue(B,O)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),qe(["pop","push","shift","sort","splice","unshift"],function(e){var t=wn[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(k.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[zn(r,Y).name]=[{name:"wrapper",func:r}],k.prototype.clone=Dh,k.prototype.reverse=Jh,k.prototype.value=Xh,a.prototype.at=Tm,a.prototype.chain=Em,a.prototype.commit=Sm,a.prototype.next=Om,a.prototype.plant=Im,a.prototype.reverse=Cm,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Nm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Rm),a},Rt=Sh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):zt?((zt.exports=Rt)._=Rt,eo._=Rt):le._=Rt}).call(Or)});var Kw={};Ux(Kw,{default:()=>Hw,options:()=>kc,setup:()=>zw,teardown:()=>Vw});module.exports=Wx(Kw);var Pw=ot(require("k6/encoding")),Fw=require("k6"),Lw=ot(require("k6/http"));var Gx=typeof global=="object"&&global&&global.Object===Object&&global,oi=Gx;var kx=typeof self=="object"&&self&&self.Object===Object&&self,zx=oi||kx||Function("return this")(),He=zx;var Hx=He.Symbol,vt=Hx;var fa=Object.prototype,Vx=fa.hasOwnProperty,Kx=fa.toString,Zr=vt?vt.toStringTag:void 0;function Dx(r){var n=Vx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Kx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var aa=Dx;var Jx=Object.prototype,Xx=Jx.toString;function Yx(r){return Xx.call(r)}var la=Yx;var Zx="[object Null]",jx="[object Undefined]",ca=vt?vt.toStringTag:void 0;function Qx(r){return r==null?r===void 0?jx:Zx:ca&&ca in Object(r)?aa(r):la(r)}var st=Qx;function ev(r){return r!=null&&typeof r=="object"}var Ve=ev;var tv="[object Symbol]";function rv(r){return typeof r=="symbol"||Ve(r)&&st(r)==tv}var mr=rv;function nv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Nv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Sa=Lv;function Bv(r){return function(){return r}}var Oa=Bv;var Mv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Mv;var qv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Oa(n),writable:!0})}:si,Ra=qv;var $v=Sa(Ra),Ia=$v;var Uv=9007199254740991,Wv=/^(?:0|[1-9]\d*)$/;function Gv(r,n){var s=typeof r;return n=n??Uv,!!n&&(s=="number"||s!="symbol"&&Wv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Yv}var ai=Zv;function jv(r){return r!=null&&ai(r.length)&&!_r(r)}var br=jv;function Qv(r,n,s){if(!Te(s))return!1;var f=typeof n;return(f=="number"?br(s)&&fi(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var Ba=Qv;function ey(r){return La(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&Ba(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var sl=x1;function v1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var ul=v1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&mi(x,{headers:{Authorization:n.header}}),Hl.default.request(f,Kl(r,l),p,mi(x,v))};var Dl=require("https://jslib.k6.io/url/1.0.0/index.js"),ps=class{#e;constructor(n){this.#e=new Dl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Kl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Xl=r=>new ps(new URL(r||"").search).object();var Nw=ot(As()),Nc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Oc(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Sc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Ic()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function vw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ts(r){var n=typeof Map=="function"?new Map:void 0;return Ts=function(f){if(f===null||!vw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Ts(r)}function yw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function bw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yw(r)}function ww(r){var n=Ic();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return bw(this,l)}}function Aw(r){return Tw(r)||Ew(r)||Cc(r)||Sw()}function Tw(r){if(Array.isArray(r))return Es(r)}function Ew(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Cc(r,n){if(r){if(typeof r=="string")return Es(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Es(r,n)}}function Es(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Se=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Ss(r,n){return n=n.slice(),n.unshift(r),n}var Rw=function(r){xw(s,r);var n=ww(s);function s(f){var l;return Oc(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Rc(s)}(Ts(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Se.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Rw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Se.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Se.call(r,"flatten")?r.flatten:x,this.currResultType=Se.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Se.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Se.call(r,"wrap")?r.wrap:m,this.currPreventEval=Se.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Se.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Se.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Se.call(r,"parent")?r.parent:p,v=Se.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,v,s).filter(function(N){return N&&!N.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(N,F){var z=l._getPreferredOutput(F);return x&&Array.isArray(z)?N=N.concat(z):N.push(z),N},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),N=[];function F(ne){Array.isArray(ne)?ne.forEach(function(ln){N.push(ln)}):N.push(ne)}if((typeof S!="string"||x)&&n&&Se.call(n,S))F(this._trace(I,n[S],Qt(s,S),n,S,p,v));else if(S==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(S==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(s,S),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))F(this._slice(S,I,n,s,f,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var z=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(z,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Ss(this._eval(S,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(S[0]==="@"){var Y=!1,Be=S.slice(1,-2);switch(Be){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Be&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Be&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Be)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Se.call(n,S.slice(1))){var ve=S.slice(1);F(this._trace(I,n[ve],Qt(s,ve),n,ve,p,v,!0))}else if(S.includes(",")){var wt=S.split(","),ge=Ow(wt),ft;try{for(ge.s();!(ft=ge.n()).done;){var Ke=ft.value;F(this._trace(Ss(Ke,I),n,s,f,l,p,!0))}}catch(ne){ge.e(ne)}finally{ge.f()}}else!x&&n&&Se.call(n,S)&&F(this._trace(I,n[S],Qt(s,S),n,S,p,v,!0))}if(this._hasParentSelector)for(var Oe=0;Oe-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,Aw(v))}}]),r}();D.prototype.vm={Script:Cw};var Pc=(r=10,n)=>(0,Nc.randomString)(r,n);var _i={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Lc=require("k6/http");var xi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var yi=class{files;spaces;constructor(n){this.files=new xi(n),this.spaces=new vi(n)}};var bi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var wi=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ai=class{me;users;constructor(n){this.me=new bi(n),this.users=new wi(n)}};var Ti=class{v1;constructor(n){this.v1=new Ai(n)}};var Ei=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Si=class{shares;constructor(n){this.shares=new Ei(n)}};var Oi=class{v1;constructor(n){this.v1=new Si(n)}};var Ri=class{filesSharing;constructor(n){this.filesSharing=new Oi(n)}};var Ii=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ci=class{users;constructor(n){this.users=new Ii(n)}};var Ni=class{cloud;apps;constructor(n){this.cloud=new Ci(n),this.apps=new Ri(n)}};var Pi=class{v2;constructor(n){this.v2=new Ni(n)}};var Fi=class{ocs;graph;dav;constructor(n){this.ocs=new Pi(n),this.graph=new Ti(n),this.dav=new yi(n)}};var Bc=ot(require("k6/encoding")),Li=require("k6"),Bi=ot(require("k6/http"));var er=require("k6"),Os=require("k6"),Sr=require("k6"),Fc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Bw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${Bc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Mw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Bi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Pc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Li.fail)(this.#i),n}getCode(r){let n=`${r}?${Jl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Bi.default.get(n,{redirects:0}),f=Ut(Xl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Li.fail)(r),f}getToken(r){let n=Bi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Li.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},qw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},$w=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Os.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Os.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},Uw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},Mi=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Fc.openIDConnect:l=new Mw(f,r);break;case Fc.basicAuth:l=new Bw(f);break}let p=Vl(r,l,{jar:new Lc.CookieJar}),v=new Fi(p);this.resource=new qw(n,v),this.user=new Uw(n,v),this.share=new $w(v)}};var Ww=ot(require("k6/http"));var Gw=require("https://jslib.k6.io/url/1.0.0/index.js"),kw=ot(As()),Mc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Rs=(r=10,n)=>(0,Mc.randomString)(r,n),qc=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Uc=require("k6"),Wc=ot(require("k6/execution")),Gc=ot($c()),et={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==_i.basicAuth?_i.basicAuth:_i.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},k6:{vus:1,insecureSkipTLSVerify:!0}},kc=et.k6;function zw(){let r=et.adminUser,n=new Mi(et.baseURL,et.apiVersion,et.authAdapter,r),s=(0,Gc.times)(kc.vus||1,()=>{let f={login:Rs(),password:Rs()};return n.user.create(f),n.user.enable(f.login),{credential:f}});return{adminCredential:r,userInfos:s}}function Hw({userInfos:r}){let{credential:n}=r[Wc.default.vu.idInTest-1],f=new Mi(et.baseURL,et.apiVersion,et.authAdapter,n).user.me(),[l]=qc("displayNamed",f?.json(),[n.login]);(0,Uc.check)(l,{"user displayName":p=>p===n.login})}function Vw({userInfos:r,adminCredential:n}){let s=new Mi(et.baseURL,et.apiVersion,et.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/koko-020-navigate-file-tree.js b/packages/k6-tests/artifacts/koko-020-navigate-file-tree.js new file mode 100644 index 0000000..d599ea1 --- /dev/null +++ b/packages/k6-tests/artifacts/koko-020-navigate-file-tree.js @@ -0,0 +1,51 @@ +"use strict";var Fx=Object.create;var oi=Object.defineProperty;var Lx=Object.getOwnPropertyDescriptor;var Bx=Object.getOwnPropertyNames;var Mx=Object.getPrototypeOf,qx=Object.prototype.hasOwnProperty;var Be=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),$x=(r,n)=>{for(var s in n)oi(r,s,{get:n[s],enumerable:!0})},fa=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Bx(n))!qx.call(r,l)&&l!==s&&oi(r,l,{get:()=>n[l],enumerable:!(f=Lx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Fx(Mx(r)):{},fa(n||!r||!r.__esModule?oi(s,"default",{value:r,enumerable:!0}):s,r)),Ux=r=>fa(oi({},"__esModule",{value:!0}),r);var gs=Be(bt=>{"use strict";var Zl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",pb=Zl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",jl="["+Zl+"]["+pb+"]*",hb=new RegExp("^"+jl+"$"),db=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ms=gs(),mb={allowBooleanAttributes:!1,unpairedTags:[]};nc.validate=function(r,n){n=Object.assign({},mb,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Tb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Oe(r,p))}let T=vb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Oe(r,p));let O=T.value;if(p=T.index,O[O.length-1]==="/"){let I=p-O.length;O=O.substring(0,O.length-1);let N=rc(O,n);if(N===!0)f=!0;else return ue(N.err.code,N.err.msg,Oe(r,I+N.err.line))}else if(x)if(T.tagClosed){if(O.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Oe(r,v));{let I=s.pop();if(m!==I.tagName){let N=Oe(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+N.line+", col "+N.col+") instead of closing tag '"+m+"'.",Oe(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Oe(r,p));else{let I=rc(O,n);if(I!==!0)return ue(I.err.code,I.err.msg,Oe(r,p-O.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Oe(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function Ql(r){return r===" "||r===" "||r===` +`||r==="\r"}function ec(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Oe(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function tc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var _b='"',xb="'";function vb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var yb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function rc(r,n){let s=ms.getAllMatches(r,yb),f={};for(let l=0;l{var ic={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Eb=function(r){return Object.assign({},ic,r)};xs.buildOptions=Eb;xs.defaultOptions=ic});var uc=Be((xR,sc)=>{"use strict";var vs=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};sc.exports=vs});var ac=Be((vR,fc)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Sb(r,n){let s="";for(;n{var Fb=/^[-+]?0x[a-fA-F0-9]+$/,Lb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Bb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mb(r,n={}){if(n=Object.assign({},Bb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Fb.test(s))return Number.parseInt(s,16);{let f=Lb.exec(s);if(f){let l=f[1],p=f[2],v=qb(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function qb(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}lc.exports=Mb});var hc=Be((wR,pc)=>{"use strict";var As=gs(),on=uc(),$b=ac(),Ub=cc(),bR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,As.nameRegexp),ys=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Wb,this.parseXml=Vb,this.parseTextData=Gb,this.resolveNameSpace=Hb,this.buildAttributesMap=zb,this.isItStopNode=Jb,this.replaceEntitiesValue=Kb,this.readStopNodeData=Yb,this.saveTextToParentTag=Db}};function Wb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Hb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var kb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function zb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=As.getAllMatches(r,kb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=bs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=$b(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=bs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,O=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let N=s;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let k=new on(m);m!==T&&O&&(k[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,O,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),k.add(this.options.textNodeName,F),s.addChild(k)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&O&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&O&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Kb=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Db(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Jb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Xb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=bs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ws(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Ub(r,s)}else return As.isExist(r)?r:""}pc.exports=ys});var mc=Be(gc=>{"use strict";function Zb(r,n){return dc(r,n)}function dc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function jb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:tw}=oc(),rw=hc(),{prettify:nw}=mc(),iw=_s(),Ts=class{constructor(n){this.externalEntities={},this.options=tw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=iw.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new rw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:nw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};_c.exports=Ts});var Ac=Be((ER,wc)=>{var ow=` +`;function sw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=ow),yc(r,n,"",s)}function yc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let k=vc(x[":@"],n),Y=m==="?xml"?"":f,Me=x[m][0][n.textNodeName];Me=Me.length!==0?" "+Me:"",l+=Y+`<${m}${Me}${k}?>`,p=!0;continue}let O=f;O!==""&&(O+=n.indentBy);let I=vc(x[":@"],n),N=f+`<${m}${I}`,F=yc(x[m],n,T,O);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=N+">":l+=N+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=N+"/>":F&&F.endsWith(">")?l+=N+`>${F}${f}`:(l+=N+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function uw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var aw=Ac(),lw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},lw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=hw),this.processTextOrObjNode=cw,this.options.format?(this.indentate=pw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?aw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var dw=_s(),gw=xc(),mw=Ec();Oc.exports={XMLParser:gw,XMLValidator:dw,XMLBuilder:mw}});var Uc=Be((Sr,ln)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,O=2,I=4,N=1,F=2,k=1,Y=2,Me=4,ye=8,wt=16,me=32,ft=64,De=128,Re=256,At=512,Gt=30,Ui="...",Rr=800,ne=16,cn=1,Hc=2,kc=3,Ht=1/0,Tt=9007199254740991,zc=17976931348623157e292,pn=0/0,tt=4294967295,Vc=tt-1,Kc=tt>>>1,Dc=[["ary",De],["bind",k],["bindKey",Y],["curry",ye],["curryRight",wt],["flip",At],["partial",me],["partialRight",ft],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Jc="[object AsyncFunction]",Ir="[object Boolean]",Cr="[object Date]",Xc="[object DOMException]",dn="[object Error]",gn="[object Function]",Cs="[object GeneratorFunction]",Je="[object Map]",Nr="[object Number]",Yc="[object Null]",at="[object Object]",Ns="[object Promise]",Zc="[object Proxy]",Pr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",jc="[object Undefined]",Lr="[object WeakMap]",Qc="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",Wi="[object Float32Array]",Gi="[object Float64Array]",Hi="[object Int8Array]",ki="[object Int16Array]",zi="[object Int32Array]",Vi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Di="[object Uint16Array]",Ji="[object Uint32Array]",ep=/\b__p \+= '';/g,tp=/\b(__p \+=) '' \+/g,rp=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ps=/&(?:amp|lt|gt|quot|#39);/g,Fs=/[&<>"']/g,np=RegExp(Ps.source),ip=RegExp(Fs.source),op=/<%-([\s\S]+?)%>/g,sp=/<%([\s\S]+?)%>/g,Ls=/<%=([\s\S]+?)%>/g,up=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fp=/^\w*$/,ap=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xi=/[\\^$.*+?()[\]{}|]/g,lp=RegExp(Xi.source),Yi=/^\s+/,cp=/\s/,pp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hp=/\{\n\/\* \[wrapped with (.+)\] \*/,dp=/,? & /,gp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,mp=/[()=,{}\[\]\/\s]/,_p=/\\(\\)?/g,xp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bs=/\w*$/,vp=/^[-+]0x[0-9a-f]+$/i,yp=/^0b[01]+$/i,bp=/^\[object .+?Constructor\]$/,wp=/^0o[0-7]+$/i,Ap=/^(?:0|[1-9]\d*)$/,Tp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Ep=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Op="\\u0300-\\u036f",Sp="\\ufe20-\\ufe2f",Rp="\\u20d0-\\u20ff",Ms=Op+Sp+Rp,qs="\\u2700-\\u27bf",$s="a-z\\xdf-\\xf6\\xf8-\\xff",Ip="\\xac\\xb1\\xd7\\xf7",Cp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Np="\\u2000-\\u206f",Pp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Us="A-Z\\xc0-\\xd6\\xd8-\\xde",Ws="\\ufe0e\\ufe0f",Gs=Ip+Cp+Np+Pp,Zi="['\u2019]",Fp="["+xn+"]",Hs="["+Gs+"]",vn="["+Ms+"]",ks="\\d+",Lp="["+qs+"]",zs="["+$s+"]",Vs="[^"+xn+Gs+ks+qs+$s+Us+"]",ji="\\ud83c[\\udffb-\\udfff]",Bp="(?:"+vn+"|"+ji+")",Ks="[^"+xn+"]",Qi="(?:\\ud83c[\\udde6-\\uddff]){2}",eo="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Us+"]",Ds="\\u200d",Js="(?:"+zs+"|"+Vs+")",Mp="(?:"+nr+"|"+Vs+")",Xs="(?:"+Zi+"(?:d|ll|m|re|s|t|ve))?",Ys="(?:"+Zi+"(?:D|LL|M|RE|S|T|VE))?",Zs=Bp+"?",js="["+Ws+"]?",qp="(?:"+Ds+"(?:"+[Ks,Qi,eo].join("|")+")"+js+Zs+")*",$p="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Up="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Qs=js+Zs+qp,Wp="(?:"+[Lp,Qi,eo].join("|")+")"+Qs,Gp="(?:"+[Ks+vn+"?",vn,Qi,eo,Fp].join("|")+")",Hp=RegExp(Zi,"g"),kp=RegExp(vn,"g"),to=RegExp(ji+"(?="+ji+")|"+Gp+Qs,"g"),zp=RegExp([nr+"?"+zs+"+"+Xs+"(?="+[Hs,nr,"$"].join("|")+")",Mp+"+"+Ys+"(?="+[Hs,nr+Js,"$"].join("|")+")",nr+"?"+Js+"+"+Xs,nr+"+"+Ys,Up,$p,ks,Wp].join("|"),"g"),Vp=RegExp("["+Ds+xn+Ms+Ws+"]"),Kp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Dp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Jp=-1,j={};j[Wi]=j[Gi]=j[Hi]=j[ki]=j[zi]=j[Vi]=j[Ki]=j[Di]=j[Ji]=!0,j[tr]=j[hn]=j[Br]=j[Ir]=j[rr]=j[Cr]=j[dn]=j[gn]=j[Je]=j[Nr]=j[at]=j[Pr]=j[Xe]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[hn]=Z[Br]=Z[rr]=Z[Ir]=Z[Cr]=Z[Wi]=Z[Gi]=Z[Hi]=Z[ki]=Z[zi]=Z[Je]=Z[Nr]=Z[at]=Z[Pr]=Z[Xe]=Z[Fr]=Z[mn]=Z[Vi]=Z[Ki]=Z[Di]=Z[Ji]=!0,Z[dn]=Z[gn]=Z[Lr]=!1;var Xp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Yp={"&":"&","<":"<",">":">",'"':""","'":"'"},Zp={"&":"&","<":"<",">":">",""":'"',"'":"'"},jp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Qp=parseFloat,eh=parseInt,eu=typeof global=="object"&&global&&global.Object===Object&&global,th=typeof self=="object"&&self&&self.Object===Object&&self,le=eu||th||Function("return this")(),ro=typeof Sr=="object"&&Sr&&!Sr.nodeType&&Sr,kt=ro&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,tu=kt&&kt.exports===ro,no=tu&&eu.process,qe=function(){try{var g=kt&&kt.require&&kt.require("util").types;return g||no&&no.binding&&no.binding("util")}catch{}}(),ru=qe&&qe.isArrayBuffer,nu=qe&&qe.isDate,iu=qe&&qe.isMap,ou=qe&&qe.isRegExp,su=qe&&qe.isSet,uu=qe&&qe.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function rh(g,b,y,R){for(var M=-1,V=g==null?0:g.length;++M-1}function io(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function gu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ch(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var ph=fo(Xp),hh=fo(Yp);function dh(g){return"\\"+jp[g]}function gh(g,b){return g==null?r:g[b]}function or(g){return Vp.test(g)}function mh(g){return Kp.test(g)}function _h(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function po(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function mu(g,b){return function(y){return g(b(y))}}function St(g,b){for(var y=-1,R=g.length,M=0,V=[];++y-1}function id(e,t){var i=this.__data__,o=qn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=ed,lt.prototype.delete=td,lt.prototype.get=rd,lt.prototype.has=nd,lt.prototype.set=id;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,_=t&O,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=fg(e),!d)return be(e,h)}else{var E=de(e),S=E==gn||E==Cs;if(Lt(e))return ju(e,d);if(E==at||E==tr||S&&!u){if(h=_||S?{}:xf(e),!d)return _?Zd(e,yd(h,e)):Yd(e,Ru(h,e))}else{if(!Z[E])return u?e:{};h=ag(e,E,d)}}c||(c=new Ze);var C=c.get(e);if(C)return C;c.set(e,h),Df(e)?e.forEach(function(B){h.add(Ge(B,t,i,B,e,c))}):Vf(e)&&e.forEach(function(B,G){h.set(G,Ge(B,t,i,G,e,c))});var L=w?_?Uo:$o:_?Ae:ce,U=A?r:L(e);return $e(U||e,function(B,G){U&&(G=B,B=e[G]),Hr(h,G,Ge(B,t,i,G,e,c))}),h}function bd(e){var t=ce(e);return function(i){return Iu(i,e,t)}}function Iu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Cu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function kr(e,t,i,o){var u=-1,c=yn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ce(i))),o?(c=io,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Xf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):Ot(u,d):o||(u[u.length]=d)}return u}var yo=of(),Fu=of(!0);function rt(e,t){return e&&yo(e,t,ce)}function bo(e,t){return e&&Fu(e,t,ce)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Td(e,t){return e!=null&&J.call(e,t)}function Ed(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,S=d[0];e:for(;++E-1;)d!==e&&Cn.call(d,_,1),Cn.call(e,_,1);return e}function zu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Cn.call(e,u,1):No(e,u)}}return e}function Ro(e,t){return e+Fn(Tu()*(t-e+1))}function Ud(e,t,i,o){for(var u=-1,c=ae(Pn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Io(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ko(bf(e,t,Te),e+"")}function Wd(e){return Su(gr(e))}function Gd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Pe(h)&&(i?h<=t:h=s){var w=t?null:tg(e);if(w)return wn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:He(e,t,i)}var Zu=Ph||function(e){return le.clearTimeout(e)};function ju(e,t){if(t)return e.slice();var i=e.length,o=vu?vu(i):new e.constructor(i);return e.copy(o),o}function Bo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Kd(e,t){var i=t?Bo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Dd(e){var t=new e.constructor(e.source,Bs.exec(e));return t.lastIndex=e.lastIndex,t}function Jd(e){return Gr?X(Gr.call(e)):{}}function Qu(e,t){var i=t?Bo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function ef(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Pe(e),h=t!==r,d=t===null,_=t===t,w=Pe(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function tf(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&xe(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function ff(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&z.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,S=!0,C=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(pp,`{ +/* [wrapped with `+t+`] */ +`)}function cg(e){return q(e)||Zt(e)||!!(wu&&e&&e[wu])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Ap.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Ff(e,i)});function Lf(e){var t=a(e);return t.__chain__=!0,t}function wm(e,t){return t(e),e}function Zn(e,t){return t(e)}var Am=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return vo(c,e)};return t>1||this.__actions__.length||!(o instanceof H)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Tm(){return Lf(this)}function Em(){return new We(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Jf(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Sm(){return this}function Rm(e){for(var t,i=this;i instanceof Mn;){var o=Sf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Im(){var e=this.__wrapped__;if(e instanceof H){var t=e;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Do],thisArg:r}),new We(t,this.__chain__)}return this.thru(Do)}function Cm(){return Xu(this.__wrapped__,this.__actions__)}var Nm=kn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Pm(e,t,i){var o=q(e)?fu:wd;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}function Fm(e,t){var i=q(e)?Et:Pu;return i(e,P(t,3))}var Lm=uf(Rf),Bm=uf(If);function Mm(e,t){return pe(jn(e,t),1)}function qm(e,t){return pe(jn(e,t),Ht)}function $m(e,t,i){return i=i===r?1:$(i),pe(jn(e,t),i)}function Bf(e,t){var i=q(e)?$e:Ct;return i(e,P(t,3))}function Mf(e,t){var i=q(e)?nh:Nu;return i(e,P(t,3))}var Um=kn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Wm(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var Gm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Ct(e,function(h){c[++o]=u?Ie(t,h,i):zr(h,t,i)}),c}),Hm=kn(function(e,t,i){pt(e,i,t)});function jn(e,t){var i=q(e)?ee:$u;return i(e,P(t,3))}function km(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),Hu(e,t,i))}var zm=kn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Vm(e,t,i){var o=q(e)?oo:pu,u=arguments.length<3;return o(e,P(t,4),i,u,Ct)}function Km(e,t,i){var o=q(e)?ih:pu,u=arguments.length<3;return o(e,P(t,4),i,u,Nu)}function Dm(e,t){var i=q(e)?Et:Pu;return i(e,ti(P(t,3)))}function Jm(e){var t=q(e)?Su:Wd;return t(e)}function Xm(e,t,i){(i?xe(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?_d:Gd;return o(e,t)}function Ym(e){var t=q(e)?xd:kd;return t(e)}function Zm(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=de(e);return t==Je||t==Xe?e.size:Eo(e).length}function jm(e,t,i){var o=q(e)?so:zd;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}var Qm=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&xe(e,t[0],t[1])?t=[]:i>2&&xe(t[0],t[1],t[2])&&(t=[t[0]]),Hu(e,pe(t,1),[])}),Qn=Fh||function(){return le.Date.now()};function e0(e,t){if(typeof t!="function")throw new Ue(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function qf(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function $f(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Xo=W(function(e,t,i){var o=k;if(i.length){var u=St(i,hr(Xo));o|=me}return ht(e,o,t,i,u)}),Uf=W(function(e,t,i){var o=k|Y;if(i.length){var u=St(i,hr(Uf));o|=me}return ht(t,o,e,i,u)});function Wf(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Wf.placeholder,o}function Gf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=Gf.placeholder,o}function Hf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,S=!0;if(typeof e!="function")throw new Ue(l);t=ze(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(ze(i.maxWait)||0,t):c,S="trailing"in i?!!i.trailing:S);function C(se){var Qe=o,xt=u;return o=u=r,w=se,h=e.apply(xt,Qe),h}function L(se){return w=se,d=Xr(G,t),A?C(se):h}function U(se){var Qe=se-_,xt=se-w,ua=t-Qe;return E?he(ua,c-xt):ua}function B(se){var Qe=se-_,xt=se-w;return _===r||Qe>=t||Qe<0||E&&xt>=c}function G(){var se=Qn();if(B(se))return z(se);d=Xr(G,U(se))}function z(se){return d=r,S&&o?C(se):(o=u=r,h)}function Fe(){d!==r&&Zu(d),w=0,o=_=u=d=r}function ve(){return d===r?h:z(Qn())}function Le(){var se=Qn(),Qe=B(se);if(o=arguments,u=this,_=se,Qe){if(d===r)return L(_);if(E)return Zu(d),d=Xr(G,t),C(_)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=ve,Le}var t0=W(function(e,t){return Cu(e,1,t)}),r0=W(function(e,t,i){return Cu(e,ze(t)||0,i)});function n0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function i0(e){return $f(2,e)}var o0=Vd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ce(P())):ee(pe(t,1),Ce(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Bu(function(){return arguments}())?Bu:function(e){return ie(e)&&J.call(e,"callee")&&!bu.call(e,"callee")},q=y.isArray,y0=ru?Ce(ru):Rd;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function b0(e){return e===!0||e===!1||ie(e)&&_e(e)==Ir}var Lt=Bh||us,w0=nu?Ce(nu):Id;function A0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function T0(e){if(e==null)return!0;if(we(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Eo(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function E0(e,t){return Vr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Vr(e,t,r,i):!!o}function Zo(e){if(!ie(e))return!1;var t=_e(e);return t==dn||t==Xc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function S0(e){return typeof e=="number"&&Au(e)}function mt(e){if(!te(e))return!1;var t=_e(e);return t==gn||t==Cs||t==Jc||t==Zc}function zf(e){return typeof e=="number"&&e==$(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Vf=iu?Ce(iu):Nd;function R0(e,t){return e===t||To(e,t,Go(t))}function I0(e,t,i){return i=typeof i=="function"?i:r,To(e,t,Go(t),i)}function C0(e){return Kf(e)&&e!=+e}function N0(e){if(dg(e))throw new M(f);return Mu(e)}function P0(e){return e===null}function F0(e){return e==null}function Kf(e){return typeof e=="number"||ie(e)&&_e(e)==Nr}function Yr(e){if(!ie(e)||_e(e)!=at)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Ih}var jo=ou?Ce(ou):Pd;function L0(e){return zf(e)&&e>=-Tt&&e<=Tt}var Df=su?Ce(su):Fd;function ni(e){return typeof e=="string"||!q(e)&&ie(e)&&_e(e)==Fr}function Pe(e){return typeof e=="symbol"||ie(e)&&_e(e)==mn}var dr=uu?Ce(uu):Ld;function B0(e){return e===r}function M0(e){return ie(e)&&de(e)==Lr}function q0(e){return ie(e)&&_e(e)==Qc}var $0=Dn(Oo),U0=Dn(function(e,t){return e<=t});function Jf(e){if(!e)return[];if(we(e))return ni(e)?Ye(e):be(e);if(qr&&e[qr])return _h(e[qr]());var t=de(e),i=t==Je?po:t==Xe?wn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=ze(e),e===Ht||e===-Ht){var t=e<0?-1:1;return t*zc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Xf(e){return e?Dt($(e),0,tt):0}function ze(e){if(typeof e=="number")return e;if(Pe(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=hu(e);var i=yp.test(e);return i||wp.test(e)?eh(e.slice(2),i?2:8):vp.test(e)?pn:+e}function Yf(e){return nt(e,Ae(e))}function W0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ne(e)}var G0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&Hr(e,i,t[i])}),Zf=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),H0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),k0=dt(vo);function z0(e,t){var i=lr(e);return t==null?i:Ru(i,t)}var V0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&xe(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,Uo(e),i),o&&(i=Ge(i,T|O|I,rg));for(var u=t.length;u--;)No(i,t[u]);return i});function a_(e,t){return Qf(e,ti(P(t)))}var l_=dt(function(e,t){return e==null?{}:qd(e,t)});function Qf(e,t){if(e==null)return{};var i=ee(Uo(e),function(o){return[o]});return t=P(t),ku(e,i,function(o,u){return t(o,u[0])})}function c_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Tu();return he(e+u*(t-e+Qp("1e-"+((u+"").length-1))),t)}return Ro(e,t)}var w_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?ra(t):t)});function ra(e){return ts(K(e).toLowerCase())}function na(e){return e=K(e),e&&e.replace(Tp,ph).replace(kp,"")}function A_(e,t,i){e=K(e),t=Ne(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function T_(e){return e=K(e),e&&ip.test(e)?e.replace(Fs,hh):e}function E_(e){return e=K(e),e&&lp.test(e)?e.replace(Xi,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),S_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),R_=sf("toLowerCase");function I_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Kn(Fn(u),i)+e+Kn(Pn(u),i)}function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!jo(t))&&(t=Ne(t),!t&&or(e))?Ft(Ye(e),0,i):e.split(t,i)):[]}var q_=pr(function(e,t,i){return e+(i?" ":"")+ts(t)});function $_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ne(t),e.slice(i,i+t.length)==t}function U_(e,t,i){var o=a.templateSettings;i&&xe(e,t,i)&&(t=r),e=K(e),t=ii({},t,o,hf);var u=ii({},t.imports,o.imports,hf),c=ce(u),h=co(u,c),d,_,w=0,A=t.interpolate||_n,E="__p += '",S=ho((t.escape||_n).source+"|"+A.source+"|"+(A===Ls?xp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Jp+"]")+` +`;e.replace(S,function(B,G,z,Fe,ve,Le){return z||(z=Fe),E+=e.slice(w,Le).replace(Ep,dh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),ve&&(_=!0,E+=`'; +`+ve+`; +__p += '`),z&&(E+=`' + +((__t = (`+z+`)) == null ? '' : __t) + +'`),w=Le+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(mp.test(L))throw new M(p);E=(_?E.replace(ep,""):E).replace(tp,"$1").replace(rp,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=oa(function(){return V(c,C+"return "+E).apply(r,h)});if(U.source=E,Zo(U))throw U;return U}function W_(e){return K(e).toLowerCase()}function G_(e){return K(e).toUpperCase()}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return hu(e);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=Ye(t),c=du(o,u),h=gu(o,u)+1;return Ft(o,c,h).join("")}function k_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,_u(e)+1);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=gu(o,Ye(t))+1;return Ft(o,0,u).join("")}function z_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Yi,"");if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=du(o,Ye(t));return Ft(o,u).join("")}function V_(e,t){var i=Gt,o=Ui;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ne(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Ye(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),jo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=ho(u.source,K(Bs.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ne(u),d)!=d){var S=_.lastIndexOf(u);S>-1&&(_=_.slice(0,S))}return _+o}function K_(e){return e=K(e),e&&np.test(e)?e.replace(Ps,bh):e}var D_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),ts=sf("toUpperCase");function ia(e,t,i){return e=K(e),t=i?r:t,t===r?mh(e)?Th(e):uh(e):e.match(t)||[]}var oa=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Zo(i)?i:new M(i)}}),J_=dt(function(e,t){return $e(t,function(i){i=it(i),pt(e,i,Xo(e[i],e))}),e});function X_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=lo(o,t);++i0||t<0)?new H(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},H.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},H.prototype.toArray=function(){return this.take(tt)},rt(H.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof H,w=d[0],A=_||q(h),E=function(G){var z=u.apply(a,Ot([G],d));return o&&S?z[0]:z};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var S=this.__chain__,C=!!this.__actions__.length,L=c&&!S,U=_&&!C;if(!c&&A){h=U?h:new H(this);var B=e.apply(h,d);return B.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(B,S)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),$e(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(H.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[zn(r,Y).name]=[{name:"wrapper",func:r}],H.prototype.clone=Kh,H.prototype.reverse=Dh,H.prototype.value=Jh,a.prototype.at=Am,a.prototype.chain=Tm,a.prototype.commit=Em,a.prototype.next=Om,a.prototype.plant=Rm,a.prototype.reverse=Im,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Cm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Sm),a},Rt=Eh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):kt?((kt.exports=Rt)._=Rt,ro._=Rt):le._=Rt}).call(Sr)});var Vw={};$x(Vw,{default:()=>kw,options:()=>Gc,setup:()=>Hw,teardown:()=>zw});module.exports=Ux(Vw);var Nw=ot(require("k6/encoding")),Pw=require("k6"),Fw=ot(require("k6/http"));var Wx=typeof global=="object"&&global&&global.Object===Object&&global,si=Wx;var Gx=typeof self=="object"&&self&&self.Object===Object&&self,Hx=si||Gx||Function("return this")(),Ve=Hx;var kx=Ve.Symbol,vt=kx;var aa=Object.prototype,zx=aa.hasOwnProperty,Vx=aa.toString,Zr=vt?vt.toStringTag:void 0;function Kx(r){var n=zx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Vx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var la=Kx;var Dx=Object.prototype,Jx=Dx.toString;function Xx(r){return Jx.call(r)}var ca=Xx;var Yx="[object Null]",Zx="[object Undefined]",pa=vt?vt.toStringTag:void 0;function jx(r){return r==null?r===void 0?Zx:Yx:pa&&pa in Object(r)?la(r):ca(r)}var st=jx;function Qx(r){return r!=null&&typeof r=="object"}var Ke=Qx;var ev="[object Symbol]";function tv(r){return typeof r=="symbol"||Ke(r)&&st(r)==ev}var mr=tv;function rv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Cv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Sa=Fv;function Lv(r){return function(){return r}}var Ra=Lv;var Bv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Bv;var Mv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Ra(n),writable:!0})}:ui,Ia=Mv;var qv=Sa(Ia),Ca=qv;var $v=9007199254740991,Uv=/^(?:0|[1-9]\d*)$/;function Wv(r,n){var s=typeof r;return n=n??$v,!!n&&(s=="number"||s!="symbol"&&Uv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Xv}var li=Yv;function Zv(r){return r!=null&&li(r.length)&&!_r(r)}var br=Zv;function jv(r,n,s){if(!Ee(s))return!1;var f=typeof n;return(f=="number"?br(s)&&ai(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var Ma=jv;function Qv(r){return Ba(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&Ma(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var ul=_1;function x1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var fl=x1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&_i(x,{headers:{Authorization:n.header}}),Vl.default.request(f,Dl(r,l),p,_i(x,v))};var Jl=require("https://jslib.k6.io/url/1.0.0/index.js"),ds=class{#e;constructor(n){this.#e=new Jl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Dl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Yl=r=>new ds(new URL(r||"").search).object();var Cw=ot(Es()),Pc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Rc(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Sc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Cc()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function xw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Os(r){var n=typeof Map=="function"?new Map:void 0;return Os=function(f){if(f===null||!xw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Os(r)}function vw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function yw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vw(r)}function bw(r){var n=Cc();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return yw(this,l)}}function ww(r){return Aw(r)||Tw(r)||Nc(r)||Ew()}function Aw(r){if(Array.isArray(r))return Ss(r)}function Tw(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Nc(r,n){if(r){if(typeof r=="string")return Ss(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Ss(r,n)}}function Ss(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Se=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Rs(r,n){return n=n.slice(),n.unshift(r),n}var Sw=function(r){_w(s,r);var n=bw(s);function s(f){var l;return Rc(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Ic(s)}(Os(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Se.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Sw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Se.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Se.call(r,"flatten")?r.flatten:x,this.currResultType=Se.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Se.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Se.call(r,"wrap")?r.wrap:m,this.currPreventEval=Se.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Se.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Se.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Se.call(r,"parent")?r.parent:p,v=Se.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var O=D.toPathArray(r);O[0]==="$"&&O.length>1&&O.shift(),this._hasParentSelector=null;var I=this._trace(O,n,["$"],p,v,s).filter(function(N){return N&&!N.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(N,F){var k=l._getPreferredOutput(F);return x&&Array.isArray(k)?N=N.concat(k):N.push(k),N},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var O=r[0],I=r.slice(1),N=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){N.push(cn)}):N.push(ne)}if((typeof O!="string"||x)&&n&&Se.call(n,O))F(this._trace(I,n[O],Qt(s,O),n,O,p,v));else if(O==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(O==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(O==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(O==="~")return T={path:Qt(s,O),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(O==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(O))F(this._slice(O,I,n,s,f,l,p));else if(O.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var k=O.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(k,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(O[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Rs(this._eval(O,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(O[0]==="@"){var Y=!1,Me=O.slice(1,-2);switch(Me){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Me&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Me&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Me)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(O[0]==="`"&&n&&Se.call(n,O.slice(1))){var ye=O.slice(1);F(this._trace(I,n[ye],Qt(s,ye),n,ye,p,v,!0))}else if(O.includes(",")){var wt=O.split(","),me=Ow(wt),ft;try{for(me.s();!(ft=me.n()).done;){var De=ft.value;F(this._trace(Rs(De,I),n,s,f,l,p,!0))}}catch(ne){me.e(ne)}finally{me.f()}}else!x&&n&&Se.call(n,O)&&F(this._trace(I,n[O],Qt(s,O),n,O,p,v,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,ww(v))}}]),r}();D.prototype.vm={Script:Iw};var Fc=(r=10,n)=>(0,Pc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Bc=require("k6/http");var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var bi=class{files;spaces;constructor(n){this.files=new vi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Oi=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Si=class{shares;constructor(n){this.shares=new Oi(n)}};var Ri=class{v1;constructor(n){this.v1=new Si(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ci=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ni=class{users;constructor(n){this.users=new Ci(n)}};var Pi=class{cloud;apps;constructor(n){this.cloud=new Ni(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Pi(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var Mc=ot(require("k6/encoding")),Bi=require("k6"),Mi=ot(require("k6/http"));var er=require("k6"),Is=require("k6"),Or=require("k6"),Lc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Lw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${Mc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Bw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Mi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Fc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Bi.fail)(this.#i),n}getCode(r){let n=`${r}?${Xl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Mi.default.get(n,{redirects:0}),f=Ut(Yl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Bi.fail)(r),f}getToken(r){let n=Mi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Bi.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},Mw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},qw=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Is.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Is.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},$w=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Or.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Or.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Or.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Or.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Or.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},an=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Lc.openIDConnect:l=new Bw(f,r);break;case Lc.basicAuth:l=new Lw(f);break}let p=Kl(r,l,{jar:new Bc.CookieJar}),v=new Li(p);this.resource=new Mw(n,v),this.user=new $w(n,v),this.share=new qw(v)}};var Uw=ot(require("k6/http"));var Ww=require("https://jslib.k6.io/url/1.0.0/index.js"),Gw=ot(Es()),qc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var qi=(r=10,n)=>(0,qc.randomString)(r,n),$c=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Wc=ot(require("k6/execution")),$i=ot(Uc()),ge={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},folder:{rootCount:parseInt(__ENV.FOLDER_ROOT_COUNT)||5,childCount:parseInt(__ENV.FOLDER_CHILD_COUNT)||5},k6:{vus:1,insecureSkipTLSVerify:!0}},Gc=ge.k6;function Hw(){let r=ge.adminUser,n=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,r),s=(0,$i.times)(Gc.vus||1,()=>{let f={login:qi(),password:qi()};n.user.create(f),n.user.enable(f.login);let l=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,f),p=l.user.drives(),[v]=$c("$.value[?(@.driveType === 'personal')].id",p?.json(),[f.login]),x=(0,$i.times)(ge.folder.rootCount,()=>(0,$i.times)(ge.folder.childCount,()=>qi()).reduce((T,O)=>(T.push(O),l.resource.create(v,T.join("/")),T),[]));return{home:v,folders:x,credential:f}});return{adminCredential:r,userInfos:s}}function kw({userInfos:r}){let{home:n,folders:s,credential:f}=r[Wc.default.vu.idInTest-1],l=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,f);s.forEach(p=>{for(let v=1;v<=p.length;v++)l.resource.propfind(n,p.slice(0,v).join("/"))})}function zw({userInfos:r,adminCredential:n}){let s=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/koko-040-upload-delete.js b/packages/k6-tests/artifacts/koko-040-upload-delete.js new file mode 100644 index 0000000..3625726 --- /dev/null +++ b/packages/k6-tests/artifacts/koko-040-upload-delete.js @@ -0,0 +1,51 @@ +"use strict";var Lx=Object.create;var oi=Object.defineProperty;var Bx=Object.getOwnPropertyDescriptor;var Mx=Object.getOwnPropertyNames;var qx=Object.getPrototypeOf,$x=Object.prototype.hasOwnProperty;var Be=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),Ux=(r,n)=>{for(var s in n)oi(r,s,{get:n[s],enumerable:!0})},aa=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Mx(n))!$x.call(r,l)&&l!==s&&oi(r,l,{get:()=>n[l],enumerable:!(f=Bx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Lx(qx(r)):{},aa(n||!r||!r.__esModule?oi(s,"default",{value:r,enumerable:!0}):s,r)),Wx=r=>aa(oi({},"__esModule",{value:!0}),r);var hs=Be(bt=>{"use strict";var jl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",hb=jl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+jl+"]["+hb+"]*",db=new RegExp("^"+Ql+"$"),gb=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ds=hs(),_b={allowBooleanAttributes:!1,unpairedTags:[]};ic.validate=function(r,n){n=Object.assign({},_b,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Eb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Se(r,p))}let T=yb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Se(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let C=nc(S,n);if(C===!0)f=!0;else return ue(C.err.code,C.err.msg,Se(r,I+C.err.line))}else if(x)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Se(r,v));{let I=s.pop();if(m!==I.tagName){let C=Se(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+C.line+", col "+C.col+") instead of closing tag '"+m+"'.",Se(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Se(r,p));else{let I=nc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Se(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Se(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function ec(r){return r===" "||r===" "||r===` +`||r==="\r"}function tc(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Se(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function rc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var xb='"',vb="'";function yb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var bb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function nc(r,n){let s=ds.getAllMatches(r,bb),f={};for(let l=0;l{var oc={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Sb=function(r){return Object.assign({},oc,r)};ms.buildOptions=Sb;ms.defaultOptions=oc});var fc=Be((vR,uc)=>{"use strict";var _s=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};uc.exports=_s});var lc=Be((yR,ac)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Rb(r,n){let s="";for(;n{var Lb=/^[-+]?0x[a-fA-F0-9]+$/,Bb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Mb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function qb(r,n={}){if(n=Object.assign({},Mb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Lb.test(s))return Number.parseInt(s,16);{let f=Bb.exec(s);if(f){let l=f[1],p=f[2],v=$b(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function $b(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}cc.exports=qb});var dc=Be((AR,hc)=>{"use strict";var bs=hs(),on=fc(),Ub=lc(),Wb=pc(),wR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,bs.nameRegexp),xs=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Gb,this.parseXml=Kb,this.parseTextData=zb,this.resolveNameSpace=Vb,this.buildAttributesMap=Hb,this.isItStopNode=Xb,this.replaceEntitiesValue=Db,this.readStopNodeData=Zb,this.saveTextToParentTag=Jb}};function Gb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Vb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var kb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Hb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=bs.getAllMatches(r,kb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=vs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=Ub(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=vs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,S=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let C=s;if(C&&this.options.unpairedTags.indexOf(C.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let V=new on(m);m!==T&&S&&(V[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),V.add(this.options.textNodeName,F),s.addChild(V)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Db=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Jb(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Xb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Yb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=vs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ys(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Wb(r,s)}else return bs.isExist(r)?r:""}hc.exports=xs});var _c=Be(mc=>{"use strict";function jb(r,n){return gc(r,n)}function gc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function Qb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:rw}=sc(),nw=dc(),{prettify:iw}=_c(),ow=gs(),ws=class{constructor(n){this.externalEntities={},this.options=rw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=ow.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new nw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:iw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};xc.exports=ws});var Tc=Be((SR,Ac)=>{var sw=` +`;function uw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=sw),bc(r,n,"",s)}function bc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let V=yc(x[":@"],n),Y=m==="?xml"?"":f,Me=x[m][0][n.textNodeName];Me=Me.length!==0?" "+Me:"",l+=Y+`<${m}${Me}${V}?>`,p=!0;continue}let S=f;S!==""&&(S+=n.indentBy);let I=yc(x[":@"],n),C=f+`<${m}${I}`,F=bc(x[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=C+">":l+=C+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=C+"/>":F&&F.endsWith(">")?l+=C+`>${F}${f}`:(l+=C+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function fw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var lw=Tc(),cw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},cw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=dw),this.processTextOrObjNode=pw,this.options.format?(this.indentate=hw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?lw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var gw=gs(),mw=vc(),_w=Sc();Oc.exports={XMLParser:mw,XMLValidator:gw,XMLBuilder:_w}});var Wc=Be((Or,ln)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,S=2,I=4,C=1,F=2,V=1,Y=2,Me=4,ye=8,wt=16,ge=32,ft=64,De=128,Re=256,At=512,Gt=30,qi="...",Rr=800,ne=16,cn=1,Vc=2,kc=3,zt=1/0,Tt=9007199254740991,Hc=17976931348623157e292,pn=0/0,tt=4294967295,Kc=tt-1,Dc=tt>>>1,Jc=[["ary",De],["bind",V],["bindKey",Y],["curry",ye],["curryRight",wt],["flip",At],["partial",ge],["partialRight",ft],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Xc="[object AsyncFunction]",Ir="[object Boolean]",Nr="[object Date]",Yc="[object DOMException]",dn="[object Error]",gn="[object Function]",Cs="[object GeneratorFunction]",Je="[object Map]",Cr="[object Number]",Zc="[object Null]",at="[object Object]",Ps="[object Promise]",jc="[object Proxy]",Pr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",Qc="[object Undefined]",Lr="[object WeakMap]",ep="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",$i="[object Float32Array]",Ui="[object Float64Array]",Wi="[object Int8Array]",Gi="[object Int16Array]",zi="[object Int32Array]",Vi="[object Uint8Array]",ki="[object Uint8ClampedArray]",Hi="[object Uint16Array]",Ki="[object Uint32Array]",tp=/\b__p \+= '';/g,rp=/\b(__p \+=) '' \+/g,np=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Fs=/&(?:amp|lt|gt|quot|#39);/g,Ls=/[&<>"']/g,ip=RegExp(Fs.source),op=RegExp(Ls.source),sp=/<%-([\s\S]+?)%>/g,up=/<%([\s\S]+?)%>/g,Bs=/<%=([\s\S]+?)%>/g,fp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/,lp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Di=/[\\^$.*+?()[\]{}|]/g,cp=RegExp(Di.source),Ji=/^\s+/,pp=/\s/,hp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,dp=/\{\n\/\* \[wrapped with (.+)\] \*/,gp=/,? & /,mp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_p=/[()=,{}\[\]\/\s]/,xp=/\\(\\)?/g,vp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ms=/\w*$/,yp=/^[-+]0x[0-9a-f]+$/i,bp=/^0b[01]+$/i,wp=/^\[object .+?Constructor\]$/,Ap=/^0o[0-7]+$/i,Tp=/^(?:0|[1-9]\d*)$/,Ep=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Sp=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Op="\\u0300-\\u036f",Rp="\\ufe20-\\ufe2f",Ip="\\u20d0-\\u20ff",qs=Op+Rp+Ip,$s="\\u2700-\\u27bf",Us="a-z\\xdf-\\xf6\\xf8-\\xff",Np="\\xac\\xb1\\xd7\\xf7",Cp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Pp="\\u2000-\\u206f",Fp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ws="A-Z\\xc0-\\xd6\\xd8-\\xde",Gs="\\ufe0e\\ufe0f",zs=Np+Cp+Pp+Fp,Xi="['\u2019]",Lp="["+xn+"]",Vs="["+zs+"]",vn="["+qs+"]",ks="\\d+",Bp="["+$s+"]",Hs="["+Us+"]",Ks="[^"+xn+zs+ks+$s+Us+Ws+"]",Yi="\\ud83c[\\udffb-\\udfff]",Mp="(?:"+vn+"|"+Yi+")",Ds="[^"+xn+"]",Zi="(?:\\ud83c[\\udde6-\\uddff]){2}",ji="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Ws+"]",Js="\\u200d",Xs="(?:"+Hs+"|"+Ks+")",qp="(?:"+nr+"|"+Ks+")",Ys="(?:"+Xi+"(?:d|ll|m|re|s|t|ve))?",Zs="(?:"+Xi+"(?:D|LL|M|RE|S|T|VE))?",js=Mp+"?",Qs="["+Gs+"]?",$p="(?:"+Js+"(?:"+[Ds,Zi,ji].join("|")+")"+Qs+js+")*",Up="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Wp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",eu=Qs+js+$p,Gp="(?:"+[Bp,Zi,ji].join("|")+")"+eu,zp="(?:"+[Ds+vn+"?",vn,Zi,ji,Lp].join("|")+")",Vp=RegExp(Xi,"g"),kp=RegExp(vn,"g"),Qi=RegExp(Yi+"(?="+Yi+")|"+zp+eu,"g"),Hp=RegExp([nr+"?"+Hs+"+"+Ys+"(?="+[Vs,nr,"$"].join("|")+")",qp+"+"+Zs+"(?="+[Vs,nr+Xs,"$"].join("|")+")",nr+"?"+Xs+"+"+Ys,nr+"+"+Zs,Wp,Up,ks,Gp].join("|"),"g"),Kp=RegExp("["+Js+xn+qs+Gs+"]"),Dp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xp=-1,j={};j[$i]=j[Ui]=j[Wi]=j[Gi]=j[zi]=j[Vi]=j[ki]=j[Hi]=j[Ki]=!0,j[tr]=j[hn]=j[Br]=j[Ir]=j[rr]=j[Nr]=j[dn]=j[gn]=j[Je]=j[Cr]=j[at]=j[Pr]=j[Xe]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[hn]=Z[Br]=Z[rr]=Z[Ir]=Z[Nr]=Z[$i]=Z[Ui]=Z[Wi]=Z[Gi]=Z[zi]=Z[Je]=Z[Cr]=Z[at]=Z[Pr]=Z[Xe]=Z[Fr]=Z[mn]=Z[Vi]=Z[ki]=Z[Hi]=Z[Ki]=!0,Z[dn]=Z[gn]=Z[Lr]=!1;var Yp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Zp={"&":"&","<":"<",">":">",'"':""","'":"'"},jp={"&":"&","<":"<",">":">",""":'"',"'":"'"},Qp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},eh=parseFloat,th=parseInt,tu=typeof global=="object"&&global&&global.Object===Object&&global,rh=typeof self=="object"&&self&&self.Object===Object&&self,le=tu||rh||Function("return this")(),eo=typeof Or=="object"&&Or&&!Or.nodeType&&Or,Vt=eo&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,ru=Vt&&Vt.exports===eo,to=ru&&tu.process,qe=function(){try{var g=Vt&&Vt.require&&Vt.require("util").types;return g||to&&to.binding&&to.binding("util")}catch{}}(),nu=qe&&qe.isArrayBuffer,iu=qe&&qe.isDate,ou=qe&&qe.isMap,su=qe&&qe.isRegExp,uu=qe&&qe.isSet,fu=qe&&qe.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function nh(g,b,y,R){for(var M=-1,H=g==null?0:g.length;++M-1}function ro(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function mu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ph(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var hh=so(Yp),dh=so(Zp);function gh(g){return"\\"+Qp[g]}function mh(g,b){return g==null?r:g[b]}function or(g){return Kp.test(g)}function _h(g){return Dp.test(g)}function xh(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function lo(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function _u(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,M=0,H=[];++y-1}function od(e,t){var i=this.__data__,o=qn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=td,lt.prototype.delete=rd,lt.prototype.get=nd,lt.prototype.has=id,lt.prototype.set=od;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,_=t&S,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=ag(e),!d)return be(e,h)}else{var E=de(e),O=E==gn||E==Cs;if(Lt(e))return Qu(e,d);if(E==at||E==tr||O&&!u){if(h=_||O?{}:vf(e),!d)return _?jd(e,bd(h,e)):Zd(e,Iu(h,e))}else{if(!Z[E])return u?e:{};h=lg(e,E,d)}}c||(c=new Ze);var N=c.get(e);if(N)return N;c.set(e,h),Jf(e)?e.forEach(function(B){h.add(Ge(B,t,i,B,e,c))}):Kf(e)&&e.forEach(function(B,G){h.set(G,Ge(B,t,i,G,e,c))});var L=w?_?qo:Mo:_?Ae:ce,U=A?r:L(e);return $e(U||e,function(B,G){U&&(G=B,B=e[G]),zr(h,G,Ge(B,t,i,G,e,c))}),h}function wd(e){var t=ce(e);return function(i){return Nu(i,e,t)}}function Nu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Cu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function Vr(e,t,i,o){var u=-1,c=yn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ne(i))),o?(c=ro,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Yf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):St(u,d):o||(u[u.length]=d)}return u}var xo=sf(),Lu=sf(!0);function rt(e,t){return e&&xo(e,t,ce)}function vo(e,t){return e&&Lu(e,t,ce)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Ed(e,t){return e!=null&&J.call(e,t)}function Sd(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&Nn.call(d,_,1),Nn.call(e,_,1);return e}function Hu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Nn.call(e,u,1):Io(e,u)}}return e}function So(e,t){return e+Fn(Eu()*(t-e+1))}function Wd(e,t,i,o){for(var u=-1,c=ae(Pn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Oo(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return ko(wf(e,t,Te),e+"")}function Gd(e){return Ru(gr(e))}function zd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Pe(h)&&(i?h<=t:h=s){var w=t?null:rg(e);if(w)return wn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:ze(e,t,i)}var ju=Fh||function(e){return le.clearTimeout(e)};function Qu(e,t){if(t)return e.slice();var i=e.length,o=yu?yu(i):new e.constructor(i);return e.copy(o),o}function Fo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Dd(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Jd(e){var t=new e.constructor(e.source,Ms.exec(e));return t.lastIndex=e.lastIndex,t}function Xd(e){return Gr?X(Gr.call(e)):{}}function ef(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function tf(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Pe(e),h=t!==r,d=t===null,_=t===t,w=Pe(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function rf(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&_e(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function af(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&k.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,N=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(hp,`{ +/* [wrapped with `+t+`] */ +`)}function pg(e){return q(e)||Zt(e)||!!(Au&&e&&e[Au])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Tp.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Lf(e,i)});function Bf(e){var t=a(e);return t.__chain__=!0,t}function Am(e,t){return t(e),e}function Zn(e,t){return t(e)}var Tm=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return _o(c,e)};return t>1||this.__actions__.length||!(o instanceof z)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Em(){return Bf(this)}function Sm(){return new We(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Xf(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Rm(){return this}function Im(e){for(var t,i=this;i instanceof Mn;){var o=Rf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Nm(){var e=this.__wrapped__;if(e instanceof z){var t=e;return this.__actions__.length&&(t=new z(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Ho],thisArg:r}),new We(t,this.__chain__)}return this.thru(Ho)}function Cm(){return Yu(this.__wrapped__,this.__actions__)}var Pm=Vn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Fm(e,t,i){var o=q(e)?au:Ad;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}function Lm(e,t){var i=q(e)?Et:Fu;return i(e,P(t,3))}var Bm=ff(If),Mm=ff(Nf);function qm(e,t){return pe(jn(e,t),1)}function $m(e,t){return pe(jn(e,t),zt)}function Um(e,t,i){return i=i===r?1:$(i),pe(jn(e,t),i)}function Mf(e,t){var i=q(e)?$e:Nt;return i(e,P(t,3))}function qf(e,t){var i=q(e)?ih:Pu;return i(e,P(t,3))}var Wm=Vn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Gm(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var zm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Nt(e,function(h){c[++o]=u?Ie(t,h,i):kr(h,t,i)}),c}),Vm=Vn(function(e,t,i){pt(e,i,t)});function jn(e,t){var i=q(e)?ee:Uu;return i(e,P(t,3))}function km(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),Vu(e,t,i))}var Hm=Vn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Km(e,t,i){var o=q(e)?no:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Nt)}function Dm(e,t,i){var o=q(e)?oh:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Pu)}function Jm(e,t){var i=q(e)?Et:Fu;return i(e,ti(P(t,3)))}function Xm(e){var t=q(e)?Ru:Gd;return t(e)}function Ym(e,t,i){(i?_e(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?xd:zd;return o(e,t)}function Zm(e){var t=q(e)?vd:kd;return t(e)}function jm(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=de(e);return t==Je||t==Xe?e.size:Ao(e).length}function Qm(e,t,i){var o=q(e)?io:Hd;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}var e0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&_e(e,t[0],t[1])?t=[]:i>2&&_e(t[0],t[1],t[2])&&(t=[t[0]]),Vu(e,pe(t,1),[])}),Qn=Lh||function(){return le.Date.now()};function t0(e,t){if(typeof t!="function")throw new Ue(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function $f(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function Uf(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Do=W(function(e,t,i){var o=V;if(i.length){var u=Ot(i,hr(Do));o|=ge}return ht(e,o,t,i,u)}),Wf=W(function(e,t,i){var o=V|Y;if(i.length){var u=Ot(i,hr(Wf));o|=ge}return ht(t,o,e,i,u)});function Gf(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Gf.placeholder,o}function zf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=zf.placeholder,o}function Vf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new Ue(l);t=ke(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(ke(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function N(se){var Qe=o,xt=u;return o=u=r,w=se,h=e.apply(xt,Qe),h}function L(se){return w=se,d=Xr(G,t),A?N(se):h}function U(se){var Qe=se-_,xt=se-w,fa=t-Qe;return E?he(fa,c-xt):fa}function B(se){var Qe=se-_,xt=se-w;return _===r||Qe>=t||Qe<0||E&&xt>=c}function G(){var se=Qn();if(B(se))return k(se);d=Xr(G,U(se))}function k(se){return d=r,O&&o?N(se):(o=u=r,h)}function Fe(){d!==r&&ju(d),w=0,o=_=u=d=r}function xe(){return d===r?h:k(Qn())}function Le(){var se=Qn(),Qe=B(se);if(o=arguments,u=this,_=se,Qe){if(d===r)return L(_);if(E)return ju(d),d=Xr(G,t),N(_)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=xe,Le}var r0=W(function(e,t){return Cu(e,1,t)}),n0=W(function(e,t,i){return Cu(e,ke(t)||0,i)});function i0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function o0(e){return Uf(2,e)}var s0=Kd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ne(P())):ee(pe(t,1),Ne(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Mu(function(){return arguments}())?Mu:function(e){return ie(e)&&J.call(e,"callee")&&!wu.call(e,"callee")},q=y.isArray,b0=nu?Ne(nu):Id;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function w0(e){return e===!0||e===!1||ie(e)&&me(e)==Ir}var Lt=Mh||os,A0=iu?Ne(iu):Nd;function T0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function E0(e){if(e==null)return!0;if(we(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Ao(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function S0(e,t){return Hr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Hr(e,t,r,i):!!o}function Xo(e){if(!ie(e))return!1;var t=me(e);return t==dn||t==Yc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function R0(e){return typeof e=="number"&&Tu(e)}function mt(e){if(!te(e))return!1;var t=me(e);return t==gn||t==Cs||t==Xc||t==jc}function Hf(e){return typeof e=="number"&&e==$(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Kf=ou?Ne(ou):Pd;function I0(e,t){return e===t||wo(e,t,Uo(t))}function N0(e,t,i){return i=typeof i=="function"?i:r,wo(e,t,Uo(t),i)}function C0(e){return Df(e)&&e!=+e}function P0(e){if(gg(e))throw new M(f);return qu(e)}function F0(e){return e===null}function L0(e){return e==null}function Df(e){return typeof e=="number"||ie(e)&&me(e)==Cr}function Yr(e){if(!ie(e)||me(e)!=at)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Nh}var Yo=su?Ne(su):Fd;function B0(e){return Hf(e)&&e>=-Tt&&e<=Tt}var Jf=uu?Ne(uu):Ld;function ni(e){return typeof e=="string"||!q(e)&&ie(e)&&me(e)==Fr}function Pe(e){return typeof e=="symbol"||ie(e)&&me(e)==mn}var dr=fu?Ne(fu):Bd;function M0(e){return e===r}function q0(e){return ie(e)&&de(e)==Lr}function $0(e){return ie(e)&&me(e)==ep}var U0=Dn(To),W0=Dn(function(e,t){return e<=t});function Xf(e){if(!e)return[];if(we(e))return ni(e)?Ye(e):be(e);if(qr&&e[qr])return xh(e[qr]());var t=de(e),i=t==Je?lo:t==Xe?wn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=ke(e),e===zt||e===-zt){var t=e<0?-1:1;return t*Hc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Yf(e){return e?Dt($(e),0,tt):0}function ke(e){if(typeof e=="number")return e;if(Pe(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=du(e);var i=bp.test(e);return i||Ap.test(e)?th(e.slice(2),i?2:8):yp.test(e)?pn:+e}function Zf(e){return nt(e,Ae(e))}function G0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ce(e)}var z0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&zr(e,i,t[i])}),jf=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),V0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),k0=dt(_o);function H0(e,t){var i=lr(e);return t==null?i:Iu(i,t)}var K0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&_e(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,qo(e),i),o&&(i=Ge(i,T|S|I,ng));for(var u=t.length;u--;)Io(i,t[u]);return i});function l_(e,t){return ea(e,ti(P(t)))}var c_=dt(function(e,t){return e==null?{}:$d(e,t)});function ea(e,t){if(e==null)return{};var i=ee(qo(e),function(o){return[o]});return t=P(t),ku(e,i,function(o,u){return t(o,u[0])})}function p_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Eu();return he(e+u*(t-e+eh("1e-"+((u+"").length-1))),t)}return So(e,t)}var A_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?na(t):t)});function na(e){return Qo(K(e).toLowerCase())}function ia(e){return e=K(e),e&&e.replace(Ep,hh).replace(kp,"")}function T_(e,t,i){e=K(e),t=Ce(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function E_(e){return e=K(e),e&&op.test(e)?e.replace(Ls,dh):e}function S_(e){return e=K(e),e&&cp.test(e)?e.replace(Di,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),R_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),I_=uf("toLowerCase");function N_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Kn(Fn(u),i)+e+Kn(Pn(u),i)}function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Yo(t))&&(t=Ce(t),!t&&or(e))?Ft(Ye(e),0,i):e.split(t,i)):[]}var $_=pr(function(e,t,i){return e+(i?" ":"")+Qo(t)});function U_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ce(t),e.slice(i,i+t.length)==t}function W_(e,t,i){var o=a.templateSettings;i&&_e(e,t,i)&&(t=r),e=K(e),t=ii({},t,o,df);var u=ii({},t.imports,o.imports,df),c=ce(u),h=ao(u,c),d,_,w=0,A=t.interpolate||_n,E="__p += '",O=co((t.escape||_n).source+"|"+A.source+"|"+(A===Bs?vp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),N="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xp+"]")+` +`;e.replace(O,function(B,G,k,Fe,xe,Le){return k||(k=Fe),E+=e.slice(w,Le).replace(Sp,gh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),xe&&(_=!0,E+=`'; +`+xe+`; +__p += '`),k&&(E+=`' + +((__t = (`+k+`)) == null ? '' : __t) + +'`),w=Le+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(_p.test(L))throw new M(p);E=(_?E.replace(tp,""):E).replace(rp,"$1").replace(np,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=sa(function(){return H(c,N+"return "+E).apply(r,h)});if(U.source=E,Xo(U))throw U;return U}function G_(e){return K(e).toLowerCase()}function z_(e){return K(e).toUpperCase()}function V_(e,t,i){if(e=K(e),e&&(i||t===r))return du(e);if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=Ye(t),c=gu(o,u),h=mu(o,u)+1;return Ft(o,c,h).join("")}function k_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,xu(e)+1);if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=mu(o,Ye(t))+1;return Ft(o,0,u).join("")}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Ji,"");if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=gu(o,Ye(t));return Ft(o,u).join("")}function K_(e,t){var i=Gt,o=qi;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ce(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Ye(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),Yo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=co(u.source,K(Ms.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ce(u),d)!=d){var O=_.lastIndexOf(u);O>-1&&(_=_.slice(0,O))}return _+o}function D_(e){return e=K(e),e&&ip.test(e)?e.replace(Fs,wh):e}var J_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),Qo=uf("toUpperCase");function oa(e,t,i){return e=K(e),t=i?r:t,t===r?_h(e)?Eh(e):fh(e):e.match(t)||[]}var sa=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Xo(i)?i:new M(i)}}),X_=dt(function(e,t){return $e(t,function(i){i=it(i),pt(e,i,Do(e[i],e))}),e});function Y_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=fo(o,t);++i0||t<0)?new z(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},z.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},z.prototype.toArray=function(){return this.take(tt)},rt(z.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof z,w=d[0],A=_||q(h),E=function(G){var k=u.apply(a,St([G],d));return o&&O?k[0]:k};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var O=this.__chain__,N=!!this.__actions__.length,L=c&&!O,U=_&&!N;if(!c&&A){h=U?h:new z(this);var B=e.apply(h,d);return B.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(B,O)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),$e(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(z.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[kn(r,Y).name]=[{name:"wrapper",func:r}],z.prototype.clone=Dh,z.prototype.reverse=Jh,z.prototype.value=Xh,a.prototype.at=Tm,a.prototype.chain=Em,a.prototype.commit=Sm,a.prototype.next=Om,a.prototype.plant=Im,a.prototype.reverse=Nm,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Cm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Rm),a},Rt=Sh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):Vt?((Vt.exports=Rt)._=Rt,eo._=Rt):le._=Rt}).call(Or)});var Kw={};Ux(Kw,{default:()=>kw,options:()=>zc,setup:()=>Vw,teardown:()=>Hw});module.exports=Wx(Kw);var Pw=ot(require("k6/encoding")),Fw=require("k6"),Lw=ot(require("k6/http"));var Gx=typeof global=="object"&&global&&global.Object===Object&&global,si=Gx;var zx=typeof self=="object"&&self&&self.Object===Object&&self,Vx=si||zx||Function("return this")(),He=Vx;var kx=He.Symbol,vt=kx;var la=Object.prototype,Hx=la.hasOwnProperty,Kx=la.toString,Zr=vt?vt.toStringTag:void 0;function Dx(r){var n=Hx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Kx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var ca=Dx;var Jx=Object.prototype,Xx=Jx.toString;function Yx(r){return Xx.call(r)}var pa=Yx;var Zx="[object Null]",jx="[object Undefined]",ha=vt?vt.toStringTag:void 0;function Qx(r){return r==null?r===void 0?jx:Zx:ha&&ha in Object(r)?ca(r):pa(r)}var st=Qx;function ev(r){return r!=null&&typeof r=="object"}var Ke=ev;var tv="[object Symbol]";function rv(r){return typeof r=="symbol"||Ke(r)&&st(r)==tv}var mr=rv;function nv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Cv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Ra=Lv;function Bv(r){return function(){return r}}var Ia=Bv;var Mv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Mv;var qv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Ia(n),writable:!0})}:ui,Na=qv;var $v=Ra(Na),Ca=$v;var Uv=9007199254740991,Wv=/^(?:0|[1-9]\d*)$/;function Gv(r,n){var s=typeof r;return n=n??Uv,!!n&&(s=="number"||s!="symbol"&&Wv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Yv}var li=Zv;function jv(r){return r!=null&&li(r.length)&&!_r(r)}var br=jv;function Qv(r,n,s){if(!Ee(s))return!1;var f=typeof n;return(f=="number"?br(s)&&ai(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var qa=Qv;function ey(r){return Ma(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&qa(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var fl=x1;function v1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var al=v1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&_i(x,{headers:{Authorization:n.header}}),Kl.default.request(f,Jl(r,l),p,_i(x,v))};var Xl=require("https://jslib.k6.io/url/1.0.0/index.js"),ps=class{#e;constructor(n){this.#e=new Xl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Jl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Zl=r=>new ps(new URL(r||"").search).object();var Cw=ot(As()),Fc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Ic(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Rc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Cc()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function vw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ts(r){var n=typeof Map=="function"?new Map:void 0;return Ts=function(f){if(f===null||!vw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Ts(r)}function yw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function bw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yw(r)}function ww(r){var n=Cc();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return bw(this,l)}}function Aw(r){return Tw(r)||Ew(r)||Pc(r)||Sw()}function Tw(r){if(Array.isArray(r))return Es(r)}function Ew(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Pc(r,n){if(r){if(typeof r=="string")return Es(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Es(r,n)}}function Es(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Oe=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Ss(r,n){return n=n.slice(),n.unshift(r),n}var Rw=function(r){xw(s,r);var n=ww(s);function s(f){var l;return Ic(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Nc(s)}(Ts(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Oe.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Rw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Oe.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Oe.call(r,"flatten")?r.flatten:x,this.currResultType=Oe.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Oe.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Oe.call(r,"wrap")?r.wrap:m,this.currPreventEval=Oe.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Oe.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Oe.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Oe.call(r,"parent")?r.parent:p,v=Oe.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,v,s).filter(function(C){return C&&!C.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(C,F){var V=l._getPreferredOutput(F);return x&&Array.isArray(V)?C=C.concat(V):C.push(V),C},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),C=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){C.push(cn)}):C.push(ne)}if((typeof S!="string"||x)&&n&&Oe.call(n,S))F(this._trace(I,n[S],Qt(s,S),n,S,p,v));else if(S==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(S==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(s,S),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))F(this._slice(S,I,n,s,f,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var V=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(V,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Ss(this._eval(S,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(S[0]==="@"){var Y=!1,Me=S.slice(1,-2);switch(Me){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Me&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Me&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Me)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Oe.call(n,S.slice(1))){var ye=S.slice(1);F(this._trace(I,n[ye],Qt(s,ye),n,ye,p,v,!0))}else if(S.includes(",")){var wt=S.split(","),ge=Ow(wt),ft;try{for(ge.s();!(ft=ge.n()).done;){var De=ft.value;F(this._trace(Ss(De,I),n,s,f,l,p,!0))}}catch(ne){ge.e(ne)}finally{ge.f()}}else!x&&n&&Oe.call(n,S)&&F(this._trace(I,n[S],Qt(s,S),n,S,p,v,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,Aw(v))}}]),r}();D.prototype.vm={Script:Nw};var Lc=(r=10,n)=>(0,Fc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Mc=require("k6/http");var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var bi=class{files;spaces;constructor(n){this.files=new vi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Si=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Oi=class{shares;constructor(n){this.shares=new Si(n)}};var Ri=class{v1;constructor(n){this.v1=new Oi(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ni=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ci=class{users;constructor(n){this.users=new Ni(n)}};var Pi=class{cloud;apps;constructor(n){this.cloud=new Ci(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Pi(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var qc=ot(require("k6/encoding")),Bi=require("k6"),Mi=ot(require("k6/http"));var er=require("k6"),Os=require("k6"),Sr=require("k6"),Bc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Bw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${qc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Mw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Mi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Lc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Bi.fail)(this.#i),n}getCode(r){let n=`${r}?${Yl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Mi.default.get(n,{redirects:0}),f=Ut(Zl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Bi.fail)(r),f}getToken(r){let n=Mi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Bi.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},qw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},$w=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Os.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Os.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},Uw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},an=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Bc.openIDConnect:l=new Mw(f,r);break;case Bc.basicAuth:l=new Bw(f);break}let p=Dl(r,l,{jar:new Mc.CookieJar}),v=new Li(p);this.resource=new qw(n,v),this.user=new Uw(n,v),this.share=new $w(v)}};var Ww=ot(require("k6/http"));var Gw=require("https://jslib.k6.io/url/1.0.0/index.js"),zw=ot(As()),$c=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Rs=(r=10,n)=>(0,$c.randomString)(r,n),Uc=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Gc=require("k6/crypto"),Is=ot(require("k6/execution")),Ns=ot(Wc()),ve={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},assets:{small:{size:parseInt(__ENV.ASSET_SMALL_SIZE)||10,quantity:parseInt(__ENV.ASSET_SMALL_QUANTITY)||1},medium:{size:parseInt(__ENV.ASSET_MEDIUM_SIZE)||10*10,quantity:parseInt(__ENV.ASSET_MEDIUM_QUANTITY)||1},large:{size:parseInt(__ENV.ASSET_LARGE_SIZE)||10*100,quantity:parseInt(__ENV.ASSET_LARGE_QUANTITY)||1}},k6:{vus:1,insecureSkipTLSVerify:!0}},zc=ve.k6;function Vw(){let r=ve.adminUser,n=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,r),s=(0,Ns.times)(zc.vus||1,()=>{let f={login:Rs(),password:Rs()};n.user.create(f),n.user.enable(f.login);let p=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,f).user.drives(),[v]=Uc("$.value[?(@.driveType === 'personal')].id",p?.json(),[f.login]);return{credential:f,home:v}});return{adminCredential:r,userInfos:s}}function kw({userInfos:r}){let n=[],{home:s,credential:f}=r[Is.default.vu.idInTest-1],l=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,f);for(let[p,v]of Object.entries(ve.assets))(0,Ns.times)(v.quantity,x=>{let m=[Is.default.scenario.iterationInTest,p,x].join("-");l.resource.upload(s,m,(0,Gc.randomBytes)(v.size*1e3)),n.push(()=>l.resource.delete(s,m))});n.forEach(p=>p())}function Hw({userInfos:r,adminCredential:n}){let s=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/koko-050-upload-download.js b/packages/k6-tests/artifacts/koko-050-upload-download.js new file mode 100644 index 0000000..41c8c6c --- /dev/null +++ b/packages/k6-tests/artifacts/koko-050-upload-download.js @@ -0,0 +1,51 @@ +"use strict";var Lx=Object.create;var oi=Object.defineProperty;var Bx=Object.getOwnPropertyDescriptor;var Mx=Object.getOwnPropertyNames;var qx=Object.getPrototypeOf,$x=Object.prototype.hasOwnProperty;var Be=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),Ux=(r,n)=>{for(var s in n)oi(r,s,{get:n[s],enumerable:!0})},aa=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Mx(n))!$x.call(r,l)&&l!==s&&oi(r,l,{get:()=>n[l],enumerable:!(f=Bx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Lx(qx(r)):{},aa(n||!r||!r.__esModule?oi(s,"default",{value:r,enumerable:!0}):s,r)),Wx=r=>aa(oi({},"__esModule",{value:!0}),r);var hs=Be(bt=>{"use strict";var jl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",hb=jl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+jl+"]["+hb+"]*",db=new RegExp("^"+Ql+"$"),gb=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ds=hs(),_b={allowBooleanAttributes:!1,unpairedTags:[]};ic.validate=function(r,n){n=Object.assign({},_b,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Eb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Se(r,p))}let T=yb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Se(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let C=nc(S,n);if(C===!0)f=!0;else return ue(C.err.code,C.err.msg,Se(r,I+C.err.line))}else if(x)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Se(r,v));{let I=s.pop();if(m!==I.tagName){let C=Se(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+C.line+", col "+C.col+") instead of closing tag '"+m+"'.",Se(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Se(r,p));else{let I=nc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Se(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Se(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function ec(r){return r===" "||r===" "||r===` +`||r==="\r"}function tc(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Se(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function rc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var xb='"',vb="'";function yb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var bb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function nc(r,n){let s=ds.getAllMatches(r,bb),f={};for(let l=0;l{var oc={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Sb=function(r){return Object.assign({},oc,r)};ms.buildOptions=Sb;ms.defaultOptions=oc});var fc=Be((vR,uc)=>{"use strict";var _s=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};uc.exports=_s});var lc=Be((yR,ac)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Rb(r,n){let s="";for(;n{var Lb=/^[-+]?0x[a-fA-F0-9]+$/,Bb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Mb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function qb(r,n={}){if(n=Object.assign({},Mb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Lb.test(s))return Number.parseInt(s,16);{let f=Bb.exec(s);if(f){let l=f[1],p=f[2],v=$b(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function $b(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}cc.exports=qb});var dc=Be((AR,hc)=>{"use strict";var bs=hs(),on=fc(),Ub=lc(),Wb=pc(),wR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,bs.nameRegexp),xs=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Gb,this.parseXml=Kb,this.parseTextData=zb,this.resolveNameSpace=Vb,this.buildAttributesMap=Hb,this.isItStopNode=Xb,this.replaceEntitiesValue=Db,this.readStopNodeData=Zb,this.saveTextToParentTag=Jb}};function Gb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Vb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var kb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Hb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=bs.getAllMatches(r,kb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=vs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=Ub(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=vs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,S=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let C=s;if(C&&this.options.unpairedTags.indexOf(C.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let V=new on(m);m!==T&&S&&(V[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),V.add(this.options.textNodeName,F),s.addChild(V)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Db=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Jb(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Xb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Yb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=vs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ys(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Wb(r,s)}else return bs.isExist(r)?r:""}hc.exports=xs});var _c=Be(mc=>{"use strict";function jb(r,n){return gc(r,n)}function gc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function Qb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:rw}=sc(),nw=dc(),{prettify:iw}=_c(),ow=gs(),ws=class{constructor(n){this.externalEntities={},this.options=rw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=ow.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new nw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:iw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};xc.exports=ws});var Tc=Be((SR,Ac)=>{var sw=` +`;function uw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=sw),bc(r,n,"",s)}function bc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let V=yc(x[":@"],n),Y=m==="?xml"?"":f,Me=x[m][0][n.textNodeName];Me=Me.length!==0?" "+Me:"",l+=Y+`<${m}${Me}${V}?>`,p=!0;continue}let S=f;S!==""&&(S+=n.indentBy);let I=yc(x[":@"],n),C=f+`<${m}${I}`,F=bc(x[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=C+">":l+=C+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=C+"/>":F&&F.endsWith(">")?l+=C+`>${F}${f}`:(l+=C+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function fw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var lw=Tc(),cw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},cw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=dw),this.processTextOrObjNode=pw,this.options.format?(this.indentate=hw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?lw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var gw=gs(),mw=vc(),_w=Sc();Oc.exports={XMLParser:mw,XMLValidator:gw,XMLBuilder:_w}});var Wc=Be((Or,ln)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,S=2,I=4,C=1,F=2,V=1,Y=2,Me=4,ye=8,wt=16,ge=32,ft=64,De=128,Re=256,At=512,Gt=30,qi="...",Rr=800,ne=16,cn=1,Vc=2,kc=3,zt=1/0,Tt=9007199254740991,Hc=17976931348623157e292,pn=0/0,tt=4294967295,Kc=tt-1,Dc=tt>>>1,Jc=[["ary",De],["bind",V],["bindKey",Y],["curry",ye],["curryRight",wt],["flip",At],["partial",ge],["partialRight",ft],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Xc="[object AsyncFunction]",Ir="[object Boolean]",Nr="[object Date]",Yc="[object DOMException]",dn="[object Error]",gn="[object Function]",Cs="[object GeneratorFunction]",Je="[object Map]",Cr="[object Number]",Zc="[object Null]",at="[object Object]",Ps="[object Promise]",jc="[object Proxy]",Pr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",Qc="[object Undefined]",Lr="[object WeakMap]",ep="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",$i="[object Float32Array]",Ui="[object Float64Array]",Wi="[object Int8Array]",Gi="[object Int16Array]",zi="[object Int32Array]",Vi="[object Uint8Array]",ki="[object Uint8ClampedArray]",Hi="[object Uint16Array]",Ki="[object Uint32Array]",tp=/\b__p \+= '';/g,rp=/\b(__p \+=) '' \+/g,np=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Fs=/&(?:amp|lt|gt|quot|#39);/g,Ls=/[&<>"']/g,ip=RegExp(Fs.source),op=RegExp(Ls.source),sp=/<%-([\s\S]+?)%>/g,up=/<%([\s\S]+?)%>/g,Bs=/<%=([\s\S]+?)%>/g,fp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/,lp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Di=/[\\^$.*+?()[\]{}|]/g,cp=RegExp(Di.source),Ji=/^\s+/,pp=/\s/,hp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,dp=/\{\n\/\* \[wrapped with (.+)\] \*/,gp=/,? & /,mp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_p=/[()=,{}\[\]\/\s]/,xp=/\\(\\)?/g,vp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ms=/\w*$/,yp=/^[-+]0x[0-9a-f]+$/i,bp=/^0b[01]+$/i,wp=/^\[object .+?Constructor\]$/,Ap=/^0o[0-7]+$/i,Tp=/^(?:0|[1-9]\d*)$/,Ep=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Sp=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Op="\\u0300-\\u036f",Rp="\\ufe20-\\ufe2f",Ip="\\u20d0-\\u20ff",qs=Op+Rp+Ip,$s="\\u2700-\\u27bf",Us="a-z\\xdf-\\xf6\\xf8-\\xff",Np="\\xac\\xb1\\xd7\\xf7",Cp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Pp="\\u2000-\\u206f",Fp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ws="A-Z\\xc0-\\xd6\\xd8-\\xde",Gs="\\ufe0e\\ufe0f",zs=Np+Cp+Pp+Fp,Xi="['\u2019]",Lp="["+xn+"]",Vs="["+zs+"]",vn="["+qs+"]",ks="\\d+",Bp="["+$s+"]",Hs="["+Us+"]",Ks="[^"+xn+zs+ks+$s+Us+Ws+"]",Yi="\\ud83c[\\udffb-\\udfff]",Mp="(?:"+vn+"|"+Yi+")",Ds="[^"+xn+"]",Zi="(?:\\ud83c[\\udde6-\\uddff]){2}",ji="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Ws+"]",Js="\\u200d",Xs="(?:"+Hs+"|"+Ks+")",qp="(?:"+nr+"|"+Ks+")",Ys="(?:"+Xi+"(?:d|ll|m|re|s|t|ve))?",Zs="(?:"+Xi+"(?:D|LL|M|RE|S|T|VE))?",js=Mp+"?",Qs="["+Gs+"]?",$p="(?:"+Js+"(?:"+[Ds,Zi,ji].join("|")+")"+Qs+js+")*",Up="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Wp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",eu=Qs+js+$p,Gp="(?:"+[Bp,Zi,ji].join("|")+")"+eu,zp="(?:"+[Ds+vn+"?",vn,Zi,ji,Lp].join("|")+")",Vp=RegExp(Xi,"g"),kp=RegExp(vn,"g"),Qi=RegExp(Yi+"(?="+Yi+")|"+zp+eu,"g"),Hp=RegExp([nr+"?"+Hs+"+"+Ys+"(?="+[Vs,nr,"$"].join("|")+")",qp+"+"+Zs+"(?="+[Vs,nr+Xs,"$"].join("|")+")",nr+"?"+Xs+"+"+Ys,nr+"+"+Zs,Wp,Up,ks,Gp].join("|"),"g"),Kp=RegExp("["+Js+xn+qs+Gs+"]"),Dp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xp=-1,j={};j[$i]=j[Ui]=j[Wi]=j[Gi]=j[zi]=j[Vi]=j[ki]=j[Hi]=j[Ki]=!0,j[tr]=j[hn]=j[Br]=j[Ir]=j[rr]=j[Nr]=j[dn]=j[gn]=j[Je]=j[Cr]=j[at]=j[Pr]=j[Xe]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[hn]=Z[Br]=Z[rr]=Z[Ir]=Z[Nr]=Z[$i]=Z[Ui]=Z[Wi]=Z[Gi]=Z[zi]=Z[Je]=Z[Cr]=Z[at]=Z[Pr]=Z[Xe]=Z[Fr]=Z[mn]=Z[Vi]=Z[ki]=Z[Hi]=Z[Ki]=!0,Z[dn]=Z[gn]=Z[Lr]=!1;var Yp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Zp={"&":"&","<":"<",">":">",'"':""","'":"'"},jp={"&":"&","<":"<",">":">",""":'"',"'":"'"},Qp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},eh=parseFloat,th=parseInt,tu=typeof global=="object"&&global&&global.Object===Object&&global,rh=typeof self=="object"&&self&&self.Object===Object&&self,le=tu||rh||Function("return this")(),eo=typeof Or=="object"&&Or&&!Or.nodeType&&Or,Vt=eo&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,ru=Vt&&Vt.exports===eo,to=ru&&tu.process,qe=function(){try{var g=Vt&&Vt.require&&Vt.require("util").types;return g||to&&to.binding&&to.binding("util")}catch{}}(),nu=qe&&qe.isArrayBuffer,iu=qe&&qe.isDate,ou=qe&&qe.isMap,su=qe&&qe.isRegExp,uu=qe&&qe.isSet,fu=qe&&qe.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function nh(g,b,y,R){for(var M=-1,H=g==null?0:g.length;++M-1}function ro(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function mu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ph(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var hh=so(Yp),dh=so(Zp);function gh(g){return"\\"+Qp[g]}function mh(g,b){return g==null?r:g[b]}function or(g){return Kp.test(g)}function _h(g){return Dp.test(g)}function xh(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function lo(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function _u(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,M=0,H=[];++y-1}function od(e,t){var i=this.__data__,o=qn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=td,lt.prototype.delete=rd,lt.prototype.get=nd,lt.prototype.has=id,lt.prototype.set=od;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,_=t&S,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=ag(e),!d)return be(e,h)}else{var E=de(e),O=E==gn||E==Cs;if(Lt(e))return Qu(e,d);if(E==at||E==tr||O&&!u){if(h=_||O?{}:vf(e),!d)return _?jd(e,bd(h,e)):Zd(e,Iu(h,e))}else{if(!Z[E])return u?e:{};h=lg(e,E,d)}}c||(c=new Ze);var N=c.get(e);if(N)return N;c.set(e,h),Jf(e)?e.forEach(function(B){h.add(Ge(B,t,i,B,e,c))}):Kf(e)&&e.forEach(function(B,G){h.set(G,Ge(B,t,i,G,e,c))});var L=w?_?qo:Mo:_?Ae:ce,U=A?r:L(e);return $e(U||e,function(B,G){U&&(G=B,B=e[G]),zr(h,G,Ge(B,t,i,G,e,c))}),h}function wd(e){var t=ce(e);return function(i){return Nu(i,e,t)}}function Nu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Cu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function Vr(e,t,i,o){var u=-1,c=yn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ne(i))),o?(c=ro,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Yf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):St(u,d):o||(u[u.length]=d)}return u}var xo=sf(),Lu=sf(!0);function rt(e,t){return e&&xo(e,t,ce)}function vo(e,t){return e&&Lu(e,t,ce)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Ed(e,t){return e!=null&&J.call(e,t)}function Sd(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&Nn.call(d,_,1),Nn.call(e,_,1);return e}function Hu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Nn.call(e,u,1):Io(e,u)}}return e}function So(e,t){return e+Fn(Eu()*(t-e+1))}function Wd(e,t,i,o){for(var u=-1,c=ae(Pn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Oo(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return ko(wf(e,t,Te),e+"")}function Gd(e){return Ru(gr(e))}function zd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Pe(h)&&(i?h<=t:h=s){var w=t?null:rg(e);if(w)return wn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:ze(e,t,i)}var ju=Fh||function(e){return le.clearTimeout(e)};function Qu(e,t){if(t)return e.slice();var i=e.length,o=yu?yu(i):new e.constructor(i);return e.copy(o),o}function Fo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Dd(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Jd(e){var t=new e.constructor(e.source,Ms.exec(e));return t.lastIndex=e.lastIndex,t}function Xd(e){return Gr?X(Gr.call(e)):{}}function ef(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function tf(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Pe(e),h=t!==r,d=t===null,_=t===t,w=Pe(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function rf(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&_e(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function af(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&k.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,N=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(hp,`{ +/* [wrapped with `+t+`] */ +`)}function pg(e){return q(e)||Zt(e)||!!(Au&&e&&e[Au])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Tp.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Lf(e,i)});function Bf(e){var t=a(e);return t.__chain__=!0,t}function Am(e,t){return t(e),e}function Zn(e,t){return t(e)}var Tm=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return _o(c,e)};return t>1||this.__actions__.length||!(o instanceof z)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Em(){return Bf(this)}function Sm(){return new We(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Xf(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Rm(){return this}function Im(e){for(var t,i=this;i instanceof Mn;){var o=Rf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Nm(){var e=this.__wrapped__;if(e instanceof z){var t=e;return this.__actions__.length&&(t=new z(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Ho],thisArg:r}),new We(t,this.__chain__)}return this.thru(Ho)}function Cm(){return Yu(this.__wrapped__,this.__actions__)}var Pm=Vn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Fm(e,t,i){var o=q(e)?au:Ad;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}function Lm(e,t){var i=q(e)?Et:Fu;return i(e,P(t,3))}var Bm=ff(If),Mm=ff(Nf);function qm(e,t){return pe(jn(e,t),1)}function $m(e,t){return pe(jn(e,t),zt)}function Um(e,t,i){return i=i===r?1:$(i),pe(jn(e,t),i)}function Mf(e,t){var i=q(e)?$e:Nt;return i(e,P(t,3))}function qf(e,t){var i=q(e)?ih:Pu;return i(e,P(t,3))}var Wm=Vn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Gm(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var zm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Nt(e,function(h){c[++o]=u?Ie(t,h,i):kr(h,t,i)}),c}),Vm=Vn(function(e,t,i){pt(e,i,t)});function jn(e,t){var i=q(e)?ee:Uu;return i(e,P(t,3))}function km(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),Vu(e,t,i))}var Hm=Vn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Km(e,t,i){var o=q(e)?no:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Nt)}function Dm(e,t,i){var o=q(e)?oh:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Pu)}function Jm(e,t){var i=q(e)?Et:Fu;return i(e,ti(P(t,3)))}function Xm(e){var t=q(e)?Ru:Gd;return t(e)}function Ym(e,t,i){(i?_e(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?xd:zd;return o(e,t)}function Zm(e){var t=q(e)?vd:kd;return t(e)}function jm(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=de(e);return t==Je||t==Xe?e.size:Ao(e).length}function Qm(e,t,i){var o=q(e)?io:Hd;return i&&_e(e,t,i)&&(t=r),o(e,P(t,3))}var e0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&_e(e,t[0],t[1])?t=[]:i>2&&_e(t[0],t[1],t[2])&&(t=[t[0]]),Vu(e,pe(t,1),[])}),Qn=Lh||function(){return le.Date.now()};function t0(e,t){if(typeof t!="function")throw new Ue(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function $f(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function Uf(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Do=W(function(e,t,i){var o=V;if(i.length){var u=Ot(i,hr(Do));o|=ge}return ht(e,o,t,i,u)}),Wf=W(function(e,t,i){var o=V|Y;if(i.length){var u=Ot(i,hr(Wf));o|=ge}return ht(t,o,e,i,u)});function Gf(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Gf.placeholder,o}function zf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=zf.placeholder,o}function Vf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new Ue(l);t=ke(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(ke(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function N(se){var Qe=o,xt=u;return o=u=r,w=se,h=e.apply(xt,Qe),h}function L(se){return w=se,d=Xr(G,t),A?N(se):h}function U(se){var Qe=se-_,xt=se-w,fa=t-Qe;return E?he(fa,c-xt):fa}function B(se){var Qe=se-_,xt=se-w;return _===r||Qe>=t||Qe<0||E&&xt>=c}function G(){var se=Qn();if(B(se))return k(se);d=Xr(G,U(se))}function k(se){return d=r,O&&o?N(se):(o=u=r,h)}function Fe(){d!==r&&ju(d),w=0,o=_=u=d=r}function xe(){return d===r?h:k(Qn())}function Le(){var se=Qn(),Qe=B(se);if(o=arguments,u=this,_=se,Qe){if(d===r)return L(_);if(E)return ju(d),d=Xr(G,t),N(_)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=xe,Le}var r0=W(function(e,t){return Cu(e,1,t)}),n0=W(function(e,t,i){return Cu(e,ke(t)||0,i)});function i0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function o0(e){return Uf(2,e)}var s0=Kd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ne(P())):ee(pe(t,1),Ne(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Mu(function(){return arguments}())?Mu:function(e){return ie(e)&&J.call(e,"callee")&&!wu.call(e,"callee")},q=y.isArray,b0=nu?Ne(nu):Id;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function w0(e){return e===!0||e===!1||ie(e)&&me(e)==Ir}var Lt=Mh||os,A0=iu?Ne(iu):Nd;function T0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function E0(e){if(e==null)return!0;if(we(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Ao(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function S0(e,t){return Hr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Hr(e,t,r,i):!!o}function Xo(e){if(!ie(e))return!1;var t=me(e);return t==dn||t==Yc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function R0(e){return typeof e=="number"&&Tu(e)}function mt(e){if(!te(e))return!1;var t=me(e);return t==gn||t==Cs||t==Xc||t==jc}function Hf(e){return typeof e=="number"&&e==$(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Kf=ou?Ne(ou):Pd;function I0(e,t){return e===t||wo(e,t,Uo(t))}function N0(e,t,i){return i=typeof i=="function"?i:r,wo(e,t,Uo(t),i)}function C0(e){return Df(e)&&e!=+e}function P0(e){if(gg(e))throw new M(f);return qu(e)}function F0(e){return e===null}function L0(e){return e==null}function Df(e){return typeof e=="number"||ie(e)&&me(e)==Cr}function Yr(e){if(!ie(e)||me(e)!=at)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Nh}var Yo=su?Ne(su):Fd;function B0(e){return Hf(e)&&e>=-Tt&&e<=Tt}var Jf=uu?Ne(uu):Ld;function ni(e){return typeof e=="string"||!q(e)&&ie(e)&&me(e)==Fr}function Pe(e){return typeof e=="symbol"||ie(e)&&me(e)==mn}var dr=fu?Ne(fu):Bd;function M0(e){return e===r}function q0(e){return ie(e)&&de(e)==Lr}function $0(e){return ie(e)&&me(e)==ep}var U0=Dn(To),W0=Dn(function(e,t){return e<=t});function Xf(e){if(!e)return[];if(we(e))return ni(e)?Ye(e):be(e);if(qr&&e[qr])return xh(e[qr]());var t=de(e),i=t==Je?lo:t==Xe?wn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=ke(e),e===zt||e===-zt){var t=e<0?-1:1;return t*Hc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Yf(e){return e?Dt($(e),0,tt):0}function ke(e){if(typeof e=="number")return e;if(Pe(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=du(e);var i=bp.test(e);return i||Ap.test(e)?th(e.slice(2),i?2:8):yp.test(e)?pn:+e}function Zf(e){return nt(e,Ae(e))}function G0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ce(e)}var z0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&zr(e,i,t[i])}),jf=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),V0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),k0=dt(_o);function H0(e,t){var i=lr(e);return t==null?i:Iu(i,t)}var K0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&_e(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,qo(e),i),o&&(i=Ge(i,T|S|I,ng));for(var u=t.length;u--;)Io(i,t[u]);return i});function l_(e,t){return ea(e,ti(P(t)))}var c_=dt(function(e,t){return e==null?{}:$d(e,t)});function ea(e,t){if(e==null)return{};var i=ee(qo(e),function(o){return[o]});return t=P(t),ku(e,i,function(o,u){return t(o,u[0])})}function p_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Eu();return he(e+u*(t-e+eh("1e-"+((u+"").length-1))),t)}return So(e,t)}var A_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?na(t):t)});function na(e){return Qo(K(e).toLowerCase())}function ia(e){return e=K(e),e&&e.replace(Ep,hh).replace(kp,"")}function T_(e,t,i){e=K(e),t=Ce(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function E_(e){return e=K(e),e&&op.test(e)?e.replace(Ls,dh):e}function S_(e){return e=K(e),e&&cp.test(e)?e.replace(Di,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),R_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),I_=uf("toLowerCase");function N_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Kn(Fn(u),i)+e+Kn(Pn(u),i)}function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Yo(t))&&(t=Ce(t),!t&&or(e))?Ft(Ye(e),0,i):e.split(t,i)):[]}var $_=pr(function(e,t,i){return e+(i?" ":"")+Qo(t)});function U_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ce(t),e.slice(i,i+t.length)==t}function W_(e,t,i){var o=a.templateSettings;i&&_e(e,t,i)&&(t=r),e=K(e),t=ii({},t,o,df);var u=ii({},t.imports,o.imports,df),c=ce(u),h=ao(u,c),d,_,w=0,A=t.interpolate||_n,E="__p += '",O=co((t.escape||_n).source+"|"+A.source+"|"+(A===Bs?vp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),N="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xp+"]")+` +`;e.replace(O,function(B,G,k,Fe,xe,Le){return k||(k=Fe),E+=e.slice(w,Le).replace(Sp,gh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),xe&&(_=!0,E+=`'; +`+xe+`; +__p += '`),k&&(E+=`' + +((__t = (`+k+`)) == null ? '' : __t) + +'`),w=Le+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(_p.test(L))throw new M(p);E=(_?E.replace(tp,""):E).replace(rp,"$1").replace(np,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=sa(function(){return H(c,N+"return "+E).apply(r,h)});if(U.source=E,Xo(U))throw U;return U}function G_(e){return K(e).toLowerCase()}function z_(e){return K(e).toUpperCase()}function V_(e,t,i){if(e=K(e),e&&(i||t===r))return du(e);if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=Ye(t),c=gu(o,u),h=mu(o,u)+1;return Ft(o,c,h).join("")}function k_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,xu(e)+1);if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=mu(o,Ye(t))+1;return Ft(o,0,u).join("")}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Ji,"");if(!e||!(t=Ce(t)))return e;var o=Ye(e),u=gu(o,Ye(t));return Ft(o,u).join("")}function K_(e,t){var i=Gt,o=qi;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ce(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Ye(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),Yo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=co(u.source,K(Ms.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ce(u),d)!=d){var O=_.lastIndexOf(u);O>-1&&(_=_.slice(0,O))}return _+o}function D_(e){return e=K(e),e&&ip.test(e)?e.replace(Fs,wh):e}var J_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),Qo=uf("toUpperCase");function oa(e,t,i){return e=K(e),t=i?r:t,t===r?_h(e)?Eh(e):fh(e):e.match(t)||[]}var sa=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Xo(i)?i:new M(i)}}),X_=dt(function(e,t){return $e(t,function(i){i=it(i),pt(e,i,Do(e[i],e))}),e});function Y_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=fo(o,t);++i0||t<0)?new z(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},z.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},z.prototype.toArray=function(){return this.take(tt)},rt(z.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof z,w=d[0],A=_||q(h),E=function(G){var k=u.apply(a,St([G],d));return o&&O?k[0]:k};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var O=this.__chain__,N=!!this.__actions__.length,L=c&&!O,U=_&&!N;if(!c&&A){h=U?h:new z(this);var B=e.apply(h,d);return B.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(B,O)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),$e(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(z.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[kn(r,Y).name]=[{name:"wrapper",func:r}],z.prototype.clone=Dh,z.prototype.reverse=Jh,z.prototype.value=Xh,a.prototype.at=Tm,a.prototype.chain=Em,a.prototype.commit=Sm,a.prototype.next=Om,a.prototype.plant=Im,a.prototype.reverse=Nm,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Cm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Rm),a},Rt=Sh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):Vt?((Vt.exports=Rt)._=Rt,eo._=Rt):le._=Rt}).call(Or)});var Kw={};Ux(Kw,{default:()=>kw,options:()=>zc,setup:()=>Vw,teardown:()=>Hw});module.exports=Wx(Kw);var Pw=ot(require("k6/encoding")),Fw=require("k6"),Lw=ot(require("k6/http"));var Gx=typeof global=="object"&&global&&global.Object===Object&&global,si=Gx;var zx=typeof self=="object"&&self&&self.Object===Object&&self,Vx=si||zx||Function("return this")(),He=Vx;var kx=He.Symbol,vt=kx;var la=Object.prototype,Hx=la.hasOwnProperty,Kx=la.toString,Zr=vt?vt.toStringTag:void 0;function Dx(r){var n=Hx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Kx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var ca=Dx;var Jx=Object.prototype,Xx=Jx.toString;function Yx(r){return Xx.call(r)}var pa=Yx;var Zx="[object Null]",jx="[object Undefined]",ha=vt?vt.toStringTag:void 0;function Qx(r){return r==null?r===void 0?jx:Zx:ha&&ha in Object(r)?ca(r):pa(r)}var st=Qx;function ev(r){return r!=null&&typeof r=="object"}var Ke=ev;var tv="[object Symbol]";function rv(r){return typeof r=="symbol"||Ke(r)&&st(r)==tv}var mr=rv;function nv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Cv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Ra=Lv;function Bv(r){return function(){return r}}var Ia=Bv;var Mv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Mv;var qv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Ia(n),writable:!0})}:ui,Na=qv;var $v=Ra(Na),Ca=$v;var Uv=9007199254740991,Wv=/^(?:0|[1-9]\d*)$/;function Gv(r,n){var s=typeof r;return n=n??Uv,!!n&&(s=="number"||s!="symbol"&&Wv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Yv}var li=Zv;function jv(r){return r!=null&&li(r.length)&&!_r(r)}var br=jv;function Qv(r,n,s){if(!Ee(s))return!1;var f=typeof n;return(f=="number"?br(s)&&ai(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var qa=Qv;function ey(r){return Ma(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&qa(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var fl=x1;function v1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var al=v1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&_i(x,{headers:{Authorization:n.header}}),Kl.default.request(f,Jl(r,l),p,_i(x,v))};var Xl=require("https://jslib.k6.io/url/1.0.0/index.js"),ps=class{#e;constructor(n){this.#e=new Xl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Jl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Zl=r=>new ps(new URL(r||"").search).object();var Cw=ot(As()),Fc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Ic(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Rc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Cc()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function vw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ts(r){var n=typeof Map=="function"?new Map:void 0;return Ts=function(f){if(f===null||!vw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Ts(r)}function yw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function bw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yw(r)}function ww(r){var n=Cc();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return bw(this,l)}}function Aw(r){return Tw(r)||Ew(r)||Pc(r)||Sw()}function Tw(r){if(Array.isArray(r))return Es(r)}function Ew(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Pc(r,n){if(r){if(typeof r=="string")return Es(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Es(r,n)}}function Es(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Oe=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Ss(r,n){return n=n.slice(),n.unshift(r),n}var Rw=function(r){xw(s,r);var n=ww(s);function s(f){var l;return Ic(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Nc(s)}(Ts(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Oe.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Rw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Oe.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Oe.call(r,"flatten")?r.flatten:x,this.currResultType=Oe.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Oe.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Oe.call(r,"wrap")?r.wrap:m,this.currPreventEval=Oe.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Oe.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Oe.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Oe.call(r,"parent")?r.parent:p,v=Oe.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,v,s).filter(function(C){return C&&!C.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(C,F){var V=l._getPreferredOutput(F);return x&&Array.isArray(V)?C=C.concat(V):C.push(V),C},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),C=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){C.push(cn)}):C.push(ne)}if((typeof S!="string"||x)&&n&&Oe.call(n,S))F(this._trace(I,n[S],Qt(s,S),n,S,p,v));else if(S==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(S==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(s,S),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))F(this._slice(S,I,n,s,f,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var V=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(V,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Ss(this._eval(S,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(S[0]==="@"){var Y=!1,Me=S.slice(1,-2);switch(Me){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Me&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Me&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Me)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Oe.call(n,S.slice(1))){var ye=S.slice(1);F(this._trace(I,n[ye],Qt(s,ye),n,ye,p,v,!0))}else if(S.includes(",")){var wt=S.split(","),ge=Ow(wt),ft;try{for(ge.s();!(ft=ge.n()).done;){var De=ft.value;F(this._trace(Ss(De,I),n,s,f,l,p,!0))}}catch(ne){ge.e(ne)}finally{ge.f()}}else!x&&n&&Oe.call(n,S)&&F(this._trace(I,n[S],Qt(s,S),n,S,p,v,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,Aw(v))}}]),r}();D.prototype.vm={Script:Nw};var Lc=(r=10,n)=>(0,Fc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Mc=require("k6/http");var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var bi=class{files;spaces;constructor(n){this.files=new vi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Si=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Oi=class{shares;constructor(n){this.shares=new Si(n)}};var Ri=class{v1;constructor(n){this.v1=new Oi(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ni=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ci=class{users;constructor(n){this.users=new Ni(n)}};var Pi=class{cloud;apps;constructor(n){this.cloud=new Ci(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Pi(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var qc=ot(require("k6/encoding")),Bi=require("k6"),Mi=ot(require("k6/http"));var er=require("k6"),Os=require("k6"),Sr=require("k6"),Bc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Bw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${qc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Mw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Mi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Lc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Bi.fail)(this.#i),n}getCode(r){let n=`${r}?${Yl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Mi.default.get(n,{redirects:0}),f=Ut(Zl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Bi.fail)(r),f}getToken(r){let n=Mi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Bi.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},qw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},$w=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Os.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Os.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},Uw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},an=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Bc.openIDConnect:l=new Mw(f,r);break;case Bc.basicAuth:l=new Bw(f);break}let p=Dl(r,l,{jar:new Mc.CookieJar}),v=new Li(p);this.resource=new qw(n,v),this.user=new Uw(n,v),this.share=new $w(v)}};var Ww=ot(require("k6/http"));var Gw=require("https://jslib.k6.io/url/1.0.0/index.js"),zw=ot(As()),$c=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Rs=(r=10,n)=>(0,$c.randomString)(r,n),Uc=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Gc=require("k6/crypto"),Is=ot(require("k6/execution")),Ns=ot(Wc()),ve={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},assets:{small:{size:parseInt(__ENV.ASSET_SMALL_SIZE)||10,quantity:parseInt(__ENV.ASSET_SMALL_QUANTITY)||1},medium:{size:parseInt(__ENV.ASSET_MEDIUM_SIZE)||10*20,quantity:parseInt(__ENV.ASSET_MEDIUM_QUANTITY)||1},large:{size:parseInt(__ENV.ASSET_LARGE_SIZE)||10*100,quantity:parseInt(__ENV.ASSET_LARGE_QUANTITY)||1}},k6:{vus:1,insecureSkipTLSVerify:!0}},zc=ve.k6;function Vw(){let r=ve.adminUser,n=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,r),s=(0,Ns.times)(zc.vus||1,()=>{let f={login:Rs(),password:Rs()};n.user.create(f),n.user.enable(f.login);let p=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,f).user.drives(),[v]=Uc("$.value[?(@.driveType === 'personal')].id",p?.json(),[f.login]);return{credential:f,home:v}});return{adminCredential:r,userInfos:s}}function kw({userInfos:r}){let n=[],{home:s,credential:f}=r[Is.default.vu.idInTest-1],l=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,f);for(let[p,v]of Object.entries(ve.assets))(0,Ns.times)(v.quantity,x=>{let m=[Is.default.scenario.iterationInTest,p,x].join("-");l.resource.upload(s,m,(0,Gc.randomBytes)(v.size*1e3)),n.push(()=>l.resource.download(s,m))});n.forEach(p=>p())}function Hw({userInfos:r,adminCredential:n}){let s=new an(ve.baseURL,ve.apiVersion,ve.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/koko-060-create-rename-folder.js b/packages/k6-tests/artifacts/koko-060-create-rename-folder.js new file mode 100644 index 0000000..fc0e8c1 --- /dev/null +++ b/packages/k6-tests/artifacts/koko-060-create-rename-folder.js @@ -0,0 +1,51 @@ +"use strict";var Fx=Object.create;var oi=Object.defineProperty;var Lx=Object.getOwnPropertyDescriptor;var Bx=Object.getOwnPropertyNames;var Mx=Object.getPrototypeOf,qx=Object.prototype.hasOwnProperty;var Be=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),$x=(r,n)=>{for(var s in n)oi(r,s,{get:n[s],enumerable:!0})},fa=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Bx(n))!qx.call(r,l)&&l!==s&&oi(r,l,{get:()=>n[l],enumerable:!(f=Lx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Fx(Mx(r)):{},fa(n||!r||!r.__esModule?oi(s,"default",{value:r,enumerable:!0}):s,r)),Ux=r=>fa(oi({},"__esModule",{value:!0}),r);var gs=Be(bt=>{"use strict";var Zl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",pb=Zl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",jl="["+Zl+"]["+pb+"]*",hb=new RegExp("^"+jl+"$"),db=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ms=gs(),mb={allowBooleanAttributes:!1,unpairedTags:[]};nc.validate=function(r,n){n=Object.assign({},mb,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Tb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Oe(r,p))}let T=vb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Oe(r,p));let O=T.value;if(p=T.index,O[O.length-1]==="/"){let I=p-O.length;O=O.substring(0,O.length-1);let N=rc(O,n);if(N===!0)f=!0;else return ue(N.err.code,N.err.msg,Oe(r,I+N.err.line))}else if(x)if(T.tagClosed){if(O.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Oe(r,v));{let I=s.pop();if(m!==I.tagName){let N=Oe(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+N.line+", col "+N.col+") instead of closing tag '"+m+"'.",Oe(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Oe(r,p));else{let I=rc(O,n);if(I!==!0)return ue(I.err.code,I.err.msg,Oe(r,p-O.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Oe(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function Ql(r){return r===" "||r===" "||r===` +`||r==="\r"}function ec(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Oe(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function tc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var _b='"',xb="'";function vb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var yb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function rc(r,n){let s=ms.getAllMatches(r,yb),f={};for(let l=0;l{var ic={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Eb=function(r){return Object.assign({},ic,r)};xs.buildOptions=Eb;xs.defaultOptions=ic});var uc=Be((xR,sc)=>{"use strict";var vs=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};sc.exports=vs});var ac=Be((vR,fc)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Sb(r,n){let s="";for(;n{var Fb=/^[-+]?0x[a-fA-F0-9]+$/,Lb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Bb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Mb(r,n={}){if(n=Object.assign({},Bb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Fb.test(s))return Number.parseInt(s,16);{let f=Lb.exec(s);if(f){let l=f[1],p=f[2],v=qb(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function qb(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}lc.exports=Mb});var hc=Be((wR,pc)=>{"use strict";var As=gs(),on=uc(),$b=ac(),Ub=cc(),bR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,As.nameRegexp),ys=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Wb,this.parseXml=Vb,this.parseTextData=Gb,this.resolveNameSpace=Hb,this.buildAttributesMap=zb,this.isItStopNode=Jb,this.replaceEntitiesValue=Kb,this.readStopNodeData=Yb,this.saveTextToParentTag=Db}};function Wb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Hb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var kb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function zb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=As.getAllMatches(r,kb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=bs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=$b(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=bs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,O=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let N=s;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let k=new on(m);m!==T&&O&&(k[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,O,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),k.add(this.options.textNodeName,F),s.addChild(k)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&O&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&O&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Kb=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Db(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Jb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Xb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=bs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ws(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Ub(r,s)}else return As.isExist(r)?r:""}pc.exports=ys});var mc=Be(gc=>{"use strict";function Zb(r,n){return dc(r,n)}function dc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function jb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:tw}=oc(),rw=hc(),{prettify:nw}=mc(),iw=_s(),Ts=class{constructor(n){this.externalEntities={},this.options=tw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=iw.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new rw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:nw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};_c.exports=Ts});var Ac=Be((ER,wc)=>{var ow=` +`;function sw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=ow),yc(r,n,"",s)}function yc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let k=vc(x[":@"],n),Y=m==="?xml"?"":f,Me=x[m][0][n.textNodeName];Me=Me.length!==0?" "+Me:"",l+=Y+`<${m}${Me}${k}?>`,p=!0;continue}let O=f;O!==""&&(O+=n.indentBy);let I=vc(x[":@"],n),N=f+`<${m}${I}`,F=yc(x[m],n,T,O);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=N+">":l+=N+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=N+"/>":F&&F.endsWith(">")?l+=N+`>${F}${f}`:(l+=N+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function uw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var aw=Ac(),lw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},lw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=hw),this.processTextOrObjNode=cw,this.options.format?(this.indentate=pw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?aw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var dw=_s(),gw=xc(),mw=Ec();Oc.exports={XMLParser:gw,XMLValidator:dw,XMLBuilder:mw}});var Uc=Be((Sr,ln)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,O=2,I=4,N=1,F=2,k=1,Y=2,Me=4,ye=8,wt=16,me=32,ft=64,De=128,Re=256,At=512,Gt=30,Ui="...",Rr=800,ne=16,cn=1,Hc=2,kc=3,Ht=1/0,Tt=9007199254740991,zc=17976931348623157e292,pn=0/0,tt=4294967295,Vc=tt-1,Kc=tt>>>1,Dc=[["ary",De],["bind",k],["bindKey",Y],["curry",ye],["curryRight",wt],["flip",At],["partial",me],["partialRight",ft],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Jc="[object AsyncFunction]",Ir="[object Boolean]",Cr="[object Date]",Xc="[object DOMException]",dn="[object Error]",gn="[object Function]",Cs="[object GeneratorFunction]",Je="[object Map]",Nr="[object Number]",Yc="[object Null]",at="[object Object]",Ns="[object Promise]",Zc="[object Proxy]",Pr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",jc="[object Undefined]",Lr="[object WeakMap]",Qc="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",Wi="[object Float32Array]",Gi="[object Float64Array]",Hi="[object Int8Array]",ki="[object Int16Array]",zi="[object Int32Array]",Vi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Di="[object Uint16Array]",Ji="[object Uint32Array]",ep=/\b__p \+= '';/g,tp=/\b(__p \+=) '' \+/g,rp=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ps=/&(?:amp|lt|gt|quot|#39);/g,Fs=/[&<>"']/g,np=RegExp(Ps.source),ip=RegExp(Fs.source),op=/<%-([\s\S]+?)%>/g,sp=/<%([\s\S]+?)%>/g,Ls=/<%=([\s\S]+?)%>/g,up=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,fp=/^\w*$/,ap=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xi=/[\\^$.*+?()[\]{}|]/g,lp=RegExp(Xi.source),Yi=/^\s+/,cp=/\s/,pp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,hp=/\{\n\/\* \[wrapped with (.+)\] \*/,dp=/,? & /,gp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,mp=/[()=,{}\[\]\/\s]/,_p=/\\(\\)?/g,xp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bs=/\w*$/,vp=/^[-+]0x[0-9a-f]+$/i,yp=/^0b[01]+$/i,bp=/^\[object .+?Constructor\]$/,wp=/^0o[0-7]+$/i,Ap=/^(?:0|[1-9]\d*)$/,Tp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Ep=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Op="\\u0300-\\u036f",Sp="\\ufe20-\\ufe2f",Rp="\\u20d0-\\u20ff",Ms=Op+Sp+Rp,qs="\\u2700-\\u27bf",$s="a-z\\xdf-\\xf6\\xf8-\\xff",Ip="\\xac\\xb1\\xd7\\xf7",Cp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Np="\\u2000-\\u206f",Pp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Us="A-Z\\xc0-\\xd6\\xd8-\\xde",Ws="\\ufe0e\\ufe0f",Gs=Ip+Cp+Np+Pp,Zi="['\u2019]",Fp="["+xn+"]",Hs="["+Gs+"]",vn="["+Ms+"]",ks="\\d+",Lp="["+qs+"]",zs="["+$s+"]",Vs="[^"+xn+Gs+ks+qs+$s+Us+"]",ji="\\ud83c[\\udffb-\\udfff]",Bp="(?:"+vn+"|"+ji+")",Ks="[^"+xn+"]",Qi="(?:\\ud83c[\\udde6-\\uddff]){2}",eo="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Us+"]",Ds="\\u200d",Js="(?:"+zs+"|"+Vs+")",Mp="(?:"+nr+"|"+Vs+")",Xs="(?:"+Zi+"(?:d|ll|m|re|s|t|ve))?",Ys="(?:"+Zi+"(?:D|LL|M|RE|S|T|VE))?",Zs=Bp+"?",js="["+Ws+"]?",qp="(?:"+Ds+"(?:"+[Ks,Qi,eo].join("|")+")"+js+Zs+")*",$p="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Up="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Qs=js+Zs+qp,Wp="(?:"+[Lp,Qi,eo].join("|")+")"+Qs,Gp="(?:"+[Ks+vn+"?",vn,Qi,eo,Fp].join("|")+")",Hp=RegExp(Zi,"g"),kp=RegExp(vn,"g"),to=RegExp(ji+"(?="+ji+")|"+Gp+Qs,"g"),zp=RegExp([nr+"?"+zs+"+"+Xs+"(?="+[Hs,nr,"$"].join("|")+")",Mp+"+"+Ys+"(?="+[Hs,nr+Js,"$"].join("|")+")",nr+"?"+Js+"+"+Xs,nr+"+"+Ys,Up,$p,ks,Wp].join("|"),"g"),Vp=RegExp("["+Ds+xn+Ms+Ws+"]"),Kp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Dp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Jp=-1,j={};j[Wi]=j[Gi]=j[Hi]=j[ki]=j[zi]=j[Vi]=j[Ki]=j[Di]=j[Ji]=!0,j[tr]=j[hn]=j[Br]=j[Ir]=j[rr]=j[Cr]=j[dn]=j[gn]=j[Je]=j[Nr]=j[at]=j[Pr]=j[Xe]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[hn]=Z[Br]=Z[rr]=Z[Ir]=Z[Cr]=Z[Wi]=Z[Gi]=Z[Hi]=Z[ki]=Z[zi]=Z[Je]=Z[Nr]=Z[at]=Z[Pr]=Z[Xe]=Z[Fr]=Z[mn]=Z[Vi]=Z[Ki]=Z[Di]=Z[Ji]=!0,Z[dn]=Z[gn]=Z[Lr]=!1;var Xp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Yp={"&":"&","<":"<",">":">",'"':""","'":"'"},Zp={"&":"&","<":"<",">":">",""":'"',"'":"'"},jp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Qp=parseFloat,eh=parseInt,eu=typeof global=="object"&&global&&global.Object===Object&&global,th=typeof self=="object"&&self&&self.Object===Object&&self,le=eu||th||Function("return this")(),ro=typeof Sr=="object"&&Sr&&!Sr.nodeType&&Sr,kt=ro&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,tu=kt&&kt.exports===ro,no=tu&&eu.process,qe=function(){try{var g=kt&&kt.require&&kt.require("util").types;return g||no&&no.binding&&no.binding("util")}catch{}}(),ru=qe&&qe.isArrayBuffer,nu=qe&&qe.isDate,iu=qe&&qe.isMap,ou=qe&&qe.isRegExp,su=qe&&qe.isSet,uu=qe&&qe.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function rh(g,b,y,R){for(var M=-1,V=g==null?0:g.length;++M-1}function io(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function gu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ch(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var ph=fo(Xp),hh=fo(Yp);function dh(g){return"\\"+jp[g]}function gh(g,b){return g==null?r:g[b]}function or(g){return Vp.test(g)}function mh(g){return Kp.test(g)}function _h(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function po(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function mu(g,b){return function(y){return g(b(y))}}function St(g,b){for(var y=-1,R=g.length,M=0,V=[];++y-1}function id(e,t){var i=this.__data__,o=qn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=ed,lt.prototype.delete=td,lt.prototype.get=rd,lt.prototype.has=nd,lt.prototype.set=id;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,_=t&O,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=fg(e),!d)return be(e,h)}else{var E=de(e),S=E==gn||E==Cs;if(Lt(e))return ju(e,d);if(E==at||E==tr||S&&!u){if(h=_||S?{}:xf(e),!d)return _?Zd(e,yd(h,e)):Yd(e,Ru(h,e))}else{if(!Z[E])return u?e:{};h=ag(e,E,d)}}c||(c=new Ze);var C=c.get(e);if(C)return C;c.set(e,h),Df(e)?e.forEach(function(B){h.add(Ge(B,t,i,B,e,c))}):Vf(e)&&e.forEach(function(B,G){h.set(G,Ge(B,t,i,G,e,c))});var L=w?_?Uo:$o:_?Ae:ce,U=A?r:L(e);return $e(U||e,function(B,G){U&&(G=B,B=e[G]),Hr(h,G,Ge(B,t,i,G,e,c))}),h}function bd(e){var t=ce(e);return function(i){return Iu(i,e,t)}}function Iu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Cu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function kr(e,t,i,o){var u=-1,c=yn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ce(i))),o?(c=io,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Xf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):Ot(u,d):o||(u[u.length]=d)}return u}var yo=of(),Fu=of(!0);function rt(e,t){return e&&yo(e,t,ce)}function bo(e,t){return e&&Fu(e,t,ce)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Td(e,t){return e!=null&&J.call(e,t)}function Ed(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,S=d[0];e:for(;++E-1;)d!==e&&Cn.call(d,_,1),Cn.call(e,_,1);return e}function zu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Cn.call(e,u,1):No(e,u)}}return e}function Ro(e,t){return e+Fn(Tu()*(t-e+1))}function Ud(e,t,i,o){for(var u=-1,c=ae(Pn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Io(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ko(bf(e,t,Te),e+"")}function Wd(e){return Su(gr(e))}function Gd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Pe(h)&&(i?h<=t:h=s){var w=t?null:tg(e);if(w)return wn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:He(e,t,i)}var Zu=Ph||function(e){return le.clearTimeout(e)};function ju(e,t){if(t)return e.slice();var i=e.length,o=vu?vu(i):new e.constructor(i);return e.copy(o),o}function Bo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Kd(e,t){var i=t?Bo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Dd(e){var t=new e.constructor(e.source,Bs.exec(e));return t.lastIndex=e.lastIndex,t}function Jd(e){return Gr?X(Gr.call(e)):{}}function Qu(e,t){var i=t?Bo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function ef(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Pe(e),h=t!==r,d=t===null,_=t===t,w=Pe(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function tf(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&xe(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function ff(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&z.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,S=!0,C=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(pp,`{ +/* [wrapped with `+t+`] */ +`)}function cg(e){return q(e)||Zt(e)||!!(wu&&e&&e[wu])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Ap.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Ff(e,i)});function Lf(e){var t=a(e);return t.__chain__=!0,t}function wm(e,t){return t(e),e}function Zn(e,t){return t(e)}var Am=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return vo(c,e)};return t>1||this.__actions__.length||!(o instanceof H)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Tm(){return Lf(this)}function Em(){return new We(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Jf(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Sm(){return this}function Rm(e){for(var t,i=this;i instanceof Mn;){var o=Sf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Im(){var e=this.__wrapped__;if(e instanceof H){var t=e;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Do],thisArg:r}),new We(t,this.__chain__)}return this.thru(Do)}function Cm(){return Xu(this.__wrapped__,this.__actions__)}var Nm=kn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Pm(e,t,i){var o=q(e)?fu:wd;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}function Fm(e,t){var i=q(e)?Et:Pu;return i(e,P(t,3))}var Lm=uf(Rf),Bm=uf(If);function Mm(e,t){return pe(jn(e,t),1)}function qm(e,t){return pe(jn(e,t),Ht)}function $m(e,t,i){return i=i===r?1:$(i),pe(jn(e,t),i)}function Bf(e,t){var i=q(e)?$e:Ct;return i(e,P(t,3))}function Mf(e,t){var i=q(e)?nh:Nu;return i(e,P(t,3))}var Um=kn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Wm(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var Gm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Ct(e,function(h){c[++o]=u?Ie(t,h,i):zr(h,t,i)}),c}),Hm=kn(function(e,t,i){pt(e,i,t)});function jn(e,t){var i=q(e)?ee:$u;return i(e,P(t,3))}function km(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),Hu(e,t,i))}var zm=kn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Vm(e,t,i){var o=q(e)?oo:pu,u=arguments.length<3;return o(e,P(t,4),i,u,Ct)}function Km(e,t,i){var o=q(e)?ih:pu,u=arguments.length<3;return o(e,P(t,4),i,u,Nu)}function Dm(e,t){var i=q(e)?Et:Pu;return i(e,ti(P(t,3)))}function Jm(e){var t=q(e)?Su:Wd;return t(e)}function Xm(e,t,i){(i?xe(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?_d:Gd;return o(e,t)}function Ym(e){var t=q(e)?xd:kd;return t(e)}function Zm(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=de(e);return t==Je||t==Xe?e.size:Eo(e).length}function jm(e,t,i){var o=q(e)?so:zd;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}var Qm=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&xe(e,t[0],t[1])?t=[]:i>2&&xe(t[0],t[1],t[2])&&(t=[t[0]]),Hu(e,pe(t,1),[])}),Qn=Fh||function(){return le.Date.now()};function e0(e,t){if(typeof t!="function")throw new Ue(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function qf(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function $f(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Xo=W(function(e,t,i){var o=k;if(i.length){var u=St(i,hr(Xo));o|=me}return ht(e,o,t,i,u)}),Uf=W(function(e,t,i){var o=k|Y;if(i.length){var u=St(i,hr(Uf));o|=me}return ht(t,o,e,i,u)});function Wf(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Wf.placeholder,o}function Gf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=Gf.placeholder,o}function Hf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,S=!0;if(typeof e!="function")throw new Ue(l);t=ze(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(ze(i.maxWait)||0,t):c,S="trailing"in i?!!i.trailing:S);function C(se){var Qe=o,xt=u;return o=u=r,w=se,h=e.apply(xt,Qe),h}function L(se){return w=se,d=Xr(G,t),A?C(se):h}function U(se){var Qe=se-_,xt=se-w,ua=t-Qe;return E?he(ua,c-xt):ua}function B(se){var Qe=se-_,xt=se-w;return _===r||Qe>=t||Qe<0||E&&xt>=c}function G(){var se=Qn();if(B(se))return z(se);d=Xr(G,U(se))}function z(se){return d=r,S&&o?C(se):(o=u=r,h)}function Fe(){d!==r&&Zu(d),w=0,o=_=u=d=r}function ve(){return d===r?h:z(Qn())}function Le(){var se=Qn(),Qe=B(se);if(o=arguments,u=this,_=se,Qe){if(d===r)return L(_);if(E)return Zu(d),d=Xr(G,t),C(_)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=ve,Le}var t0=W(function(e,t){return Cu(e,1,t)}),r0=W(function(e,t,i){return Cu(e,ze(t)||0,i)});function n0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function i0(e){return $f(2,e)}var o0=Vd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ce(P())):ee(pe(t,1),Ce(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Bu(function(){return arguments}())?Bu:function(e){return ie(e)&&J.call(e,"callee")&&!bu.call(e,"callee")},q=y.isArray,y0=ru?Ce(ru):Rd;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function b0(e){return e===!0||e===!1||ie(e)&&_e(e)==Ir}var Lt=Bh||us,w0=nu?Ce(nu):Id;function A0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function T0(e){if(e==null)return!0;if(we(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Eo(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function E0(e,t){return Vr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Vr(e,t,r,i):!!o}function Zo(e){if(!ie(e))return!1;var t=_e(e);return t==dn||t==Xc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function S0(e){return typeof e=="number"&&Au(e)}function mt(e){if(!te(e))return!1;var t=_e(e);return t==gn||t==Cs||t==Jc||t==Zc}function zf(e){return typeof e=="number"&&e==$(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Vf=iu?Ce(iu):Nd;function R0(e,t){return e===t||To(e,t,Go(t))}function I0(e,t,i){return i=typeof i=="function"?i:r,To(e,t,Go(t),i)}function C0(e){return Kf(e)&&e!=+e}function N0(e){if(dg(e))throw new M(f);return Mu(e)}function P0(e){return e===null}function F0(e){return e==null}function Kf(e){return typeof e=="number"||ie(e)&&_e(e)==Nr}function Yr(e){if(!ie(e)||_e(e)!=at)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Ih}var jo=ou?Ce(ou):Pd;function L0(e){return zf(e)&&e>=-Tt&&e<=Tt}var Df=su?Ce(su):Fd;function ni(e){return typeof e=="string"||!q(e)&&ie(e)&&_e(e)==Fr}function Pe(e){return typeof e=="symbol"||ie(e)&&_e(e)==mn}var dr=uu?Ce(uu):Ld;function B0(e){return e===r}function M0(e){return ie(e)&&de(e)==Lr}function q0(e){return ie(e)&&_e(e)==Qc}var $0=Dn(Oo),U0=Dn(function(e,t){return e<=t});function Jf(e){if(!e)return[];if(we(e))return ni(e)?Ye(e):be(e);if(qr&&e[qr])return _h(e[qr]());var t=de(e),i=t==Je?po:t==Xe?wn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=ze(e),e===Ht||e===-Ht){var t=e<0?-1:1;return t*zc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Xf(e){return e?Dt($(e),0,tt):0}function ze(e){if(typeof e=="number")return e;if(Pe(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=hu(e);var i=yp.test(e);return i||wp.test(e)?eh(e.slice(2),i?2:8):vp.test(e)?pn:+e}function Yf(e){return nt(e,Ae(e))}function W0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ne(e)}var G0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&Hr(e,i,t[i])}),Zf=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),H0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),k0=dt(vo);function z0(e,t){var i=lr(e);return t==null?i:Ru(i,t)}var V0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&xe(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,Uo(e),i),o&&(i=Ge(i,T|O|I,rg));for(var u=t.length;u--;)No(i,t[u]);return i});function a_(e,t){return Qf(e,ti(P(t)))}var l_=dt(function(e,t){return e==null?{}:qd(e,t)});function Qf(e,t){if(e==null)return{};var i=ee(Uo(e),function(o){return[o]});return t=P(t),ku(e,i,function(o,u){return t(o,u[0])})}function c_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Tu();return he(e+u*(t-e+Qp("1e-"+((u+"").length-1))),t)}return Ro(e,t)}var w_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?ra(t):t)});function ra(e){return ts(K(e).toLowerCase())}function na(e){return e=K(e),e&&e.replace(Tp,ph).replace(kp,"")}function A_(e,t,i){e=K(e),t=Ne(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function T_(e){return e=K(e),e&&ip.test(e)?e.replace(Fs,hh):e}function E_(e){return e=K(e),e&&lp.test(e)?e.replace(Xi,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),S_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),R_=sf("toLowerCase");function I_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Kn(Fn(u),i)+e+Kn(Pn(u),i)}function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!jo(t))&&(t=Ne(t),!t&&or(e))?Ft(Ye(e),0,i):e.split(t,i)):[]}var q_=pr(function(e,t,i){return e+(i?" ":"")+ts(t)});function $_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ne(t),e.slice(i,i+t.length)==t}function U_(e,t,i){var o=a.templateSettings;i&&xe(e,t,i)&&(t=r),e=K(e),t=ii({},t,o,hf);var u=ii({},t.imports,o.imports,hf),c=ce(u),h=co(u,c),d,_,w=0,A=t.interpolate||_n,E="__p += '",S=ho((t.escape||_n).source+"|"+A.source+"|"+(A===Ls?xp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Jp+"]")+` +`;e.replace(S,function(B,G,z,Fe,ve,Le){return z||(z=Fe),E+=e.slice(w,Le).replace(Ep,dh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),ve&&(_=!0,E+=`'; +`+ve+`; +__p += '`),z&&(E+=`' + +((__t = (`+z+`)) == null ? '' : __t) + +'`),w=Le+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(mp.test(L))throw new M(p);E=(_?E.replace(ep,""):E).replace(tp,"$1").replace(rp,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=oa(function(){return V(c,C+"return "+E).apply(r,h)});if(U.source=E,Zo(U))throw U;return U}function W_(e){return K(e).toLowerCase()}function G_(e){return K(e).toUpperCase()}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return hu(e);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=Ye(t),c=du(o,u),h=gu(o,u)+1;return Ft(o,c,h).join("")}function k_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,_u(e)+1);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=gu(o,Ye(t))+1;return Ft(o,0,u).join("")}function z_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Yi,"");if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=du(o,Ye(t));return Ft(o,u).join("")}function V_(e,t){var i=Gt,o=Ui;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ne(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Ye(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),jo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=ho(u.source,K(Bs.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ne(u),d)!=d){var S=_.lastIndexOf(u);S>-1&&(_=_.slice(0,S))}return _+o}function K_(e){return e=K(e),e&&np.test(e)?e.replace(Ps,bh):e}var D_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),ts=sf("toUpperCase");function ia(e,t,i){return e=K(e),t=i?r:t,t===r?mh(e)?Th(e):uh(e):e.match(t)||[]}var oa=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Zo(i)?i:new M(i)}}),J_=dt(function(e,t){return $e(t,function(i){i=it(i),pt(e,i,Xo(e[i],e))}),e});function X_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=lo(o,t);++i0||t<0)?new H(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},H.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},H.prototype.toArray=function(){return this.take(tt)},rt(H.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof H,w=d[0],A=_||q(h),E=function(G){var z=u.apply(a,Ot([G],d));return o&&S?z[0]:z};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var S=this.__chain__,C=!!this.__actions__.length,L=c&&!S,U=_&&!C;if(!c&&A){h=U?h:new H(this);var B=e.apply(h,d);return B.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(B,S)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),$e(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(H.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[zn(r,Y).name]=[{name:"wrapper",func:r}],H.prototype.clone=Kh,H.prototype.reverse=Dh,H.prototype.value=Jh,a.prototype.at=Am,a.prototype.chain=Tm,a.prototype.commit=Em,a.prototype.next=Om,a.prototype.plant=Rm,a.prototype.reverse=Im,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Cm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Sm),a},Rt=Eh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):kt?((kt.exports=Rt)._=Rt,ro._=Rt):le._=Rt}).call(Sr)});var Vw={};$x(Vw,{default:()=>kw,options:()=>Gc,setup:()=>Hw,teardown:()=>zw});module.exports=Ux(Vw);var Nw=ot(require("k6/encoding")),Pw=require("k6"),Fw=ot(require("k6/http"));var Wx=typeof global=="object"&&global&&global.Object===Object&&global,si=Wx;var Gx=typeof self=="object"&&self&&self.Object===Object&&self,Hx=si||Gx||Function("return this")(),Ve=Hx;var kx=Ve.Symbol,vt=kx;var aa=Object.prototype,zx=aa.hasOwnProperty,Vx=aa.toString,Zr=vt?vt.toStringTag:void 0;function Kx(r){var n=zx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Vx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var la=Kx;var Dx=Object.prototype,Jx=Dx.toString;function Xx(r){return Jx.call(r)}var ca=Xx;var Yx="[object Null]",Zx="[object Undefined]",pa=vt?vt.toStringTag:void 0;function jx(r){return r==null?r===void 0?Zx:Yx:pa&&pa in Object(r)?la(r):ca(r)}var st=jx;function Qx(r){return r!=null&&typeof r=="object"}var Ke=Qx;var ev="[object Symbol]";function tv(r){return typeof r=="symbol"||Ke(r)&&st(r)==ev}var mr=tv;function rv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Cv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Sa=Fv;function Lv(r){return function(){return r}}var Ra=Lv;var Bv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Bv;var Mv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Ra(n),writable:!0})}:ui,Ia=Mv;var qv=Sa(Ia),Ca=qv;var $v=9007199254740991,Uv=/^(?:0|[1-9]\d*)$/;function Wv(r,n){var s=typeof r;return n=n??$v,!!n&&(s=="number"||s!="symbol"&&Uv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Xv}var li=Yv;function Zv(r){return r!=null&&li(r.length)&&!_r(r)}var br=Zv;function jv(r,n,s){if(!Ee(s))return!1;var f=typeof n;return(f=="number"?br(s)&&ai(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var Ma=jv;function Qv(r){return Ba(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&Ma(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var ul=_1;function x1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var fl=x1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&_i(x,{headers:{Authorization:n.header}}),Vl.default.request(f,Dl(r,l),p,_i(x,v))};var Jl=require("https://jslib.k6.io/url/1.0.0/index.js"),ds=class{#e;constructor(n){this.#e=new Jl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Dl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Yl=r=>new ds(new URL(r||"").search).object();var Cw=ot(Es()),Pc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Rc(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Sc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Cc()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function xw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Os(r){var n=typeof Map=="function"?new Map:void 0;return Os=function(f){if(f===null||!xw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Os(r)}function vw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function yw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return vw(r)}function bw(r){var n=Cc();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return yw(this,l)}}function ww(r){return Aw(r)||Tw(r)||Nc(r)||Ew()}function Aw(r){if(Array.isArray(r))return Ss(r)}function Tw(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Nc(r,n){if(r){if(typeof r=="string")return Ss(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Ss(r,n)}}function Ss(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Se=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Rs(r,n){return n=n.slice(),n.unshift(r),n}var Sw=function(r){_w(s,r);var n=bw(s);function s(f){var l;return Rc(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Ic(s)}(Os(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Se.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Sw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Se.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Se.call(r,"flatten")?r.flatten:x,this.currResultType=Se.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Se.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Se.call(r,"wrap")?r.wrap:m,this.currPreventEval=Se.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Se.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Se.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Se.call(r,"parent")?r.parent:p,v=Se.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var O=D.toPathArray(r);O[0]==="$"&&O.length>1&&O.shift(),this._hasParentSelector=null;var I=this._trace(O,n,["$"],p,v,s).filter(function(N){return N&&!N.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(N,F){var k=l._getPreferredOutput(F);return x&&Array.isArray(k)?N=N.concat(k):N.push(k),N},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var O=r[0],I=r.slice(1),N=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){N.push(cn)}):N.push(ne)}if((typeof O!="string"||x)&&n&&Se.call(n,O))F(this._trace(I,n[O],Qt(s,O),n,O,p,v));else if(O==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(O==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(O==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(O==="~")return T={path:Qt(s,O),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(O==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(O))F(this._slice(O,I,n,s,f,l,p));else if(O.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var k=O.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(k,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(O[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Rs(this._eval(O,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(O[0]==="@"){var Y=!1,Me=O.slice(1,-2);switch(Me){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Me&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Me&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Me)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(O[0]==="`"&&n&&Se.call(n,O.slice(1))){var ye=O.slice(1);F(this._trace(I,n[ye],Qt(s,ye),n,ye,p,v,!0))}else if(O.includes(",")){var wt=O.split(","),me=Ow(wt),ft;try{for(me.s();!(ft=me.n()).done;){var De=ft.value;F(this._trace(Rs(De,I),n,s,f,l,p,!0))}}catch(ne){me.e(ne)}finally{me.f()}}else!x&&n&&Se.call(n,O)&&F(this._trace(I,n[O],Qt(s,O),n,O,p,v,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,ww(v))}}]),r}();D.prototype.vm={Script:Iw};var Fc=(r=10,n)=>(0,Pc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Bc=require("k6/http");var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var bi=class{files;spaces;constructor(n){this.files=new vi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Oi=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Si=class{shares;constructor(n){this.shares=new Oi(n)}};var Ri=class{v1;constructor(n){this.v1=new Si(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ci=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ni=class{users;constructor(n){this.users=new Ci(n)}};var Pi=class{cloud;apps;constructor(n){this.cloud=new Ni(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Pi(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var Mc=ot(require("k6/encoding")),Bi=require("k6"),Mi=ot(require("k6/http"));var er=require("k6"),Is=require("k6"),Or=require("k6"),Lc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Lw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${Mc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Bw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Mi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Fc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Bi.fail)(this.#i),n}getCode(r){let n=`${r}?${Xl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Mi.default.get(n,{redirects:0}),f=Ut(Yl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Bi.fail)(r),f}getToken(r){let n=Mi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Bi.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},Mw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},qw=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Is.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Is.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},$w=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Or.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Or.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Or.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Or.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Or.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},an=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Lc.openIDConnect:l=new Bw(f,r);break;case Lc.basicAuth:l=new Lw(f);break}let p=Kl(r,l,{jar:new Bc.CookieJar}),v=new Li(p);this.resource=new Mw(n,v),this.user=new $w(n,v),this.share=new qw(v)}};var Uw=ot(require("k6/http"));var Ww=require("https://jslib.k6.io/url/1.0.0/index.js"),Gw=ot(Es()),qc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var qi=(r=10,n)=>(0,qc.randomString)(r,n),$c=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Wc=ot(require("k6/execution")),$i=ot(Uc()),ge={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},folder:{rootCount:parseInt(__ENV.FOLDER_ROOT_COUNT)||5,childCount:parseInt(__ENV.FOLDER_CHILD_COUNT)||5},k6:{vus:1,insecureSkipTLSVerify:!0}},Gc=ge.k6;function Hw(){let r=ge.adminUser,n=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,r),s=(0,$i.times)(Gc.vus||1,()=>{let f={login:qi(),password:qi()};n.user.create(f),n.user.enable(f.login);let p=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,f).user.drives(),[v]=$c("$.value[?(@.driveType === 'personal')].id",p?.json(),[f.login]);return{credential:f,home:v}});return{adminCredential:r,userInfos:s}}function kw({userInfos:r}){let{home:n,credential:s}=r[Wc.default.vu.idInTest-1],f=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,s);(0,$i.times)(ge.folder.rootCount,()=>{(0,$i.times)(ge.folder.childCount,()=>qi()).reduce((p,v)=>{let x=[...p,v].join("/");return f.resource.create(n,x),p.push(`rename-${v}`),f.resource.move(n,x,p.join("/")),p},[])})}function zw({userInfos:r,adminCredential:n}){let s=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/oc-share-upload-rename.js b/packages/k6-tests/artifacts/oc-share-upload-rename.js new file mode 100644 index 0000000..6e51d92 --- /dev/null +++ b/packages/k6-tests/artifacts/oc-share-upload-rename.js @@ -0,0 +1,51 @@ +"use strict";var M_=Object.create;var oi=Object.defineProperty;var U_=Object.getOwnPropertyDescriptor;var W_=Object.getOwnPropertyNames;var G_=Object.getPrototypeOf,H_=Object.prototype.hasOwnProperty;var qe=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),k_=(r,n)=>{for(var o in n)oi(r,o,{get:n[o],enumerable:!0})},lf=(r,n,o,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of W_(n))!H_.call(r,l)&&l!==o&&oi(r,l,{get:()=>n[l],enumerable:!(a=U_(n,l))||a.enumerable});return r};var ot=(r,n,o)=>(o=r!=null?M_(G_(r)):{},lf(n||!r||!r.__esModule?oi(o,"default",{value:r,enumerable:!0}):o,r)),z_=r=>lf(oi({},"__esModule",{value:!0}),r);var gs=qe(bt=>{"use strict";var tc=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",vb=tc+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",rc="["+tc+"]["+vb+"]*",_b=new RegExp("^"+rc+"$"),xb=function(r,n){let o=[],a=n.exec(r);for(;a;){let l=[];l.startIndex=n.lastIndex-a[0].length;let p=a.length;for(let x=0;x"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,o){if(n){let a=Object.keys(n),l=a.length;for(let p=0;p{"use strict";var ms=gs(),bb={allowBooleanAttributes:!1,unpairedTags:[]};uc.validate=function(r,n){n=Object.assign({},bb,n);let o=[],a=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Ib(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Se(r,p))}let T=Tb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Se(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let P=sc(S,n);if(P===!0)a=!0;else return ue(P.err.code,P.err.msg,Se(r,I+P.err.line))}else if(_)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Se(r,x));{let I=o.pop();if(m!==I.tagName){let P=Se(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+P.line+", col "+P.col+") instead of closing tag '"+m+"'.",Se(r,x))}o.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Se(r,p));else{let I=sc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Se(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Se(r,p));n.unpairedTags.indexOf(m)!==-1||o.push({tagName:m,tagStartPos:x}),a=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(o.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function nc(r){return r===" "||r===" "||r===` +`||r==="\r"}function ic(r,n){let o=n;for(;n5&&a==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Se(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function oc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let o=1;for(n+=8;n"&&(o--,o===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var wb='"',Ab="'";function Tb(r,n){let o="",a="",l=!1;for(;n"&&a===""){l=!0;break}o+=r[n]}return a!==""?!1:{value:o,index:n,tagClosed:l}}var Eb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function sc(r,n){let o=ms.getAllMatches(r,Eb),a={};for(let l=0;l{var ac={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Cb=function(r){return Object.assign({},ac,r)};_s.buildOptions=Cb;_s.defaultOptions=ac});var cc=qe((TR,lc)=>{"use strict";var xs=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,o){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:o})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};lc.exports=xs});var hc=qe((ER,pc)=>{function Pb(r,n){let o={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let a=1,l=!1,p=!1,x="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,a--):a--,a===0)break}else r[n]==="["?l=!0:x+=r[n];if(a!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:o,i:n}}function Nb(r,n){let o="";for(;n{var Mb=/^[-+]?0x[a-fA-F0-9]+$/,Ub=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Wb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function Gb(r,n={}){if(n=Object.assign({},Wb,n),!r||typeof r!="string")return r;let o=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(o))return r;if(n.hex&&Mb.test(o))return Number.parseInt(o,16);{let a=Ub.exec(o);if(a){let l=a[1],p=a[2],x=Hb(a[3]),_=a[4]||a[6];if(!n.leadingZeros&&p.length>0&&l&&o[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&o[1]!==".")return r;{let m=Number(o),T=""+m;return T.search(/[eE]/)!==-1||_?n.eNotation?m:r:o.indexOf(".")!==-1?T==="0"&&x===""||T===x||l&&T==="-"+x?m:r:p?x===T||l+x===T?m:r:o===T||o===l+T?m:r}}else return r}}function Hb(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}dc.exports=Gb});var vc=qe((RR,mc)=>{"use strict";var As=gs(),on=cc(),kb=hc(),zb=gc(),OR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,As.nameRegexp),ys=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Vb,this.parseXml=jb,this.parseTextData=Kb,this.resolveNameSpace=Db,this.buildAttributesMap=Xb,this.isItStopNode=Qb,this.replaceEntitiesValue=Yb,this.readStopNodeData=tw,this.saveTextToParentTag=Zb}};function Vb(r){let n=Object.keys(r);for(let o=0;o0)){x||(r=this.replaceEntitiesValue(r));let _=this.options.tagValueProcessor(n,r,o,l,p);return _==null?r:typeof _!=typeof r||_!==r?_:this.options.trimValues?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Db(r){if(this.options.removeNSPrefix){let n=r.split(":"),o=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=o+n[1])}return r}var Jb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Xb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let o=As.getAllMatches(r,Jb),a=o.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,_).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),o&&(a=this.saveTextToParentTag(a,o,l)),l=l.substr(0,l.lastIndexOf(".")),o=this.tagsNodeStack.pop(),a="",p=_}else if(r[p+1]==="?"){let _=bs(r,p,!1,"?>");if(!_)throw new Error("Pi Tag is not closed.");if(a=this.saveTextToParentTag(a,o,l),!(this.options.ignoreDeclaration&&_.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(_.tagName);m.add(this.options.textNodeName,""),_.tagName!==_.tagExp&&_.attrExpPresent&&(m[":@"]=this.buildAttributesMap(_.tagExp,l)),o.addChild(m)}p=_.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let _=Zt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,_-2);a=this.saveTextToParentTag(a,o,l),o.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=_}else if(r.substr(p+1,2)==="!D"){let _=kb(r,p);this.docTypeEntities=_.entities,p=_.i}else if(r.substr(p+1,2)==="!["){let _=Zt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,_);if(a=this.saveTextToParentTag(a,o,l),this.options.cdataPropName)o.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,o.tagname,l,!0,!1,!0);T==null&&(T=""),o.add(this.options.textNodeName,T)}p=_+2}else{let _=bs(r,p,this.options.removeNSPrefix),m=_.tagName,T=_.tagExp,S=_.attrExpPresent,I=_.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),o&&a&&o.tagname!=="!xml"&&(a=this.saveTextToParentTag(a,o,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let P=o;if(P&&this.options.unpairedTags.indexOf(P.tagname)!==-1&&(o=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=_.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=_.closeIndex;else{let j=this.readStopNodeData(r,m,I+1);if(!j)throw new Error(`Unexpected end of ${m}`);p=j.i,F=j.tagContent}let k=new on(m);m!==T&&S&&(k[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),k.add(this.options.textNodeName,F),o.addChild(k)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),o.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(o),m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),o.addChild(F),o=F}a="",p=I}}else a+=r[p];return n.child},Yb=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let o=this.docTypeEntities[n];r=r.replace(o.regx,o.val)}for(let n in this.lastEntities){let o=this.lastEntities[n];r=r.replace(o.regex,o.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let o=this.htmlEntities[n];r=r.replace(o.regex,o.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Zb(r,n,o,a){return r&&(a===void 0&&(a=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,o,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,a),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Qb(r,n,o){let a="*."+o;for(let l in r){let p=r[l];if(a===p||n===p)return!0}return!1}function ew(r,n,o=">"){let a,l="";for(let p=n;p",o,`${n} is not closed`);if(r.substring(o+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(a,o),i:p};o=p}else if(r[o+1]==="?")o=Zt(r,"?>",o+1,"StopNode is not closed.");else if(r.substr(o+1,3)==="!--")o=Zt(r,"-->",o+3,"StopNode is not closed.");else if(r.substr(o+1,2)==="![")o=Zt(r,"]]>",o,"StopNode is not closed.")-2;else{let p=bs(r,o,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,o=p.closeIndex)}}function ws(r,n,o){if(n&&typeof r=="string"){let a=r.trim();return a==="true"?!0:a==="false"?!1:zb(r,o)}else return As.isExist(r)?r:""}mc.exports=ys});var yc=qe(xc=>{"use strict";function rw(r,n){return _c(r,n)}function _c(r,n,o){let a,l={};for(let p=0;p0&&(l[n.textNodeName]=a):a!==void 0&&(l[n.textNodeName]=a),l}function nw(r){let n=Object.keys(r);for(let o=0;o{var{buildOptions:sw}=fc(),uw=vc(),{prettify:aw}=yc(),fw=vs(),Ts=class{constructor(n){this.externalEntities={},this.options=sw(n)}parse(n,o){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(o){o===!0&&(o={});let p=fw.validate(n,o);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let a=new uw(this.options);a.addExternalEntities(this.externalEntities);let l=a.parseXml(n);return this.options.preserveOrder||l===void 0?l:aw(l,this.options)}addEntity(n,o){if(o.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(o==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=o}};bc.exports=Ts});var Oc=qe((PR,Sc)=>{var lw=` +`;function cw(r,n){let o="";return n.format&&n.indentBy.length>0&&(o=lw),Tc(r,n,"",o)}function Tc(r,n,o,a){let l="",p=!1;for(let x=0;x`,p=!1;continue}else if(m===n.commentPropName){l+=a+``,p=!0;continue}else if(m[0]==="?"){let k=Ac(_[":@"],n),j=m==="?xml"?"":a,$e=_[m][0][n.textNodeName];$e=$e.length!==0?" "+$e:"",l+=j+`<${m}${$e}${k}?>`,p=!0;continue}let S=a;S!==""&&(S+=n.indentBy);let I=Ac(_[":@"],n),P=a+`<${m}${I}`,F=Tc(_[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=P+">":l+=P+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=P+"/>":F&&F.endsWith(">")?l+=P+`>${F}${a}`:(l+=P+">",F&&a!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function pw(r){let n=Object.keys(r);for(let o=0;o0&&n.processEntities)for(let o=0;o{"use strict";var dw=Oc(),gw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},gw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=_w),this.processTextOrObjNode=mw,this.options.format?(this.indentate=vw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?dw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let o="",a="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?a+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:a+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)a+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)o+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let x=this.options.tagValueProcessor(l,""+r[l]);a+=this.replaceEntitiesValue(x)}else a+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let x=0;x"u"||(_===null?l[0]==="?"?a+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:a+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof _=="object"?a+=this.processTextOrObjNode(_,l,n):a+=this.buildTextValNode(_,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),x=p.length;for(let _=0;_"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(a)+``+this.newLine:this.indentate(a)+"<"+n+o+p+this.tagEndChar+r+this.indentate(a)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(a)+``+this.newLine;if(n[0]==="?")return this.indentate(a)+"<"+n+o+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(a)+"<"+n+o+this.closeTag(n)+this.tagEndChar:this.indentate(a)+"<"+n+o+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var xw=vs(),yw=wc(),bw=Ic();Cc.exports={XMLParser:yw,XMLValidator:xw,XMLBuilder:bw}});var zc=qe((Or,ln)=>{(function(){var r,n="4.17.21",o=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",_=500,m="__lodash_placeholder__",T=1,S=2,I=4,P=1,F=2,k=1,j=2,$e=4,ye=8,wt=16,me=32,at=64,De=128,Re=256,At=512,Gt=30,Ui="...",Rr=800,ne=16,cn=1,Dc=2,Jc=3,Ht=1/0,Tt=9007199254740991,Xc=17976931348623157e292,pn=0/0,tt=4294967295,jc=tt-1,Yc=tt>>>1,Zc=[["ary",De],["bind",k],["bindKey",j],["curry",ye],["curryRight",wt],["flip",At],["partial",me],["partialRight",at],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Qc="[object AsyncFunction]",Ir="[object Boolean]",Cr="[object Date]",ep="[object DOMException]",dn="[object Error]",gn="[object Function]",Ns="[object GeneratorFunction]",Je="[object Map]",Pr="[object Number]",tp="[object Null]",ft="[object Object]",Fs="[object Promise]",rp="[object Proxy]",Nr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",np="[object Undefined]",Lr="[object WeakMap]",ip="[object WeakSet]",qr="[object ArrayBuffer]",rr="[object DataView]",Wi="[object Float32Array]",Gi="[object Float64Array]",Hi="[object Int8Array]",ki="[object Int16Array]",zi="[object Int32Array]",Vi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Di="[object Uint16Array]",Ji="[object Uint32Array]",op=/\b__p \+= '';/g,sp=/\b(__p \+=) '' \+/g,up=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ls=/&(?:amp|lt|gt|quot|#39);/g,qs=/[&<>"']/g,ap=RegExp(Ls.source),fp=RegExp(qs.source),lp=/<%-([\s\S]+?)%>/g,cp=/<%([\s\S]+?)%>/g,$s=/<%=([\s\S]+?)%>/g,pp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hp=/^\w*$/,dp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xi=/[\\^$.*+?()[\]{}|]/g,gp=RegExp(Xi.source),ji=/^\s+/,mp=/\s/,vp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,_p=/\{\n\/\* \[wrapped with (.+)\] \*/,xp=/,? & /,yp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,bp=/[()=,{}\[\]\/\s]/,wp=/\\(\\)?/g,Ap=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bs=/\w*$/,Tp=/^[-+]0x[0-9a-f]+$/i,Ep=/^0b[01]+$/i,Sp=/^\[object .+?Constructor\]$/,Op=/^0o[0-7]+$/i,Rp=/^(?:0|[1-9]\d*)$/,Ip=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,vn=/($^)/,Cp=/['\n\r\u2028\u2029\\]/g,_n="\\ud800-\\udfff",Pp="\\u0300-\\u036f",Np="\\ufe20-\\ufe2f",Fp="\\u20d0-\\u20ff",Ms=Pp+Np+Fp,Us="\\u2700-\\u27bf",Ws="a-z\\xdf-\\xf6\\xf8-\\xff",Lp="\\xac\\xb1\\xd7\\xf7",qp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",$p="\\u2000-\\u206f",Bp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Gs="A-Z\\xc0-\\xd6\\xd8-\\xde",Hs="\\ufe0e\\ufe0f",ks=Lp+qp+$p+Bp,Yi="['\u2019]",Mp="["+_n+"]",zs="["+ks+"]",xn="["+Ms+"]",Vs="\\d+",Up="["+Us+"]",Ks="["+Ws+"]",Ds="[^"+_n+ks+Vs+Us+Ws+Gs+"]",Zi="\\ud83c[\\udffb-\\udfff]",Wp="(?:"+xn+"|"+Zi+")",Js="[^"+_n+"]",Qi="(?:\\ud83c[\\udde6-\\uddff]){2}",eo="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Gs+"]",Xs="\\u200d",js="(?:"+Ks+"|"+Ds+")",Gp="(?:"+nr+"|"+Ds+")",Ys="(?:"+Yi+"(?:d|ll|m|re|s|t|ve))?",Zs="(?:"+Yi+"(?:D|LL|M|RE|S|T|VE))?",Qs=Wp+"?",eu="["+Hs+"]?",Hp="(?:"+Xs+"(?:"+[Js,Qi,eo].join("|")+")"+eu+Qs+")*",kp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",zp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",tu=eu+Qs+Hp,Vp="(?:"+[Up,Qi,eo].join("|")+")"+tu,Kp="(?:"+[Js+xn+"?",xn,Qi,eo,Mp].join("|")+")",Dp=RegExp(Yi,"g"),Jp=RegExp(xn,"g"),to=RegExp(Zi+"(?="+Zi+")|"+Kp+tu,"g"),Xp=RegExp([nr+"?"+Ks+"+"+Ys+"(?="+[zs,nr,"$"].join("|")+")",Gp+"+"+Zs+"(?="+[zs,nr+js,"$"].join("|")+")",nr+"?"+js+"+"+Ys,nr+"+"+Zs,zp,kp,Vs,Vp].join("|"),"g"),jp=RegExp("["+Xs+_n+Ms+Hs+"]"),Yp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Zp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Qp=-1,Z={};Z[Wi]=Z[Gi]=Z[Hi]=Z[ki]=Z[zi]=Z[Vi]=Z[Ki]=Z[Di]=Z[Ji]=!0,Z[tr]=Z[hn]=Z[qr]=Z[Ir]=Z[rr]=Z[Cr]=Z[dn]=Z[gn]=Z[Je]=Z[Pr]=Z[ft]=Z[Nr]=Z[Xe]=Z[Fr]=Z[Lr]=!1;var Y={};Y[tr]=Y[hn]=Y[qr]=Y[rr]=Y[Ir]=Y[Cr]=Y[Wi]=Y[Gi]=Y[Hi]=Y[ki]=Y[zi]=Y[Je]=Y[Pr]=Y[ft]=Y[Nr]=Y[Xe]=Y[Fr]=Y[mn]=Y[Vi]=Y[Ki]=Y[Di]=Y[Ji]=!0,Y[dn]=Y[gn]=Y[Lr]=!1;var eh={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},th={"&":"&","<":"<",">":">",'"':""","'":"'"},rh={"&":"&","<":"<",">":">",""":'"',"'":"'"},nh={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ih=parseFloat,oh=parseInt,ru=typeof global=="object"&&global&&global.Object===Object&&global,sh=typeof self=="object"&&self&&self.Object===Object&&self,ce=ru||sh||Function("return this")(),ro=typeof Or=="object"&&Or&&!Or.nodeType&&Or,kt=ro&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,nu=kt&&kt.exports===ro,no=nu&&ru.process,Be=function(){try{var g=kt&&kt.require&&kt.require("util").types;return g||no&&no.binding&&no.binding("util")}catch{}}(),iu=Be&&Be.isArrayBuffer,ou=Be&&Be.isDate,su=Be&&Be.isMap,uu=Be&&Be.isRegExp,au=Be&&Be.isSet,fu=Be&&Be.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function uh(g,b,y,R){for(var $=-1,V=g==null?0:g.length;++$-1}function io(g,b,y){for(var R=-1,$=g==null?0:g.length;++R<$;)if(y(b,g[R]))return!0;return!1}function ee(g,b){for(var y=-1,R=g==null?0:g.length,$=Array(R);++y-1;);return y}function vu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function mh(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var vh=ao(eh),_h=ao(th);function xh(g){return"\\"+nh[g]}function yh(g,b){return g==null?r:g[b]}function or(g){return jp.test(g)}function bh(g){return Yp.test(g)}function wh(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function po(g){var b=-1,y=Array(g.size);return g.forEach(function(R,$){y[++b]=[$,R]}),y}function _u(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,$=0,V=[];++y-1}function fd(e,t){var i=this.__data__,s=Bn(i,e);return s<0?(++this.size,i.push([e,t])):i[s][1]=t,this}lt.prototype.clear=od,lt.prototype.delete=sd,lt.prototype.get=ud,lt.prototype.has=ad,lt.prototype.set=fd;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,s,u,c){var h,d=t&T,v=t&S,w=t&I;if(i&&(h=u?i(e,s,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=B(e);if(A){if(h=hg(e),!d)return be(e,h)}else{var E=ge(e),O=E==gn||E==Ns;if(Lt(e))return ea(e,d);if(E==ft||E==tr||O&&!u){if(h=v||O?{}:xa(e),!d)return v?rg(e,Ed(h,e)):tg(e,Cu(h,e))}else{if(!Y[E])return u?e:{};h=dg(e,E,d)}}c||(c=new Ye);var C=c.get(e);if(C)return C;c.set(e,h),Ja(e)?e.forEach(function(q){h.add(Ge(q,t,i,q,e,c))}):Ka(e)&&e.forEach(function(q,G){h.set(G,Ge(q,t,i,G,e,c))});var L=w?v?Uo:Mo:v?Ae:pe,U=A?r:L(e);return Me(U||e,function(q,G){U&&(G=q,q=e[G]),Hr(h,G,Ge(q,t,i,G,e,c))}),h}function Sd(e){var t=pe(e);return function(i){return Pu(i,e,t)}}function Pu(e,t,i){var s=i.length;if(e==null)return!s;for(e=X(e);s--;){var u=i[s],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Nu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function kr(e,t,i,s){var u=-1,c=yn,h=!0,d=e.length,v=[],w=t.length;if(!d)return v;i&&(t=ee(t,Ce(i))),s?(c=io,h=!1):t.length>=o&&(c=$r,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),s=s===r||s>u?u:M(s),s<0&&(s+=u),s=i>s?0:ja(s);i0&&i(d)?t>1?he(d,t-1,i,s,u):St(u,d):s||(u[u.length]=d)}return u}var yo=sa(),qu=sa(!0);function rt(e,t){return e&&yo(e,t,pe)}function bo(e,t){return e&&qu(e,t,pe)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Nt(t,e);for(var i=0,s=t.length;e!=null&&it}function Id(e,t){return e!=null&&J.call(e,t)}function Cd(e,t){return e!=null&&t in X(e)}function Pd(e,t,i){return e>=de(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&Cn.call(d,v,1),Cn.call(e,v,1);return e}function Ku(e,t){for(var i=e?t.length:0,s=i-1;i--;){var u=t[i];if(i==s||u!==c){var c=u;gt(u)?Cn.call(e,u,1):Po(e,u)}}return e}function Ro(e,t){return e+Fn(Su()*(t-e+1))}function zd(e,t,i,s){for(var u=-1,c=fe(Nn((t-e)/(i||1)),0),h=y(c);c--;)h[s?c:++u]=e,e+=i;return h}function Io(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ko(wa(e,t,Te),e+"")}function Vd(e){return Iu(gr(e))}function Kd(e,t){var i=gr(e);return jn(i,Dt(t,0,i.length))}function Kr(e,t,i,s){if(!te(e))return e;t=Nt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++s>>1,h=e[c];h!==null&&!Ne(h)&&(i?h<=t:h=o){var w=t?null:sg(e);if(w)return wn(w);h=!1,u=$r,v=new Kt}else v=t?[]:d;e:for(;++s=s?e:He(e,t,i)}var Qu=Bh||function(e){return ce.clearTimeout(e)};function ea(e,t){if(t)return e.slice();var i=e.length,s=bu?bu(i):new e.constructor(i);return e.copy(s),s}function qo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Yd(e,t){var i=t?qo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Zd(e){var t=new e.constructor(e.source,Bs.exec(e));return t.lastIndex=e.lastIndex,t}function Qd(e){return Gr?X(Gr.call(e)):{}}function ta(e,t){var i=t?qo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function ra(e,t){if(e!==t){var i=e!==r,s=e===null,u=e===e,c=Ne(e),h=t!==r,d=t===null,v=t===t,w=Ne(t);if(!d&&!w&&!c&&e>t||c&&h&&v&&!d&&!w||s&&h&&v||!i&&v||!u)return 1;if(!s&&!c&&!w&&e=d)return v;var w=i[s];return v*(w=="desc"?-1:1)}}return e.index-t.index}function na(e,t,i,s){for(var u=-1,c=e.length,h=i.length,d=-1,v=t.length,w=fe(c-h,0),A=y(v+w),E=!s;++d1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&_e(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++s-1?u[c?t[h]:h]:r}}function fa(e){return dt(function(t){var i=t.length,s=i,u=We.prototype.thru;for(e&&t.reverse();s--;){var c=t[s];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(s=h?s:i;++s1&&z.reverse(),A&&vd))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,C=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[s],t=t.join(i>2?", ":" "),e.replace(vp,`{ +/* [wrapped with `+t+`] */ +`)}function mg(e){return B(e)||Yt(e)||!!(Tu&&e&&e[Tu])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Rp.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function jn(e,t){var i=-1,s=e.length,u=s-1;for(t=t===r?s:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,La(e,i)});function qa(e){var t=f(e);return t.__chain__=!0,t}function Om(e,t){return t(e),e}function Yn(e,t){return t(e)}var Rm=dt(function(e){var t=e.length,i=t?e[0]:0,s=this.__wrapped__,u=function(c){return xo(c,e)};return t>1||this.__actions__.length||!(s instanceof H)||!gt(i)?this.thru(u):(s=s.slice(i,+i+(t?1:0)),s.__actions__.push({func:Yn,args:[u],thisArg:r}),new We(s,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Im(){return qa(this)}function Cm(){return new We(this.value(),this.__chain__)}function Pm(){this.__values__===r&&(this.__values__=Xa(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Nm(){return this}function Fm(e){for(var t,i=this;i instanceof $n;){var s=Ra(i);s.__index__=0,s.__values__=r,t?u.__wrapped__=s:t=s;var u=s;i=i.__wrapped__}return u.__wrapped__=e,t}function Lm(){var e=this.__wrapped__;if(e instanceof H){var t=e;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:Yn,args:[Do],thisArg:r}),new We(t,this.__chain__)}return this.thru(Do)}function qm(){return Yu(this.__wrapped__,this.__actions__)}var $m=kn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Bm(e,t,i){var s=B(e)?lu:Od;return i&&_e(e,t,i)&&(t=r),s(e,N(t,3))}function Mm(e,t){var i=B(e)?Et:Lu;return i(e,N(t,3))}var Um=aa(Ia),Wm=aa(Ca);function Gm(e,t){return he(Zn(e,t),1)}function Hm(e,t){return he(Zn(e,t),Ht)}function km(e,t,i){return i=i===r?1:M(i),he(Zn(e,t),i)}function $a(e,t){var i=B(e)?Me:Ct;return i(e,N(t,3))}function Ba(e,t){var i=B(e)?ah:Fu;return i(e,N(t,3))}var zm=kn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Vm(e,t,i,s){e=we(e)?e:gr(e),i=i&&!s?M(i):0;var u=e.length;return i<0&&(i=fe(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var Km=W(function(e,t,i){var s=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Ct(e,function(h){c[++s]=u?Ie(t,h,i):zr(h,t,i)}),c}),Dm=kn(function(e,t,i){pt(e,i,t)});function Zn(e,t){var i=B(e)?ee:Wu;return i(e,N(t,3))}function Jm(e,t,i,s){return e==null?[]:(B(t)||(t=t==null?[]:[t]),i=s?r:i,B(i)||(i=i==null?[]:[i]),zu(e,t,i))}var Xm=kn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function jm(e,t,i){var s=B(e)?oo:du,u=arguments.length<3;return s(e,N(t,4),i,u,Ct)}function Ym(e,t,i){var s=B(e)?fh:du,u=arguments.length<3;return s(e,N(t,4),i,u,Fu)}function Zm(e,t){var i=B(e)?Et:Lu;return i(e,ti(N(t,3)))}function Qm(e){var t=B(e)?Iu:Vd;return t(e)}function e0(e,t,i){(i?_e(e,t,i):t===r)?t=1:t=M(t);var s=B(e)?wd:Kd;return s(e,t)}function t0(e){var t=B(e)?Ad:Jd;return t(e)}function r0(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=ge(e);return t==Je||t==Xe?e.size:Eo(e).length}function n0(e,t,i){var s=B(e)?so:Xd;return i&&_e(e,t,i)&&(t=r),s(e,N(t,3))}var i0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&_e(e,t[0],t[1])?t=[]:i>2&&_e(t[0],t[1],t[2])&&(t=[t[0]]),zu(e,he(t,1),[])}),Qn=Mh||function(){return ce.Date.now()};function o0(e,t){if(typeof t!="function")throw new Ue(l);return e=M(e),function(){if(--e<1)return t.apply(this,arguments)}}function Ma(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function Ua(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=M(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Xo=W(function(e,t,i){var s=k;if(i.length){var u=Ot(i,hr(Xo));s|=me}return ht(e,s,t,i,u)}),Wa=W(function(e,t,i){var s=k|j;if(i.length){var u=Ot(i,hr(Wa));s|=me}return ht(t,s,e,i,u)});function Ga(e,t,i){t=i?r:t;var s=ht(e,ye,r,r,r,r,r,t);return s.placeholder=Ga.placeholder,s}function Ha(e,t,i){t=i?r:t;var s=ht(e,wt,r,r,r,r,r,t);return s.placeholder=Ha.placeholder,s}function ka(e,t,i){var s,u,c,h,d,v,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new Ue(l);t=ze(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?fe(ze(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function C(se){var Qe=s,_t=u;return s=u=r,w=se,h=e.apply(_t,Qe),h}function L(se){return w=se,d=Xr(G,t),A?C(se):h}function U(se){var Qe=se-v,_t=se-w,ff=t-Qe;return E?de(ff,c-_t):ff}function q(se){var Qe=se-v,_t=se-w;return v===r||Qe>=t||Qe<0||E&&_t>=c}function G(){var se=Qn();if(q(se))return z(se);d=Xr(G,U(se))}function z(se){return d=r,O&&s?C(se):(s=u=r,h)}function Fe(){d!==r&&Qu(d),w=0,s=v=u=d=r}function xe(){return d===r?h:z(Qn())}function Le(){var se=Qn(),Qe=q(se);if(s=arguments,u=this,v=se,Qe){if(d===r)return L(v);if(E)return Qu(d),d=Xr(G,t),C(v)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=xe,Le}var s0=W(function(e,t){return Nu(e,1,t)}),u0=W(function(e,t,i){return Nu(e,ze(t)||0,i)});function a0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var s=arguments,u=t?t.apply(this,s):s[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,s);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function f0(e){return Ua(2,e)}var l0=jd(function(e,t){t=t.length==1&&B(t[0])?ee(t[0],Ce(N())):ee(he(t,1),Ce(N()));var i=t.length;return W(function(s){for(var u=-1,c=de(s.length,i);++u=t}),Yt=Bu(function(){return arguments}())?Bu:function(e){return ie(e)&&J.call(e,"callee")&&!Au.call(e,"callee")},B=y.isArray,E0=iu?Ce(iu):Fd;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function S0(e){return e===!0||e===!1||ie(e)&&ve(e)==Ir}var Lt=Wh||us,O0=ou?Ce(ou):Ld;function R0(e){return ie(e)&&e.nodeType===1&&!jr(e)}function I0(e){if(e==null)return!0;if(we(e)&&(B(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Yt(e)))return!e.length;var t=ge(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Eo(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function C0(e,t){return Vr(e,t)}function P0(e,t,i){i=typeof i=="function"?i:r;var s=i?i(e,t):r;return s===r?Vr(e,t,r,i):!!s}function Yo(e){if(!ie(e))return!1;var t=ve(e);return t==dn||t==ep||typeof e.message=="string"&&typeof e.name=="string"&&!jr(e)}function N0(e){return typeof e=="number"&&Eu(e)}function mt(e){if(!te(e))return!1;var t=ve(e);return t==gn||t==Ns||t==Qc||t==rp}function Va(e){return typeof e=="number"&&e==M(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Ka=su?Ce(su):$d;function F0(e,t){return e===t||To(e,t,Go(t))}function L0(e,t,i){return i=typeof i=="function"?i:r,To(e,t,Go(t),i)}function q0(e){return Da(e)&&e!=+e}function $0(e){if(xg(e))throw new $(a);return Mu(e)}function B0(e){return e===null}function M0(e){return e==null}function Da(e){return typeof e=="number"||ie(e)&&ve(e)==Pr}function jr(e){if(!ie(e)||ve(e)!=ft)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Lh}var Zo=uu?Ce(uu):Bd;function U0(e){return Va(e)&&e>=-Tt&&e<=Tt}var Ja=au?Ce(au):Md;function ni(e){return typeof e=="string"||!B(e)&&ie(e)&&ve(e)==Fr}function Ne(e){return typeof e=="symbol"||ie(e)&&ve(e)==mn}var dr=fu?Ce(fu):Ud;function W0(e){return e===r}function G0(e){return ie(e)&&ge(e)==Lr}function H0(e){return ie(e)&&ve(e)==ip}var k0=Dn(So),z0=Dn(function(e,t){return e<=t});function Xa(e){if(!e)return[];if(we(e))return ni(e)?je(e):be(e);if(Br&&e[Br])return wh(e[Br]());var t=ge(e),i=t==Je?po:t==Xe?wn:gr;return i(e)}function vt(e){if(!e)return e===0?e:0;if(e=ze(e),e===Ht||e===-Ht){var t=e<0?-1:1;return t*Xc}return e===e?e:0}function M(e){var t=vt(e),i=t%1;return t===t?i?t-i:t:0}function ja(e){return e?Dt(M(e),0,tt):0}function ze(e){if(typeof e=="number")return e;if(Ne(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=gu(e);var i=Ep.test(e);return i||Op.test(e)?oh(e.slice(2),i?2:8):Tp.test(e)?pn:+e}function Ya(e){return nt(e,Ae(e))}function V0(e){return e?Dt(M(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Pe(e)}var K0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,pe(t),e);return}for(var i in t)J.call(t,i)&&Hr(e,i,t[i])}),Za=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,s){nt(t,Ae(t),e,s)}),D0=cr(function(e,t,i,s){nt(t,pe(t),e,s)}),J0=dt(xo);function X0(e,t){var i=lr(e);return t==null?i:Cu(i,t)}var j0=W(function(e,t){e=X(e);var i=-1,s=t.length,u=s>2?t[2]:r;for(u&&_e(t[0],t[1],u)&&(s=1);++i1),c}),nt(e,Uo(e),i),s&&(i=Ge(i,T|S|I,ug));for(var u=t.length;u--;)Po(i,t[u]);return i});function dv(e,t){return ef(e,ti(N(t)))}var gv=dt(function(e,t){return e==null?{}:Hd(e,t)});function ef(e,t){if(e==null)return{};var i=ee(Uo(e),function(s){return[s]});return t=N(t),Vu(e,i,function(s,u){return t(s,u[0])})}function mv(e,t,i){t=Nt(t,e);var s=-1,u=t.length;for(u||(u=1,e=r);++st){var s=e;e=t,t=s}if(i||e%1||t%1){var u=Su();return de(e+u*(t-e+ih("1e-"+((u+"").length-1))),t)}return Ro(e,t)}var Ov=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?nf(t):t)});function nf(e){return ts(K(e).toLowerCase())}function of(e){return e=K(e),e&&e.replace(Ip,vh).replace(Jp,"")}function Rv(e,t,i){e=K(e),t=Pe(t);var s=e.length;i=i===r?s:Dt(M(i),0,s);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function Iv(e){return e=K(e),e&&fp.test(e)?e.replace(qs,_h):e}function Cv(e){return e=K(e),e&&gp.test(e)?e.replace(Xi,"\\$&"):e}var Pv=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),Nv=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),Fv=ua("toLowerCase");function Lv(e,t,i){e=K(e),t=M(t);var s=t?sr(e):0;if(!t||s>=t)return e;var u=(t-s)/2;return Kn(Fn(u),i)+e+Kn(Nn(u),i)}function qv(e,t,i){e=K(e),t=M(t);var s=t?sr(e):0;return t&&s>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Zo(t))&&(t=Pe(t),!t&&or(e))?Ft(je(e),0,i):e.split(t,i)):[]}var Hv=pr(function(e,t,i){return e+(i?" ":"")+ts(t)});function kv(e,t,i){return e=K(e),i=i==null?0:Dt(M(i),0,e.length),t=Pe(t),e.slice(i,i+t.length)==t}function zv(e,t,i){var s=f.templateSettings;i&&_e(e,t,i)&&(t=r),e=K(e),t=ii({},t,s,da);var u=ii({},t.imports,s.imports,da),c=pe(u),h=co(u,c),d,v,w=0,A=t.interpolate||vn,E="__p += '",O=ho((t.escape||vn).source+"|"+A.source+"|"+(A===$s?Ap:vn).source+"|"+(t.evaluate||vn).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Qp+"]")+` +`;e.replace(O,function(q,G,z,Fe,xe,Le){return z||(z=Fe),E+=e.slice(w,Le).replace(Cp,xh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),xe&&(v=!0,E+=`'; +`+xe+`; +__p += '`),z&&(E+=`' + +((__t = (`+z+`)) == null ? '' : __t) + +'`),w=Le+q.length,q}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(bp.test(L))throw new $(p);E=(v?E.replace(op,""):E).replace(sp,"$1").replace(up,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(v?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=uf(function(){return V(c,C+"return "+E).apply(r,h)});if(U.source=E,Yo(U))throw U;return U}function Vv(e){return K(e).toLowerCase()}function Kv(e){return K(e).toUpperCase()}function Dv(e,t,i){if(e=K(e),e&&(i||t===r))return gu(e);if(!e||!(t=Pe(t)))return e;var s=je(e),u=je(t),c=mu(s,u),h=vu(s,u)+1;return Ft(s,c,h).join("")}function Jv(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,xu(e)+1);if(!e||!(t=Pe(t)))return e;var s=je(e),u=vu(s,je(t))+1;return Ft(s,0,u).join("")}function Xv(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(ji,"");if(!e||!(t=Pe(t)))return e;var s=je(e),u=mu(s,je(t));return Ft(s,u).join("")}function jv(e,t){var i=Gt,s=Ui;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?M(t.length):i,s="omission"in t?Pe(t.omission):s}e=K(e);var c=e.length;if(or(e)){var h=je(e);c=h.length}if(i>=c)return e;var d=i-sr(s);if(d<1)return s;var v=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return v+s;if(h&&(d+=v.length-d),Zo(u)){if(e.slice(d).search(u)){var w,A=v;for(u.global||(u=ho(u.source,K(Bs.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;v=v.slice(0,E===r?d:E)}}else if(e.indexOf(Pe(u),d)!=d){var O=v.lastIndexOf(u);O>-1&&(v=v.slice(0,O))}return v+s}function Yv(e){return e=K(e),e&&ap.test(e)?e.replace(Ls,Sh):e}var Zv=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),ts=ua("toUpperCase");function sf(e,t,i){return e=K(e),t=i?r:t,t===r?bh(e)?Ih(e):ph(e):e.match(t)||[]}var uf=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Yo(i)?i:new $(i)}}),Qv=dt(function(e,t){return Me(t,function(i){i=it(i),pt(e,i,Xo(e[i],e))}),e});function e_(e){var t=e==null?0:e.length,i=N();return e=t?ee(e,function(s){if(typeof s[1]!="function")throw new Ue(l);return[i(s[0]),s[1]]}):[],W(function(s){for(var u=-1;++uTt)return[];var i=tt,s=de(e,tt);t=N(t),e-=tt;for(var u=lo(s,t);++i0||t<0)?new H(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=M(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},H.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},H.prototype.toArray=function(){return this.take(tt)},rt(H.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),s=/^(?:head|last)$/.test(t),u=f[s?"take"+(t=="last"?"Right":""):t],c=s||/^find/.test(t);u&&(f.prototype[t]=function(){var h=this.__wrapped__,d=s?[1]:arguments,v=h instanceof H,w=d[0],A=v||B(h),E=function(G){var z=u.apply(f,St([G],d));return s&&O?z[0]:z};A&&i&&typeof w=="function"&&w.length!=1&&(v=A=!1);var O=this.__chain__,C=!!this.__actions__.length,L=c&&!O,U=v&&!C;if(!c&&A){h=U?h:new H(this);var q=e.apply(h,d);return q.__actions__.push({func:Yn,args:[E],thisArg:r}),new We(q,O)}return L&&U?e.apply(this,d):(q=this.thru(E),L?s?q.value()[0]:q.value():q)})}),Me(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",s=/^(?:pop|shift)$/.test(e);f.prototype[e]=function(){var u=arguments;if(s&&!this.__chain__){var c=this.value();return t.apply(B(c)?c:[],u)}return this[i](function(h){return t.apply(B(h)?h:[],u)})}}),rt(H.prototype,function(e,t){var i=f[t];if(i){var s=i.name+"";J.call(fr,s)||(fr[s]=[]),fr[s].push({name:t,func:i})}}),fr[zn(r,j).name]=[{name:"wrapper",func:r}],H.prototype.clone=Yh,H.prototype.reverse=Zh,H.prototype.value=Qh,f.prototype.at=Rm,f.prototype.chain=Im,f.prototype.commit=Cm,f.prototype.next=Pm,f.prototype.plant=Fm,f.prototype.reverse=Lm,f.prototype.toJSON=f.prototype.valueOf=f.prototype.value=qm,f.prototype.first=f.prototype.head,Br&&(f.prototype[Br]=Nm),f},Rt=Ch();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(ce._=Rt,define(function(){return Rt})):kt?((kt.exports=Rt)._=Rt,ro._=Rt):ce._=Rt}).call(Or)});var jw={};k_(jw,{default:()=>Jw,options:()=>Kc,setup:()=>Dw,teardown:()=>Xw});module.exports=z_(jw);var cf={user:0,group:1,publicLink:3,federatedCloudShare:6},pf={read:0,update:2,create:4,delete:8,share:16,all:31};var $w=ot(require("k6/encoding")),Bw=require("k6"),Mw=ot(require("k6/http"));var V_=typeof global=="object"&&global&&global.Object===Object&&global,si=V_;var K_=typeof self=="object"&&self&&self.Object===Object&&self,D_=si||K_||Function("return this")(),Ve=D_;var J_=Ve.Symbol,xt=J_;var hf=Object.prototype,X_=hf.hasOwnProperty,j_=hf.toString,Yr=xt?xt.toStringTag:void 0;function Y_(r){var n=X_.call(r,Yr),o=r[Yr];try{r[Yr]=void 0;var a=!0}catch{}var l=j_.call(r);return a&&(n?r[Yr]=o:delete r[Yr]),l}var df=Y_;var Z_=Object.prototype,Q_=Z_.toString;function ex(r){return Q_.call(r)}var gf=ex;var tx="[object Null]",rx="[object Undefined]",mf=xt?xt.toStringTag:void 0;function nx(r){return r==null?r===void 0?rx:tx:mf&&mf in Object(r)?df(r):gf(r)}var st=nx;function ix(r){return r!=null&&typeof r=="object"}var Ke=ix;var ox="[object Symbol]";function sx(r){return typeof r=="symbol"||Ke(r)&&st(r)==ox}var mr=sx;function ux(r,n){for(var o=-1,a=r==null?0:r.length,l=Array(a);++o0){if(++n>=qx)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Pf=Mx;function Ux(r){return function(){return r}}var Nf=Ux;var Wx=function(){try{var r=_r(Object,"defineProperty");return r({},"",{}),r}catch{}}(),xr=Wx;var Gx=xr?function(r,n){return xr(r,"toString",{configurable:!0,enumerable:!1,value:Nf(n),writable:!0})}:ui,Ff=Gx;var Hx=Pf(Ff),Lf=Hx;var kx=9007199254740991,zx=/^(?:0|[1-9]\d*)$/;function Vx(r,n){var o=typeof r;return n=n??kx,!!n&&(o=="number"||o!="symbol"&&zx.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=ey}var li=ty;function ry(r){return r!=null&&li(r.length)&&!vr(r)}var br=ry;function ny(r,n,o){if(!Ee(o))return!1;var a=typeof n;return(a=="number"?br(o)&&fi(n,o.length):a=="string"&&n in o)?qt(o[n],r):!1}var Wf=ny;function iy(r){return Uf(function(n,o){var a=-1,l=o.length,p=l>1?o[l-1]:void 0,x=l>2?o[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,x&&Wf(o[0],o[1],x)&&(p=l<3?void 0:p,l=1),n=Object(n);++a-1}var cl=w1;function A1(r,n){var o=this.__data__,a=$t(o,r);return a<0?(++this.size,o.push([r,n])):o[a][1]=n,this}var pl=A1;function Ar(r){var n=-1,o=r==null?0:r.length;for(this.clear();++n(a,l,p,x)=>{let _=o||{};return n&&vi(_,{headers:{Authorization:n.header}}),Xl.default.request(a,Yl(r,l),p,vi(_,x))};var Zl=require("https://jslib.k6.io/url/1.0.0/index.js"),ds=class{#e;constructor(n){this.#e=new Zl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Yl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),ec=r=>new ds(new URL(r||"").search).object();var qw=ot(Es()),$c=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Nc(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Pc(r,n){for(var o=0;o"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,o){return Lc()?sn=Reflect.construct.bind():sn=function(l,p,x){var _=[null];_.push.apply(_,p);var m=Function.bind.apply(l,_),T=new m;return x&&an(T,x.prototype),T},sn.apply(null,arguments)}function Aw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ss(r){var n=typeof Map=="function"?new Map:void 0;return Ss=function(a){if(a===null||!Aw(a))return a;if(typeof a!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(a))return n.get(a);n.set(a,l)}function l(){return sn(a,arguments,un(this).constructor)}return l.prototype=Object.create(a.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),an(l,a)},Ss(r)}function Tw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function Ew(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Tw(r)}function Sw(r){var n=Lc();return function(){var a=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(a,arguments,p)}else l=a.apply(this,arguments);return Ew(this,l)}}function Ow(r){return Rw(r)||Iw(r)||qc(r)||Cw()}function Rw(r){if(Array.isArray(r))return Os(r)}function Iw(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function qc(r,n){if(r){if(typeof r=="string")return Os(r,n);var o=Object.prototype.toString.call(r).slice(8,-1);if(o==="Object"&&r.constructor&&(o=r.constructor.name),o==="Map"||o==="Set")return Array.from(r);if(o==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return Os(r,n)}}function Os(r,n){(n==null||n>r.length)&&(n=r.length);for(var o=0,a=new Array(n);o=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,x=!1,_;return{s:function(){o=o.call(r)},n:function(){var m=o.next();return p=m.done,m},e:function(m){x=!0,_=m},f:function(){try{!p&&o.return!=null&&o.return()}finally{if(x)throw _}}}}var Oe=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Rs(r,n){return n=n.slice(),n.unshift(r),n}var Nw=function(r){ww(o,r);var n=Sw(o);function o(a){var l;return Nc(this,o),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=a,l.name="NewError",l}return Fc(o)}(Ss(Error));function D(r,n,o,a,l){if(!(this instanceof D))try{return new D(r,n,o,a,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=a,a=o,o=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||o,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Oe.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||a||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var x={path:p?r.path:n};p?"json"in r&&(x.json=r.json):x.json=o;var _=this.evaluate(x);if(!_||ut(_)!=="object")throw new Nw(_);return _}}D.prototype.evaluate=function(r,n,o,a){var l=this,p=this.parent,x=this.parentProperty,_=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,o=o||this.callback,this.currOtherTypeCallback=a||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Oe.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,_=Oe.call(r,"flatten")?r.flatten:_,this.currResultType=Oe.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Oe.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Oe.call(r,"wrap")?r.wrap:m,this.currPreventEval=Oe.call(r,"preventEval")?r.preventEval:this.currPreventEval,o=Oe.call(r,"callback")?r.callback:o,this.currOtherTypeCallback=Oe.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Oe.call(r,"parent")?r.parent:p,x=Oe.call(r,"parentProperty")?r.parentProperty:x,r=r.path}if(p=p||null,x=x||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,x,o).filter(function(P){return P&&!P.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(P,F){var k=l._getPreferredOutput(F);return _&&Array.isArray(k)?P=P.concat(k):P.push(k),P},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var o=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(o),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,o){if(n){var a=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(a,o,r)}};D.prototype._trace=function(r,n,o,a,l,p,x,_){var m=this,T;if(!r.length)return T={path:o,value:n,parent:a,parentProperty:l,hasArrExpr:x},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),P=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){P.push(cn)}):P.push(ne)}if((typeof S!="string"||_)&&n&&Oe.call(n,S))F(this._trace(I,n[S],Qt(o,S),n,S,p,x));else if(S==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(o,ne),n,ne,p,!0,!0))});else if(S==="..")F(this._trace(I,n,o,a,l,p,x)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(o,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:o.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(o,S),value:l,parent:a,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")F(this._trace(I,n,o,null,null,p,x));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))F(this._slice(S,I,n,o,a,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var k=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(k,n[ne],ne,o,a,l)&&F(m._trace(I,n[ne],Qt(o,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Rs(this._eval(S,n,o[o.length-1],o.slice(0,-1),a,l),I),n,o,a,l,p,x))}else if(S[0]==="@"){var j=!1,$e=S.slice(1,-2);switch($e){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(j=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===$e&&(j=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(j=!0);break;case"number":Number.isFinite(n)&&(j=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(j=!0);break;case"object":n&&ut(n)===$e&&(j=!0);break;case"array":Array.isArray(n)&&(j=!0);break;case"other":j=this.currOtherTypeCallback(n,o,a,l);break;case"null":n===null&&(j=!0);break;default:throw new TypeError("Unknown value type "+$e)}if(j)return T={path:o,value:n,parent:a,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Oe.call(n,S.slice(1))){var ye=S.slice(1);F(this._trace(I,n[ye],Qt(o,ye),n,ye,p,x,!0))}else if(S.includes(",")){var wt=S.split(","),me=Pw(wt),at;try{for(me.s();!(at=me.n()).done;){var De=at.value;F(this._trace(Rs(De,I),n,o,a,l,p,!0))}}catch(ne){me.e(ne)}finally{me.f()}}else!_&&n&&Oe.call(n,S)&&F(this._trace(I,n[S],Qt(o,S),n,S,p,x,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?a.slice(0,m+1)+" return "+a.slice(m+1):" return "+a;return sn(Function,l.concat([T])).apply(void 0,Ow(x))}}]),r}();D.prototype.vm={Script:Lw};var Bc=(r=10,n)=>(0,$c.randomString)(r,n);var _i={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Uc=require("k6/http");var xi=class{request;constructor(n){this.request=n}upload(n,o,a){return this.request("PUT",`/remote.php/dav/files/${n}/${o}`,a)}download(n,o){return this.request("GET",`/remote.php/dav/files/${n}/${o}`)}create(n,o){return this.request("MKCOL",`/remote.php/dav/files/${n}/${o}`)}delete(n,o){return this.request("DELETE",`/remote.php/dav/files/${n}/${o}`)}move(n,o,a){return this.request("MOVE",`/remote.php/dav/files/${n}/${o}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${a}`}})}propfind(n,o){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${o}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,o,a){return this.request("PUT",`/remote.php/dav/spaces/${n}/${o}`,a)}download(n,o){return this.request("GET",`/remote.php/dav/spaces/${n}/${o}`)}create(n,o){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${o}`)}delete(n,o){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${o}`)}move(n,o,a){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${o}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${a}`}})}propfind(n,o){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${o}`)}};var bi=class{files;spaces;constructor(n){this.files=new xi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Si=class{request;constructor(n){this.request=n}createShare(n,o,a,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:a.toString(),shareWith:o,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Oi=class{shares;constructor(n){this.shares=new Si(n)}};var Ri=class{v1;constructor(n){this.v1=new Oi(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ci=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Pi=class{users;constructor(n){this.users=new Ci(n)}};var Ni=class{cloud;apps;constructor(n){this.cloud=new Pi(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Ni(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var Wc=ot(require("k6/encoding")),qi=require("k6"),$i=ot(require("k6/http"));var er=require("k6"),Is=require("k6"),Sr=require("k6"),Mc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Uw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${Wc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Ww=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),o=this.getToken(n);this.#n={validTo:(()=>{let a=new Date;return a.setSeconds(a.getSeconds()+o.expiresIn-5),a})(),token:o}}return this.#n.token}getContinueURI(){let r=$i.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Bc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,qi.fail)(this.#i),n}getCode(r){let n=`${r}?${Ql({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,o=$i.default.get(n,{redirects:0}),a=Ut(ec(o.headers.Location),"code");return(o.status!==302||!a)&&(0,qi.fail)(r),a}getToken(r){let n=$i.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),o={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!o.accessToken||!o.tokenType||!o.idToken||!o.expiresIn)&&(0,qi.fail)(this.#o),o}},re={legacy:"legacy",latest:"latest"},Gw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,o){let a;switch(this.#t){case re.latest:a=this.#e.dav.spaces.upload(r,n,o);break;case re.legacy:a=this.#e.dav.files.upload(r,n,o);break}return(0,er.check)(a,{"client -> dav.upload - status":({status:l})=>l===201}),a}create(r,n){let o;switch(this.#t){case re.latest:o=this.#e.dav.spaces.create(r,n);break;case re.legacy:o=this.#e.dav.files.create(r,n);break}return(0,er.check)(o,{"client -> dav.create - status":({status:a})=>a===201}),o}download(r,n){let o;switch(this.#t){case re.latest:o=this.#e.dav.spaces.download(r,n);break;case re.legacy:o=this.#e.dav.files.download(r,n);break}return(0,er.check)(o,{"client -> dav.download - status":({status:a})=>a===200}),o}propfind(r,n){let o;switch(this.#t){case re.latest:o=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:o=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(o,{"client -> dav.propfind - status":({status:a})=>a===207}),o}delete(r,n){let o;switch(this.#t){case re.latest:o=this.#e.dav.spaces.delete(r,n);break;case re.legacy:o=this.#e.dav.files.delete(r,n);break}return(0,er.check)(o,{"client -> dav.delete - status":({status:a})=>a===204}),o}move(r,n,o){let a;switch(this.#t){case re.latest:a=this.#e.dav.spaces.move(r,n,o);break;case re.legacy:a=this.#e.dav.files.move(r,n,o);break}return(0,er.check)(a,{"client -> dav.move - status":({status:l})=>l===201}),a}},Hw=class{#e;constructor(r){this.#e=r}create(r,n,o,a){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,o,a);return(0,Is.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Is.check)(n,{"client -> ocs.acceptShare - status":({status:o})=>o===200}),n}},kw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:o})=>o===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:o})=>o===200}),n}delete(r){let n,o;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),o=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),o=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:a})=>a===o}),n}},fn=class{user;share;resource;constructor(r,n,o,a){let l;switch(o){case Mc.openIDConnect:l=new Ww(a,r);break;case Mc.basicAuth:l=new Uw(a);break}let p=jl(r,l,{jar:new Uc.CookieJar}),x=new Li(p);this.resource=new Gw(n,x),this.user=new kw(n,x),this.share=new Hw(x)}};var zw=ot(require("k6/http"));var Vw=require("https://jslib.k6.io/url/1.0.0/index.js"),Gc=ot(Es()),Hc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Cs=(r=10,n)=>(0,Hc.randomString)(r,n),Bi=(r,n,o)=>{if(o=o||[],!n||!r)return o;let a=new D({json:n,path:r});return a.length?o.length>a.length?[...a,o.slice(a.length)]:a:o},kc=(r,n,o)=>Bi(r,Kw(n),o),Kw=r=>new Gc.XMLParser().parse(r);var Vc=require("k6/crypto"),Mi=ot(require("k6/execution")),Ps=ot(zc()),le={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==_i.basicAuth?_i.basicAuth:_i.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},testFolder:__ENV.TEST_FOLDER||"oc-share-upload-rename",assets:{size:parseInt(__ENV.ASSET_SIZE)||1e3,quantity:parseInt(__ENV.ASSET_QUANTITY)||10},k6:{vus:1,insecureSkipTLSVerify:!0}},Kc=le.k6;function Dw(){let r=le.adminUser,n=new fn(le.baseURL,le.apiVersion,le.authAdapter,r),o=n.user.drives(),[a]=Bi("$.value[?(@.driveType === 'personal')].id",o?.json(),[r.login]);n.resource.create(a,le.testFolder);let l=(0,Ps.times)(Kc.vus||1,()=>{let p={login:Cs(),password:Cs()};n.user.create(p),n.user.enable(p.login);let x=n.share.create(le.testFolder,p.login,cf.user,pf.all),[_]=kc("ocs.data.id",x.body),m=new fn(le.baseURL,le.apiVersion,le.authAdapter,p),T=m.user.drives(),[S]=Bi("$.value[?(@.driveType === 'personal')].id",T?.json(),[p.login]);return m.share.accept(_),{credential:p,home:S}});return{adminInfo:{credential:r,home:a},userInfos:l}}function Jw({userInfos:r}){let{home:n,credential:o}=r[Mi.default.vu.idInTest-1],a=new fn(le.baseURL,le.apiVersion,le.authAdapter,o),l=[Mi.default.scenario.iterationInTest,"initial",o.login].join("-");a.resource.create(n,l);let p=(0,Vc.randomBytes)(le.assets.size*1e3);(0,Ps.times)(le.assets.quantity,_=>{a.resource.upload(n,[l,_].join("/"),p)});let x=[Mi.default.scenario.iterationInTest,"final",o.login].join("-");a.resource.move(n,l,x)}function Xw({userInfos:r,adminInfo:n}){let o=new fn(le.baseURL,le.apiVersion,le.authAdapter,n.credential);o.resource.delete(n.home,le.testFolder),r.forEach(({credential:a})=>o.user.delete(a.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/sample-kitchen-sink.js b/packages/k6-tests/artifacts/sample-kitchen-sink.js new file mode 100644 index 0000000..70fe6ef --- /dev/null +++ b/packages/k6-tests/artifacts/sample-kitchen-sink.js @@ -0,0 +1,51 @@ +"use strict";var U_=Object.create;var si=Object.defineProperty;var W_=Object.getOwnPropertyDescriptor;var G_=Object.getOwnPropertyNames;var k_=Object.getPrototypeOf,H_=Object.prototype.hasOwnProperty;var qe=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),V_=(r,n)=>{for(var s in n)si(r,s,{get:n[s],enumerable:!0})},ff=(r,n,s,a)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of G_(n))!H_.call(r,l)&&l!==s&&si(r,l,{get:()=>n[l],enumerable:!(a=W_(n,l))||a.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?U_(k_(r)):{},ff(n||!r||!r.__esModule?si(s,"default",{value:r,enumerable:!0}):s,r)),z_=r=>ff(si({},"__esModule",{value:!0}),r);var gs=qe(bt=>{"use strict";var ec=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",_b=ec+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",tc="["+ec+"]["+_b+"]*",xb=new RegExp("^"+tc+"$"),yb=function(r,n){let s=[],a=n.exec(r);for(;a;){let l=[];l.startIndex=n.lastIndex-a[0].length;let p=a.length;for(let x=0;x"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let a=Object.keys(n),l=a.length;for(let p=0;p{"use strict";var ms=gs(),wb={allowBooleanAttributes:!1,unpairedTags:[]};sc.validate=function(r,n){n=Object.assign({},wb,n);let s=[],a=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Cb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Se(r,p))}let T=Eb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Se(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let P=oc(S,n);if(P===!0)a=!0;else return ue(P.err.code,P.err.msg,Se(r,I+P.err.line))}else if(_)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Se(r,x));{let I=s.pop();if(m!==I.tagName){let P=Se(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+P.line+", col "+P.col+") instead of closing tag '"+m+"'.",Se(r,x))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Se(r,p));else{let I=oc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Se(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Se(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:x}),a=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function rc(r){return r===" "||r===" "||r===` +`||r==="\r"}function nc(r,n){let s=n;for(;n5&&a==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Se(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function ic(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var Ab='"',Tb="'";function Eb(r,n){let s="",a="",l=!1;for(;n"&&a===""){l=!0;break}s+=r[n]}return a!==""?!1:{value:s,index:n,tagClosed:l}}var Sb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function oc(r,n){let s=ms.getAllMatches(r,Sb),a={};for(let l=0;l{var uc={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Pb=function(r){return Object.assign({},uc,r)};_s.buildOptions=Pb;_s.defaultOptions=uc});var lc=qe((ER,fc)=>{"use strict";var xs=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};fc.exports=xs});var pc=qe((SR,cc)=>{function Nb(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let a=1,l=!1,p=!1,x="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,a--):a--,a===0)break}else r[n]==="["?l=!0:x+=r[n];if(a!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Fb(r,n){let s="";for(;n{var Ub=/^[-+]?0x[a-fA-F0-9]+$/,Wb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Gb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function kb(r,n={}){if(n=Object.assign({},Gb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Ub.test(s))return Number.parseInt(s,16);{let a=Wb.exec(s);if(a){let l=a[1],p=a[2],x=Hb(a[3]),_=a[4]||a[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||_?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&x===""||T===x||l&&T==="-"+x?m:r:p?x===T||l+x===T?m:r:s===T||s===l+T?m:r}}else return r}}function Hb(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}hc.exports=kb});var mc=qe((IR,gc)=>{"use strict";var As=gs(),un=lc(),Vb=pc(),zb=dc(),RR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,As.nameRegexp),ys=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Kb,this.parseXml=Yb,this.parseTextData=Db,this.resolveNameSpace=Jb,this.buildAttributesMap=jb,this.isItStopNode=ew,this.replaceEntitiesValue=Zb,this.readStopNodeData=rw,this.saveTextToParentTag=Qb}};function Kb(r){let n=Object.keys(r);for(let s=0;s0)){x||(r=this.replaceEntitiesValue(r));let _=this.options.tagValueProcessor(n,r,s,l,p);return _==null?r:typeof _!=typeof r||_!==r?_:this.options.trimValues?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ws(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function Jb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var Xb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function jb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=As.getAllMatches(r,Xb),a=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,_).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(a=this.saveTextToParentTag(a,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),a="",p=_}else if(r[p+1]==="?"){let _=bs(r,p,!1,"?>");if(!_)throw new Error("Pi Tag is not closed.");if(a=this.saveTextToParentTag(a,s,l),!(this.options.ignoreDeclaration&&_.tagName==="?xml"||this.options.ignorePiTags)){let m=new un(_.tagName);m.add(this.options.textNodeName,""),_.tagName!==_.tagExp&&_.attrExpPresent&&(m[":@"]=this.buildAttributesMap(_.tagExp,l)),s.addChild(m)}p=_.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let _=Zt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,_-2);a=this.saveTextToParentTag(a,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=_}else if(r.substr(p+1,2)==="!D"){let _=Vb(r,p);this.docTypeEntities=_.entities,p=_.i}else if(r.substr(p+1,2)==="!["){let _=Zt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,_);if(a=this.saveTextToParentTag(a,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=_+2}else{let _=bs(r,p,this.options.removeNSPrefix),m=_.tagName,T=_.tagExp,S=_.attrExpPresent,I=_.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&a&&s.tagname!=="!xml"&&(a=this.saveTextToParentTag(a,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let P=s;if(P&&this.options.unpairedTags.indexOf(P.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let N="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=_.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=_.closeIndex;else{let j=this.readStopNodeData(r,m,I+1);if(!j)throw new Error(`Unexpected end of ${m}`);p=j.i,N=j.tagContent}let G=new un(m);m!==T&&S&&(G[":@"]=this.buildAttributesMap(T,l)),N&&(N=this.parseTextData(N,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),G.add(this.options.textNodeName,N),s.addChild(G)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let N=new un(m);m!==T&&S&&(N[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(N)}else{let N=new un(m);this.tagsNodeStack.push(s),m!==T&&S&&(N[":@"]=this.buildAttributesMap(T,l)),s.addChild(N),s=N}a="",p=I}}else a+=r[p];return n.child},Zb=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Qb(r,n,s,a){return r&&(a===void 0&&(a=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,a),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function ew(r,n,s){let a="*."+s;for(let l in r){let p=r[l];if(a===p||n===p)return!0}return!1}function tw(r,n,s=">"){let a,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(a,s),i:p};s=p}else if(r[s+1]==="?")s=Zt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=Zt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=Zt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=bs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ws(r,n,s){if(n&&typeof r=="string"){let a=r.trim();return a==="true"?!0:a==="false"?!1:zb(r,s)}else return As.isExist(r)?r:""}gc.exports=ys});var xc=qe(_c=>{"use strict";function nw(r,n){return vc(r,n)}function vc(r,n,s){let a,l={};for(let p=0;p0&&(l[n.textNodeName]=a):a!==void 0&&(l[n.textNodeName]=a),l}function iw(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:uw}=ac(),aw=mc(),{prettify:fw}=xc(),lw=vs(),Ts=class{constructor(n){this.externalEntities={},this.options=uw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=lw.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let a=new aw(this.options);a.addExternalEntities(this.externalEntities);let l=a.parseXml(n);return this.options.preserveOrder||l===void 0?l:fw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};yc.exports=Ts});var Sc=qe((NR,Ec)=>{var cw=` +`;function pw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=cw),Ac(r,n,"",s)}function Ac(r,n,s,a){let l="",p=!1;for(let x=0;x`,p=!1;continue}else if(m===n.commentPropName){l+=a+``,p=!0;continue}else if(m[0]==="?"){let G=wc(_[":@"],n),j=m==="?xml"?"":a,$e=_[m][0][n.textNodeName];$e=$e.length!==0?" "+$e:"",l+=j+`<${m}${$e}${G}?>`,p=!0;continue}let S=a;S!==""&&(S+=n.indentBy);let I=wc(_[":@"],n),P=a+`<${m}${I}`,N=Ac(_[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=P+">":l+=P+"/>":(!N||N.length===0)&&n.suppressEmptyNode?l+=P+"/>":N&&N.endsWith(">")?l+=P+`>${N}${a}`:(l+=P+">",N&&a!==""&&(N.includes("/>")||N.includes("`),p=!0}return l}function hw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var gw=Sc(),mw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},mw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=xw),this.processTextOrObjNode=vw,this.options.format?(this.indentate=_w,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?gw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",a="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?a+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:a+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)a+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let x=this.options.tagValueProcessor(l,""+r[l]);a+=this.replaceEntitiesValue(x)}else a+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let x=0;x"u"||(_===null?l[0]==="?"?a+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:a+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof _=="object"?a+=this.processTextOrObjNode(_,l,n):a+=this.buildTextValNode(_,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),x=p.length;for(let _=0;_"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(a)+``+this.newLine:this.indentate(a)+"<"+n+s+p+this.tagEndChar+r+this.indentate(a)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(a)+``+this.newLine;if(n[0]==="?")return this.indentate(a)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(a)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(a)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var yw=vs(),bw=bc(),ww=Rc();Ic.exports={XMLParser:bw,XMLValidator:yw,XMLBuilder:ww}});var Hc=qe((Ir,cn)=>{(function(){var r,n="4.17.21",s=200,a="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",x="__lodash_hash_undefined__",_=500,m="__lodash_placeholder__",T=1,S=2,I=4,P=1,N=2,G=1,j=2,$e=4,ye=8,wt=16,me=32,at=64,De=128,Re=256,At=512,Gt=30,Ui="...",Cr=800,ne=16,pn=1,Jc=2,Xc=3,kt=1/0,Tt=9007199254740991,jc=17976931348623157e292,hn=0/0,tt=4294967295,Yc=tt-1,Zc=tt>>>1,Qc=[["ary",De],["bind",G],["bindKey",j],["curry",ye],["curryRight",wt],["flip",At],["partial",me],["partialRight",at],["rearg",Re]],tr="[object Arguments]",dn="[object Array]",ep="[object AsyncFunction]",Pr="[object Boolean]",Nr="[object Date]",tp="[object DOMException]",gn="[object Error]",mn="[object Function]",Ps="[object GeneratorFunction]",Je="[object Map]",Fr="[object Number]",rp="[object Null]",ft="[object Object]",Ns="[object Promise]",np="[object Proxy]",Lr="[object RegExp]",Xe="[object Set]",qr="[object String]",vn="[object Symbol]",ip="[object Undefined]",$r="[object WeakMap]",op="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",Wi="[object Float32Array]",Gi="[object Float64Array]",ki="[object Int8Array]",Hi="[object Int16Array]",Vi="[object Int32Array]",zi="[object Uint8Array]",Ki="[object Uint8ClampedArray]",Di="[object Uint16Array]",Ji="[object Uint32Array]",sp=/\b__p \+= '';/g,up=/\b(__p \+=) '' \+/g,ap=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Fs=/&(?:amp|lt|gt|quot|#39);/g,Ls=/[&<>"']/g,fp=RegExp(Fs.source),lp=RegExp(Ls.source),cp=/<%-([\s\S]+?)%>/g,pp=/<%([\s\S]+?)%>/g,qs=/<%=([\s\S]+?)%>/g,hp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,dp=/^\w*$/,gp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Xi=/[\\^$.*+?()[\]{}|]/g,mp=RegExp(Xi.source),ji=/^\s+/,vp=/\s/,_p=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,xp=/\{\n\/\* \[wrapped with (.+)\] \*/,yp=/,? & /,bp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,wp=/[()=,{}\[\]\/\s]/,Ap=/\\(\\)?/g,Tp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,$s=/\w*$/,Ep=/^[-+]0x[0-9a-f]+$/i,Sp=/^0b[01]+$/i,Op=/^\[object .+?Constructor\]$/,Rp=/^0o[0-7]+$/i,Ip=/^(?:0|[1-9]\d*)$/,Cp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Pp=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Np="\\u0300-\\u036f",Fp="\\ufe20-\\ufe2f",Lp="\\u20d0-\\u20ff",Bs=Np+Fp+Lp,Ms="\\u2700-\\u27bf",Us="a-z\\xdf-\\xf6\\xf8-\\xff",qp="\\xac\\xb1\\xd7\\xf7",$p="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Bp="\\u2000-\\u206f",Mp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ws="A-Z\\xc0-\\xd6\\xd8-\\xde",Gs="\\ufe0e\\ufe0f",ks=qp+$p+Bp+Mp,Yi="['\u2019]",Up="["+xn+"]",Hs="["+ks+"]",yn="["+Bs+"]",Vs="\\d+",Wp="["+Ms+"]",zs="["+Us+"]",Ks="[^"+xn+ks+Vs+Ms+Us+Ws+"]",Zi="\\ud83c[\\udffb-\\udfff]",Gp="(?:"+yn+"|"+Zi+")",Ds="[^"+xn+"]",Qi="(?:\\ud83c[\\udde6-\\uddff]){2}",eo="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Ws+"]",Js="\\u200d",Xs="(?:"+zs+"|"+Ks+")",kp="(?:"+nr+"|"+Ks+")",js="(?:"+Yi+"(?:d|ll|m|re|s|t|ve))?",Ys="(?:"+Yi+"(?:D|LL|M|RE|S|T|VE))?",Zs=Gp+"?",Qs="["+Gs+"]?",Hp="(?:"+Js+"(?:"+[Ds,Qi,eo].join("|")+")"+Qs+Zs+")*",Vp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",zp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",eu=Qs+Zs+Hp,Kp="(?:"+[Wp,Qi,eo].join("|")+")"+eu,Dp="(?:"+[Ds+yn+"?",yn,Qi,eo,Up].join("|")+")",Jp=RegExp(Yi,"g"),Xp=RegExp(yn,"g"),to=RegExp(Zi+"(?="+Zi+")|"+Dp+eu,"g"),jp=RegExp([nr+"?"+zs+"+"+js+"(?="+[Hs,nr,"$"].join("|")+")",kp+"+"+Ys+"(?="+[Hs,nr+Xs,"$"].join("|")+")",nr+"?"+Xs+"+"+js,nr+"+"+Ys,zp,Vp,Vs,Kp].join("|"),"g"),Yp=RegExp("["+Js+xn+Bs+Gs+"]"),Zp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Qp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],eh=-1,Z={};Z[Wi]=Z[Gi]=Z[ki]=Z[Hi]=Z[Vi]=Z[zi]=Z[Ki]=Z[Di]=Z[Ji]=!0,Z[tr]=Z[dn]=Z[Br]=Z[Pr]=Z[rr]=Z[Nr]=Z[gn]=Z[mn]=Z[Je]=Z[Fr]=Z[ft]=Z[Lr]=Z[Xe]=Z[qr]=Z[$r]=!1;var Y={};Y[tr]=Y[dn]=Y[Br]=Y[rr]=Y[Pr]=Y[Nr]=Y[Wi]=Y[Gi]=Y[ki]=Y[Hi]=Y[Vi]=Y[Je]=Y[Fr]=Y[ft]=Y[Lr]=Y[Xe]=Y[qr]=Y[vn]=Y[zi]=Y[Ki]=Y[Di]=Y[Ji]=!0,Y[gn]=Y[mn]=Y[$r]=!1;var th={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},rh={"&":"&","<":"<",">":">",'"':""","'":"'"},nh={"&":"&","<":"<",">":">",""":'"',"'":"'"},ih={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},oh=parseFloat,sh=parseInt,tu=typeof global=="object"&&global&&global.Object===Object&&global,uh=typeof self=="object"&&self&&self.Object===Object&&self,le=tu||uh||Function("return this")(),ro=typeof Ir=="object"&&Ir&&!Ir.nodeType&&Ir,Ht=ro&&typeof cn=="object"&&cn&&!cn.nodeType&&cn,ru=Ht&&Ht.exports===ro,no=ru&&tu.process,Be=function(){try{var g=Ht&&Ht.require&&Ht.require("util").types;return g||no&&no.binding&&no.binding("util")}catch{}}(),nu=Be&&Be.isArrayBuffer,iu=Be&&Be.isDate,ou=Be&&Be.isMap,su=Be&&Be.isRegExp,uu=Be&&Be.isSet,au=Be&&Be.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function ah(g,b,y,R){for(var $=-1,z=g==null?0:g.length;++$-1}function io(g,b,y){for(var R=-1,$=g==null?0:g.length;++R<$;)if(y(b,g[R]))return!0;return!1}function ee(g,b){for(var y=-1,R=g==null?0:g.length,$=Array(R);++y-1;);return y}function mu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function vh(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var _h=ao(th),xh=ao(rh);function yh(g){return"\\"+ih[g]}function bh(g,b){return g==null?r:g[b]}function or(g){return Yp.test(g)}function wh(g){return Zp.test(g)}function Ah(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function po(g){var b=-1,y=Array(g.size);return g.forEach(function(R,$){y[++b]=[$,R]}),y}function vu(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,$=0,z=[];++y-1}function ld(e,t){var i=this.__data__,o=Mn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=sd,lt.prototype.delete=ud,lt.prototype.get=ad,lt.prototype.has=fd,lt.prototype.set=ld;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,v=t&S,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=B(e);if(A){if(h=dg(e),!d)return be(e,h)}else{var E=ge(e),O=E==mn||E==Ps;if(Lt(e))return Qu(e,d);if(E==ft||E==tr||O&&!u){if(h=v||O?{}:_a(e),!d)return v?ng(e,Sd(h,e)):rg(e,Iu(h,e))}else{if(!Y[E])return u?e:{};h=gg(e,E,d)}}c||(c=new Ye);var C=c.get(e);if(C)return C;c.set(e,h),Da(e)?e.forEach(function(q){h.add(Ge(q,t,i,q,e,c))}):za(e)&&e.forEach(function(q,k){h.set(k,Ge(q,t,i,k,e,c))});var L=w?v?Uo:Mo:v?Ae:ce,U=A?r:L(e);return Me(U||e,function(q,k){U&&(k=q,q=e[k]),Vr(h,k,Ge(q,t,i,k,e,c))}),h}function Od(e){var t=ce(e);return function(i){return Cu(i,e,t)}}function Cu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Pu(e,t,i){if(typeof e!="function")throw new Ue(l);return Yr(function(){e.apply(r,i)},t)}function zr(e,t,i,o){var u=-1,c=bn,h=!0,d=e.length,v=[],w=t.length;if(!d)return v;i&&(t=ee(t,Ce(i))),o?(c=io,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:M(o),o<0&&(o+=u),o=i>o?0:Xa(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):St(u,d):o||(u[u.length]=d)}return u}var yo=oa(),Lu=oa(!0);function rt(e,t){return e&&yo(e,t,ce)}function bo(e,t){return e&&Lu(e,t,ce)}function Wn(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Nt(t,e);for(var i=0,o=t.length;e!=null&&it}function Cd(e,t){return e!=null&&J.call(e,t)}function Pd(e,t){return e!=null&&t in X(e)}function Nd(e,t,i){return e>=de(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&Pn.call(d,v,1),Pn.call(e,v,1);return e}function zu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Pn.call(e,u,1):Po(e,u)}}return e}function Ro(e,t){return e+Ln(Eu()*(t-e+1))}function zd(e,t,i,o){for(var u=-1,c=fe(Fn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Io(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Ln(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ko(ba(e,t,Te),e+"")}function Kd(e){return Ru(gr(e))}function Dd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Jr(e,t,i,o){if(!te(e))return e;t=Nt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Ne(h)&&(i?h<=t:h=s){var w=t?null:ug(e);if(w)return An(w);h=!1,u=Mr,v=new Kt}else v=t?[]:d;e:for(;++o=o?e:ke(e,t,i)}var Zu=Mh||function(e){return le.clearTimeout(e)};function Qu(e,t){if(t)return e.slice();var i=e.length,o=yu?yu(i):new e.constructor(i);return e.copy(o),o}function qo(e){var t=new e.constructor(e.byteLength);return new In(t).set(new In(e)),t}function Zd(e,t){var i=t?qo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Qd(e){var t=new e.constructor(e.source,$s.exec(e));return t.lastIndex=e.lastIndex,t}function eg(e){return Hr?X(Hr.call(e)):{}}function ea(e,t){var i=t?qo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function ta(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Ne(e),h=t!==r,d=t===null,v=t===t,w=Ne(t);if(!d&&!w&&!c&&e>t||c&&h&&v&&!d&&!w||o&&h&&v||!i&&v||!u)return 1;if(!o&&!c&&!w&&e=d)return v;var w=i[o];return v*(w=="desc"?-1:1)}}return e.index-t.index}function ra(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,v=t.length,w=fe(c-h,0),A=y(v+w),E=!o;++d1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&_e(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function aa(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Xn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&V.reverse(),A&&vd))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,C=i&N?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(_p,`{ +/* [wrapped with `+t+`] */ +`)}function vg(e){return B(e)||Yt(e)||!!(Au&&e&&e[Au])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Ip.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Cr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Fa(e,i)});function La(e){var t=f(e);return t.__chain__=!0,t}function Rm(e,t){return t(e),e}function Zn(e,t){return t(e)}var Im=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return xo(c,e)};return t>1||this.__actions__.length||!(o instanceof H)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Cm(){return La(this)}function Pm(){return new We(this.value(),this.__chain__)}function Nm(){this.__values__===r&&(this.__values__=Ja(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Fm(){return this}function Lm(e){for(var t,i=this;i instanceof Bn;){var o=Oa(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function qm(){var e=this.__wrapped__;if(e instanceof H){var t=e;return this.__actions__.length&&(t=new H(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Do],thisArg:r}),new We(t,this.__chain__)}return this.thru(Do)}function $m(){return ju(this.__wrapped__,this.__actions__)}var Bm=Vn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Mm(e,t,i){var o=B(e)?fu:Rd;return i&&_e(e,t,i)&&(t=r),o(e,F(t,3))}function Um(e,t){var i=B(e)?Et:Fu;return i(e,F(t,3))}var Wm=ua(Ra),Gm=ua(Ia);function km(e,t){return pe(Qn(e,t),1)}function Hm(e,t){return pe(Qn(e,t),kt)}function Vm(e,t,i){return i=i===r?1:M(i),pe(Qn(e,t),i)}function qa(e,t){var i=B(e)?Me:Ct;return i(e,F(t,3))}function $a(e,t){var i=B(e)?fh:Nu;return i(e,F(t,3))}var zm=Vn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Km(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?M(i):0;var u=e.length;return i<0&&(i=fe(u+i,0)),ii(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var Dm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Ct(e,function(h){c[++o]=u?Ie(t,h,i):Kr(h,t,i)}),c}),Jm=Vn(function(e,t,i){pt(e,i,t)});function Qn(e,t){var i=B(e)?ee:Uu;return i(e,F(t,3))}function Xm(e,t,i,o){return e==null?[]:(B(t)||(t=t==null?[]:[t]),i=o?r:i,B(i)||(i=i==null?[]:[i]),Hu(e,t,i))}var jm=Vn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Ym(e,t,i){var o=B(e)?oo:hu,u=arguments.length<3;return o(e,F(t,4),i,u,Ct)}function Zm(e,t,i){var o=B(e)?lh:hu,u=arguments.length<3;return o(e,F(t,4),i,u,Nu)}function Qm(e,t){var i=B(e)?Et:Fu;return i(e,ri(F(t,3)))}function e0(e){var t=B(e)?Ru:Kd;return t(e)}function t0(e,t,i){(i?_e(e,t,i):t===r)?t=1:t=M(t);var o=B(e)?Ad:Dd;return o(e,t)}function r0(e){var t=B(e)?Td:Xd;return t(e)}function n0(e){if(e==null)return 0;if(we(e))return ii(e)?sr(e):e.length;var t=ge(e);return t==Je||t==Xe?e.size:Eo(e).length}function i0(e,t,i){var o=B(e)?so:jd;return i&&_e(e,t,i)&&(t=r),o(e,F(t,3))}var o0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&_e(e,t[0],t[1])?t=[]:i>2&&_e(t[0],t[1],t[2])&&(t=[t[0]]),Hu(e,pe(t,1),[])}),ei=Uh||function(){return le.Date.now()};function s0(e,t){if(typeof t!="function")throw new Ue(l);return e=M(e),function(){if(--e<1)return t.apply(this,arguments)}}function Ba(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function Ma(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=M(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Xo=W(function(e,t,i){var o=G;if(i.length){var u=Ot(i,hr(Xo));o|=me}return ht(e,o,t,i,u)}),Ua=W(function(e,t,i){var o=G|j;if(i.length){var u=Ot(i,hr(Ua));o|=me}return ht(t,o,e,i,u)});function Wa(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Wa.placeholder,o}function Ga(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=Ga.placeholder,o}function ka(e,t,i){var o,u,c,h,d,v,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new Ue(l);t=Ve(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?fe(Ve(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function C(se){var Qe=o,_t=u;return o=u=r,w=se,h=e.apply(_t,Qe),h}function L(se){return w=se,d=Yr(k,t),A?C(se):h}function U(se){var Qe=se-v,_t=se-w,af=t-Qe;return E?de(af,c-_t):af}function q(se){var Qe=se-v,_t=se-w;return v===r||Qe>=t||Qe<0||E&&_t>=c}function k(){var se=ei();if(q(se))return V(se);d=Yr(k,U(se))}function V(se){return d=r,O&&o?C(se):(o=u=r,h)}function Fe(){d!==r&&Zu(d),w=0,o=v=u=d=r}function xe(){return d===r?h:V(ei())}function Le(){var se=ei(),Qe=q(se);if(o=arguments,u=this,v=se,Qe){if(d===r)return L(v);if(E)return Zu(d),d=Yr(k,t),C(v)}return d===r&&(d=Yr(k,t)),h}return Le.cancel=Fe,Le.flush=xe,Le}var u0=W(function(e,t){return Pu(e,1,t)}),a0=W(function(e,t,i){return Pu(e,Ve(t)||0,i)});function f0(e){return ht(e,At)}function ti(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ti.Cache||ct),i}ti.Cache=ct;function ri(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function l0(e){return Ma(2,e)}var c0=Yd(function(e,t){t=t.length==1&&B(t[0])?ee(t[0],Ce(F())):ee(pe(t,1),Ce(F()));var i=t.length;return W(function(o){for(var u=-1,c=de(o.length,i);++u=t}),Yt=$u(function(){return arguments}())?$u:function(e){return ie(e)&&J.call(e,"callee")&&!wu.call(e,"callee")},B=y.isArray,S0=nu?Ce(nu):Ld;function we(e){return e!=null&&ni(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function O0(e){return e===!0||e===!1||ie(e)&&ve(e)==Pr}var Lt=Gh||us,R0=iu?Ce(iu):qd;function I0(e){return ie(e)&&e.nodeType===1&&!Zr(e)}function C0(e){if(e==null)return!0;if(we(e)&&(B(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Yt(e)))return!e.length;var t=ge(e);if(t==Je||t==Xe)return!e.size;if(jr(e))return!Eo(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function P0(e,t){return Dr(e,t)}function N0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Dr(e,t,r,i):!!o}function Yo(e){if(!ie(e))return!1;var t=ve(e);return t==gn||t==tp||typeof e.message=="string"&&typeof e.name=="string"&&!Zr(e)}function F0(e){return typeof e=="number"&&Tu(e)}function mt(e){if(!te(e))return!1;var t=ve(e);return t==mn||t==Ps||t==ep||t==np}function Va(e){return typeof e=="number"&&e==M(e)}function ni(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var za=ou?Ce(ou):Bd;function L0(e,t){return e===t||To(e,t,Go(t))}function q0(e,t,i){return i=typeof i=="function"?i:r,To(e,t,Go(t),i)}function $0(e){return Ka(e)&&e!=+e}function B0(e){if(yg(e))throw new $(a);return Bu(e)}function M0(e){return e===null}function U0(e){return e==null}function Ka(e){return typeof e=="number"||ie(e)&&ve(e)==Fr}function Zr(e){if(!ie(e)||ve(e)!=ft)return!1;var t=Cn(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&Sn.call(i)==qh}var Zo=su?Ce(su):Md;function W0(e){return Va(e)&&e>=-Tt&&e<=Tt}var Da=uu?Ce(uu):Ud;function ii(e){return typeof e=="string"||!B(e)&&ie(e)&&ve(e)==qr}function Ne(e){return typeof e=="symbol"||ie(e)&&ve(e)==vn}var dr=au?Ce(au):Wd;function G0(e){return e===r}function k0(e){return ie(e)&&ge(e)==$r}function H0(e){return ie(e)&&ve(e)==op}var V0=Jn(So),z0=Jn(function(e,t){return e<=t});function Ja(e){if(!e)return[];if(we(e))return ii(e)?je(e):be(e);if(Ur&&e[Ur])return Ah(e[Ur]());var t=ge(e),i=t==Je?po:t==Xe?An:gr;return i(e)}function vt(e){if(!e)return e===0?e:0;if(e=Ve(e),e===kt||e===-kt){var t=e<0?-1:1;return t*jc}return e===e?e:0}function M(e){var t=vt(e),i=t%1;return t===t?i?t-i:t:0}function Xa(e){return e?Dt(M(e),0,tt):0}function Ve(e){if(typeof e=="number")return e;if(Ne(e))return hn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=du(e);var i=Sp.test(e);return i||Rp.test(e)?sh(e.slice(2),i?2:8):Ep.test(e)?hn:+e}function ja(e){return nt(e,Ae(e))}function K0(e){return e?Dt(M(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Pe(e)}var D0=cr(function(e,t){if(jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&Vr(e,i,t[i])}),Ya=cr(function(e,t){nt(t,Ae(t),e)}),oi=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),J0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),X0=dt(xo);function j0(e,t){var i=lr(e);return t==null?i:Iu(i,t)}var Y0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&_e(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,Uo(e),i),o&&(i=Ge(i,T|S|I,ag));for(var u=t.length;u--;)Po(i,t[u]);return i});function gv(e,t){return Qa(e,ri(F(t)))}var mv=dt(function(e,t){return e==null?{}:Hd(e,t)});function Qa(e,t){if(e==null)return{};var i=ee(Uo(e),function(o){return[o]});return t=F(t),Vu(e,i,function(o,u){return t(o,u[0])})}function vv(e,t,i){t=Nt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Eu();return de(e+u*(t-e+oh("1e-"+((u+"").length-1))),t)}return Ro(e,t)}var Rv=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?rf(t):t)});function rf(e){return ts(K(e).toLowerCase())}function nf(e){return e=K(e),e&&e.replace(Cp,_h).replace(Xp,"")}function Iv(e,t,i){e=K(e),t=Pe(t);var o=e.length;i=i===r?o:Dt(M(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function Cv(e){return e=K(e),e&&lp.test(e)?e.replace(Ls,xh):e}function Pv(e){return e=K(e),e&&mp.test(e)?e.replace(Xi,"\\$&"):e}var Nv=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),Fv=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),Lv=sa("toLowerCase");function qv(e,t,i){e=K(e),t=M(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Dn(Ln(u),i)+e+Dn(Fn(u),i)}function $v(e,t,i){e=K(e),t=M(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Zo(t))&&(t=Pe(t),!t&&or(e))?Ft(je(e),0,i):e.split(t,i)):[]}var Hv=pr(function(e,t,i){return e+(i?" ":"")+ts(t)});function Vv(e,t,i){return e=K(e),i=i==null?0:Dt(M(i),0,e.length),t=Pe(t),e.slice(i,i+t.length)==t}function zv(e,t,i){var o=f.templateSettings;i&&_e(e,t,i)&&(t=r),e=K(e),t=oi({},t,o,ha);var u=oi({},t.imports,o.imports,ha),c=ce(u),h=co(u,c),d,v,w=0,A=t.interpolate||_n,E="__p += '",O=ho((t.escape||_n).source+"|"+A.source+"|"+(A===qs?Tp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++eh+"]")+` +`;e.replace(O,function(q,k,V,Fe,xe,Le){return V||(V=Fe),E+=e.slice(w,Le).replace(Pp,yh),k&&(d=!0,E+=`' + +__e(`+k+`) + +'`),xe&&(v=!0,E+=`'; +`+xe+`; +__p += '`),V&&(E+=`' + +((__t = (`+V+`)) == null ? '' : __t) + +'`),w=Le+q.length,q}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(wp.test(L))throw new $(p);E=(v?E.replace(sp,""):E).replace(up,"$1").replace(ap,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(v?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=sf(function(){return z(c,C+"return "+E).apply(r,h)});if(U.source=E,Yo(U))throw U;return U}function Kv(e){return K(e).toLowerCase()}function Dv(e){return K(e).toUpperCase()}function Jv(e,t,i){if(e=K(e),e&&(i||t===r))return du(e);if(!e||!(t=Pe(t)))return e;var o=je(e),u=je(t),c=gu(o,u),h=mu(o,u)+1;return Ft(o,c,h).join("")}function Xv(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,_u(e)+1);if(!e||!(t=Pe(t)))return e;var o=je(e),u=mu(o,je(t))+1;return Ft(o,0,u).join("")}function jv(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(ji,"");if(!e||!(t=Pe(t)))return e;var o=je(e),u=gu(o,je(t));return Ft(o,u).join("")}function Yv(e,t){var i=Gt,o=Ui;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?M(t.length):i,o="omission"in t?Pe(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=je(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var v=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return v+o;if(h&&(d+=v.length-d),Zo(u)){if(e.slice(d).search(u)){var w,A=v;for(u.global||(u=ho(u.source,K($s.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;v=v.slice(0,E===r?d:E)}}else if(e.indexOf(Pe(u),d)!=d){var O=v.lastIndexOf(u);O>-1&&(v=v.slice(0,O))}return v+o}function Zv(e){return e=K(e),e&&fp.test(e)?e.replace(Fs,Oh):e}var Qv=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),ts=sa("toUpperCase");function of(e,t,i){return e=K(e),t=i?r:t,t===r?wh(e)?Ch(e):hh(e):e.match(t)||[]}var sf=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Yo(i)?i:new $(i)}}),e_=dt(function(e,t){return Me(t,function(i){i=it(i),pt(e,i,Xo(e[i],e))}),e});function t_(e){var t=e==null?0:e.length,i=F();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=de(e,tt);t=F(t),e-=tt;for(var u=lo(o,t);++i0||t<0)?new H(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=M(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},H.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},H.prototype.toArray=function(){return this.take(tt)},rt(H.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=f[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(f.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,v=h instanceof H,w=d[0],A=v||B(h),E=function(k){var V=u.apply(f,St([k],d));return o&&O?V[0]:V};A&&i&&typeof w=="function"&&w.length!=1&&(v=A=!1);var O=this.__chain__,C=!!this.__actions__.length,L=c&&!O,U=v&&!C;if(!c&&A){h=U?h:new H(this);var q=e.apply(h,d);return q.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(q,O)}return L&&U?e.apply(this,d):(q=this.thru(E),L?o?q.value()[0]:q.value():q)})}),Me(["pop","push","shift","sort","splice","unshift"],function(e){var t=Tn[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);f.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(B(c)?c:[],u)}return this[i](function(h){return t.apply(B(h)?h:[],u)})}}),rt(H.prototype,function(e,t){var i=f[t];if(i){var o=i.name+"";J.call(fr,o)||(fr[o]=[]),fr[o].push({name:t,func:i})}}),fr[zn(r,j).name]=[{name:"wrapper",func:r}],H.prototype.clone=Zh,H.prototype.reverse=Qh,H.prototype.value=ed,f.prototype.at=Im,f.prototype.chain=Cm,f.prototype.commit=Pm,f.prototype.next=Nm,f.prototype.plant=Lm,f.prototype.reverse=qm,f.prototype.toJSON=f.prototype.valueOf=f.prototype.value=$m,f.prototype.first=f.prototype.head,Ur&&(f.prototype[Ur]=Fm),f},Rt=Ph();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):Ht?((Ht.exports=Rt)._=Rt,ro._=Rt):le._=Rt}).call(Ir)});var Yw={};V_(Yw,{default:()=>Xw,options:()=>Dc,setup:()=>Jw,teardown:()=>jw});module.exports=z_(Yw);var lf={user:0,group:1,publicLink:3,federatedCloudShare:6},cf={read:0,update:2,create:4,delete:8,share:16,all:31};var Bw=ot(require("k6/encoding")),Mw=require("k6"),Uw=ot(require("k6/http"));var K_=typeof global=="object"&&global&&global.Object===Object&&global,ui=K_;var D_=typeof self=="object"&&self&&self.Object===Object&&self,J_=ui||D_||Function("return this")(),ze=J_;var X_=ze.Symbol,xt=X_;var pf=Object.prototype,j_=pf.hasOwnProperty,Y_=pf.toString,Qr=xt?xt.toStringTag:void 0;function Z_(r){var n=j_.call(r,Qr),s=r[Qr];try{r[Qr]=void 0;var a=!0}catch{}var l=Y_.call(r);return a&&(n?r[Qr]=s:delete r[Qr]),l}var hf=Z_;var Q_=Object.prototype,ex=Q_.toString;function tx(r){return ex.call(r)}var df=tx;var rx="[object Null]",nx="[object Undefined]",gf=xt?xt.toStringTag:void 0;function ix(r){return r==null?r===void 0?nx:rx:gf&&gf in Object(r)?hf(r):df(r)}var st=ix;function ox(r){return r!=null&&typeof r=="object"}var Ke=ox;var sx="[object Symbol]";function ux(r){return typeof r=="symbol"||Ke(r)&&st(r)==sx}var mr=ux;function ax(r,n){for(var s=-1,a=r==null?0:r.length,l=Array(a);++s0){if(++n>=$x)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Cf=Ux;function Wx(r){return function(){return r}}var Pf=Wx;var Gx=function(){try{var r=_r(Object,"defineProperty");return r({},"",{}),r}catch{}}(),xr=Gx;var kx=xr?function(r,n){return xr(r,"toString",{configurable:!0,enumerable:!1,value:Pf(n),writable:!0})}:ai,Nf=kx;var Hx=Cf(Nf),Ff=Hx;var Vx=9007199254740991,zx=/^(?:0|[1-9]\d*)$/;function Kx(r,n){var s=typeof r;return n=n??Vx,!!n&&(s=="number"||s!="symbol"&&zx.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=ty}var ci=ry;function ny(r){return r!=null&&ci(r.length)&&!vr(r)}var br=ny;function iy(r,n,s){if(!Ee(s))return!1;var a=typeof n;return(a=="number"?br(s)&&li(n,s.length):a=="string"&&n in s)?qt(s[n],r):!1}var Uf=iy;function oy(r){return Mf(function(n,s){var a=-1,l=s.length,p=l>1?s[l-1]:void 0,x=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,x&&Uf(s[0],s[1],x)&&(p=l<3?void 0:p,l=1),n=Object(n);++a-1}var ll=A1;function T1(r,n){var s=this.__data__,a=$t(s,r);return a<0?(++this.size,s.push([r,n])):s[a][1]=n,this}var cl=T1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(a,l,p,x)=>{let _=s||{};return n&&_i(_,{headers:{Authorization:n.header}}),Jl.default.request(a,jl(r,l),p,_i(_,x))};var Yl=require("https://jslib.k6.io/url/1.0.0/index.js"),ds=class{#e;constructor(n){this.#e=new Yl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},jl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Ql=r=>new ds(new URL(r||"").search).object();var $w=ot(Es()),qc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Pc(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Cc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function an(r,n,s){return Fc()?an=Reflect.construct.bind():an=function(l,p,x){var _=[null];_.push.apply(_,p);var m=Function.bind.apply(l,_),T=new m;return x&&ln(T,x.prototype),T},an.apply(null,arguments)}function Tw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ss(r){var n=typeof Map=="function"?new Map:void 0;return Ss=function(a){if(a===null||!Tw(a))return a;if(typeof a!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(a))return n.get(a);n.set(a,l)}function l(){return an(a,arguments,fn(this).constructor)}return l.prototype=Object.create(a.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),ln(l,a)},Ss(r)}function Ew(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function Sw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ew(r)}function Ow(r){var n=Fc();return function(){var a=fn(r),l;if(n){var p=fn(this).constructor;l=Reflect.construct(a,arguments,p)}else l=a.apply(this,arguments);return Sw(this,l)}}function Rw(r){return Iw(r)||Cw(r)||Lc(r)||Pw()}function Iw(r){if(Array.isArray(r))return Os(r)}function Cw(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Lc(r,n){if(r){if(typeof r=="string")return Os(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Os(r,n)}}function Os(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,a=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[a++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,x=!1,_;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){x=!0,_=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(x)throw _}}}}var Oe=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Rs(r,n){return n=n.slice(),n.unshift(r),n}var Fw=function(r){Aw(s,r);var n=Ow(s);function s(a){var l;return Pc(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=a,l.name="NewError",l}return Nc(s)}(Ss(Error));function D(r,n,s,a,l){if(!(this instanceof D))try{return new D(r,n,s,a,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=a,a=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Oe.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||a||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var x={path:p?r.path:n};p?"json"in r&&(x.json=r.json):x.json=s;var _=this.evaluate(x);if(!_||ut(_)!=="object")throw new Fw(_);return _}}D.prototype.evaluate=function(r,n,s,a){var l=this,p=this.parent,x=this.parentProperty,_=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=a||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Oe.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,_=Oe.call(r,"flatten")?r.flatten:_,this.currResultType=Oe.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Oe.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Oe.call(r,"wrap")?r.wrap:m,this.currPreventEval=Oe.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Oe.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Oe.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Oe.call(r,"parent")?r.parent:p,x=Oe.call(r,"parentProperty")?r.parentProperty:x,r=r.path}if(p=p||null,x=x||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,x,s).filter(function(P){return P&&!P.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(P,N){var G=l._getPreferredOutput(N);return _&&Array.isArray(G)?P=P.concat(G):P.push(G),P},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var a=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(a,s,r)}};D.prototype._trace=function(r,n,s,a,l,p,x,_){var m=this,T;if(!r.length)return T={path:s,value:n,parent:a,parentProperty:l,hasArrExpr:x},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),P=[];function N(ne){Array.isArray(ne)?ne.forEach(function(pn){P.push(pn)}):P.push(ne)}if((typeof S!="string"||_)&&n&&Oe.call(n,S))N(this._trace(I,n[S],Qt(s,S),n,S,p,x));else if(S==="*")this._walk(n,function(ne){N(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(S==="..")N(this._trace(I,n,s,a,l,p,x)),this._walk(n,function(ne){ut(n[ne])==="object"&&N(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(s,S),value:l,parent:a,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")N(this._trace(I,n,s,null,null,p,x));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))N(this._slice(S,I,n,s,a,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var G=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(G,n[ne],ne,s,a,l)&&N(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");N(this._trace(Rs(this._eval(S,n,s[s.length-1],s.slice(0,-1),a,l),I),n,s,a,l,p,x))}else if(S[0]==="@"){var j=!1,$e=S.slice(1,-2);switch($e){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(j=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===$e&&(j=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(j=!0);break;case"number":Number.isFinite(n)&&(j=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(j=!0);break;case"object":n&&ut(n)===$e&&(j=!0);break;case"array":Array.isArray(n)&&(j=!0);break;case"other":j=this.currOtherTypeCallback(n,s,a,l);break;case"null":n===null&&(j=!0);break;default:throw new TypeError("Unknown value type "+$e)}if(j)return T={path:s,value:n,parent:a,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Oe.call(n,S.slice(1))){var ye=S.slice(1);N(this._trace(I,n[ye],Qt(s,ye),n,ye,p,x,!0))}else if(S.includes(",")){var wt=S.split(","),me=Nw(wt),at;try{for(me.s();!(at=me.n()).done;){var De=at.value;N(this._trace(Rs(De,I),n,s,a,l,p,!0))}}catch(ne){me.e(ne)}finally{me.f()}}else!_&&n&&Oe.call(n,S)&&N(this._trace(I,n[S],Qt(s,S),n,S,p,x,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?a.slice(0,m+1)+" return "+a.slice(m+1):" return "+a;return an(Function,l.concat([T])).apply(void 0,Rw(x))}}]),r}();D.prototype.vm={Script:qw};var $c=(r=10,n)=>(0,qc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Mc=require("k6/http");var yi=class{request;constructor(n){this.request=n}upload(n,s,a){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,a)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,a){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${a}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var bi=class{request;constructor(n){this.request=n}upload(n,s,a){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,a)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,a){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${a}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var wi=class{files;spaces;constructor(n){this.files=new yi(n),this.spaces=new bi(n)}};var Ai=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ti=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ei=class{me;users;constructor(n){this.me=new Ai(n),this.users=new Ti(n)}};var Si=class{v1;constructor(n){this.v1=new Ei(n)}};var Oi=class{request;constructor(n){this.request=n}createShare(n,s,a,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:a.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ri=class{shares;constructor(n){this.shares=new Oi(n)}};var Ii=class{v1;constructor(n){this.v1=new Ri(n)}};var Ci=class{filesSharing;constructor(n){this.filesSharing=new Ii(n)}};var Pi=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ni=class{users;constructor(n){this.users=new Pi(n)}};var Fi=class{cloud;apps;constructor(n){this.cloud=new Ni(n),this.apps=new Ci(n)}};var Li=class{v2;constructor(n){this.v2=new Fi(n)}};var qi=class{ocs;graph;dav;constructor(n){this.ocs=new Li(n),this.graph=new Si(n),this.dav=new wi(n)}};var Uc=ot(require("k6/encoding")),$i=require("k6"),Bi=ot(require("k6/http"));var er=require("k6"),Is=require("k6"),Sr=require("k6"),Bc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Ww=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${Uc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Gw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let a=new Date;return a.setSeconds(a.getSeconds()+s.expiresIn-5),a})(),token:s}}return this.#n.token}getContinueURI(){let r=Bi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:$c(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,$i.fail)(this.#i),n}getCode(r){let n=`${r}?${Zl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Bi.default.get(n,{redirects:0}),a=Ut(Ql(s.headers.Location),"code");return(s.status!==302||!a)&&(0,$i.fail)(r),a}getToken(r){let n=Bi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,$i.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},kw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let a;switch(this.#t){case re.latest:a=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:a=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(a,{"client -> dav.upload - status":({status:l})=>l===201}),a}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:a})=>a===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:a})=>a===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:a})=>a===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:a})=>a===204}),s}move(r,n,s){let a;switch(this.#t){case re.latest:a=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:a=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(a,{"client -> dav.move - status":({status:l})=>l===201}),a}},Hw=class{#e;constructor(r){this.#e=r}create(r,n,s,a){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,a);return(0,Is.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Is.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},Vw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:a})=>a===s}),n}},Or=class{user;share;resource;constructor(r,n,s,a){let l;switch(s){case Bc.openIDConnect:l=new Gw(a,r);break;case Bc.basicAuth:l=new Ww(a);break}let p=Xl(r,l,{jar:new Mc.CookieJar}),x=new qi(p);this.resource=new kw(n,x),this.user=new Vw(n,x),this.share=new Hw(x)}};var zw=ot(require("k6/http"));var Kw=require("https://jslib.k6.io/url/1.0.0/index.js"),Wc=ot(Es()),Gc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Rr=(r=10,n)=>(0,Gc.randomString)(r,n),Mi=(r,n,s)=>{if(s=s||[],!n||!r)return s;let a=new D({json:n,path:r});return a.length?s.length>a.length?[...a,s.slice(a.length)]:a:s},kc=(r,n,s)=>Mi(r,Dw(n),s),Dw=r=>new Wc.XMLParser().parse(r);var Cs=require("k6"),Vc=require("k6/crypto"),zc=ot(require("k6/execution")),Kc=ot(Hc()),he={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},k6:{vus:1,insecureSkipTLSVerify:!0}},Dc=he.k6;function Jw(){let r=he.adminUser,n=new Or(he.baseURL,he.apiVersion,he.authAdapter,r),s=(0,Kc.times)(Dc.vus||1,()=>{let a={login:Rr(),password:Rr()};n.user.create(a),n.user.enable(a.login);let p=new Or(he.baseURL,he.apiVersion,he.authAdapter,a).user.drives(),[x]=Mi("$.value[?(@.driveType === 'personal')].id",p?.json(),[a.login]);return{credential:a,home:x}});return{adminCredential:r,userInfos:s}}function Xw({userInfos:r,adminCredential:n}){let s=[],{home:a,credential:l}=r[zc.default.vu.idInTest-1],p=new Or(he.baseURL,he.apiVersion,he.authAdapter,l),x=p.user.me(),[_]=Mi("displayNamed",x?.json(),[l.login]);_!==l.login&&(0,Cs.fail)("userDisplayName does not match");let m=Rr(),T=Rr(),S=Rr();p.resource.create(a,m),s.push(()=>p.resource.delete(a,T)),p.resource.move(a,m,T),p.resource.upload(a,[T,S].join("/"),(0,Vc.randomBytes)(1e3)),p.resource.download(a,[T,S].join("/"));let I=p.share.create(T,n.login,lf.user,cf.all),[P]=kc("ocs.data.id",I.body);P||(0,Cs.fail)("createdShareId is empty"),new Or(he.baseURL,he.apiVersion,he.authAdapter,n).share.accept(P),s.forEach(G=>G())}function jw({userInfos:r,adminCredential:n}){let s=new Or(he.baseURL,he.apiVersion,he.authAdapter,n);r.forEach(({credential:a})=>s.user.delete(a.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/artifacts/surf-upload.js b/packages/k6-tests/artifacts/surf-upload.js new file mode 100644 index 0000000..e821093 --- /dev/null +++ b/packages/k6-tests/artifacts/surf-upload.js @@ -0,0 +1,51 @@ +"use strict";var Lx=Object.create;var oi=Object.defineProperty;var Bx=Object.getOwnPropertyDescriptor;var Mx=Object.getOwnPropertyNames;var qx=Object.getPrototypeOf,$x=Object.prototype.hasOwnProperty;var Be=(r,n)=>()=>(n||r((n={exports:{}}).exports,n),n.exports),Ux=(r,n)=>{for(var s in n)oi(r,s,{get:n[s],enumerable:!0})},aa=(r,n,s,f)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of Mx(n))!$x.call(r,l)&&l!==s&&oi(r,l,{get:()=>n[l],enumerable:!(f=Bx(n,l))||f.enumerable});return r};var ot=(r,n,s)=>(s=r!=null?Lx(qx(r)):{},aa(n||!r||!r.__esModule?oi(s,"default",{value:r,enumerable:!0}):s,r)),Wx=r=>aa(oi({},"__esModule",{value:!0}),r);var hs=Be(bt=>{"use strict";var jl=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",hb=jl+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040",Ql="["+jl+"]["+hb+"]*",db=new RegExp("^"+Ql+"$"),gb=function(r,n){let s=[],f=n.exec(r);for(;f;){let l=[];l.startIndex=n.lastIndex-f[0].length;let p=f.length;for(let v=0;v"u")};bt.isExist=function(r){return typeof r<"u"};bt.isEmptyObject=function(r){return Object.keys(r).length===0};bt.merge=function(r,n,s){if(n){let f=Object.keys(n),l=f.length;for(let p=0;p{"use strict";var ds=hs(),_b={allowBooleanAttributes:!1,unpairedTags:[]};ic.validate=function(r,n){n=Object.assign({},_b,n);let s=[],f=!1,l=!1;r[0]==="\uFEFF"&&(r=r.substr(1));for(let p=0;p"&&r[p]!==" "&&r[p]!==" "&&r[p]!==` +`&&r[p]!=="\r";p++)m+=r[p];if(m=m.trim(),m[m.length-1]==="/"&&(m=m.substring(0,m.length-1),p--),!Eb(m)){let I;return m.trim().length===0?I="Invalid space after '<'.":I="Tag '"+m+"' is an invalid name.",ue("InvalidTag",I,Se(r,p))}let T=yb(r,p);if(T===!1)return ue("InvalidAttr","Attributes for '"+m+"' have open quote.",Se(r,p));let S=T.value;if(p=T.index,S[S.length-1]==="/"){let I=p-S.length;S=S.substring(0,S.length-1);let N=nc(S,n);if(N===!0)f=!0;else return ue(N.err.code,N.err.msg,Se(r,I+N.err.line))}else if(x)if(T.tagClosed){if(S.trim().length>0)return ue("InvalidTag","Closing tag '"+m+"' can't have attributes or invalid starting.",Se(r,v));{let I=s.pop();if(m!==I.tagName){let N=Se(r,I.tagStartPos);return ue("InvalidTag","Expected closing tag '"+I.tagName+"' (opened in line "+N.line+", col "+N.col+") instead of closing tag '"+m+"'.",Se(r,v))}s.length==0&&(l=!0)}}else return ue("InvalidTag","Closing tag '"+m+"' doesn't have proper closing.",Se(r,p));else{let I=nc(S,n);if(I!==!0)return ue(I.err.code,I.err.msg,Se(r,p-S.length+I.err.line));if(l===!0)return ue("InvalidXml","Multiple possible root nodes found.",Se(r,p));n.unpairedTags.indexOf(m)!==-1||s.push({tagName:m,tagStartPos:v}),f=!0}for(p++;p0)return ue("InvalidXml","Invalid '"+JSON.stringify(s.map(p=>p.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return ue("InvalidXml","Start tag expected.",1);return!0};function ec(r){return r===" "||r===" "||r===` +`||r==="\r"}function tc(r,n){let s=n;for(;n5&&f==="xml")return ue("InvalidXml","XML declaration allowed only at the start of the document.",Se(r,n));if(r[n]=="?"&&r[n+1]==">"){n++;break}else continue}return n}function rc(r,n){if(r.length>n+5&&r[n+1]==="-"&&r[n+2]==="-"){for(n+=3;n"){n+=2;break}}else if(r.length>n+8&&r[n+1]==="D"&&r[n+2]==="O"&&r[n+3]==="C"&&r[n+4]==="T"&&r[n+5]==="Y"&&r[n+6]==="P"&&r[n+7]==="E"){let s=1;for(n+=8;n"&&(s--,s===0))break}else if(r.length>n+9&&r[n+1]==="["&&r[n+2]==="C"&&r[n+3]==="D"&&r[n+4]==="A"&&r[n+5]==="T"&&r[n+6]==="A"&&r[n+7]==="["){for(n+=8;n"){n+=2;break}}return n}var xb='"',vb="'";function yb(r,n){let s="",f="",l=!1;for(;n"&&f===""){l=!0;break}s+=r[n]}return f!==""?!1:{value:s,index:n,tagClosed:l}}var bb=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function nc(r,n){let s=ds.getAllMatches(r,bb),f={};for(let l=0;l{var oc={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1},Sb=function(r){return Object.assign({},oc,r)};ms.buildOptions=Sb;ms.defaultOptions=oc});var fc=Be((vR,uc)=>{"use strict";var _s=class{constructor(n){this.tagname=n,this.child=[],this[":@"]={}}add(n,s){n==="__proto__"&&(n="#__proto__"),this.child.push({[n]:s})}addChild(n){n.tagname==="__proto__"&&(n.tagname="#__proto__"),n[":@"]&&Object.keys(n[":@"]).length>0?this.child.push({[n.tagname]:n.child,[":@"]:n[":@"]}):this.child.push({[n.tagname]:n.child})}};uc.exports=_s});var lc=Be((yR,ac)=>{function Ob(r,n){let s={};if(r[n+3]==="O"&&r[n+4]==="C"&&r[n+5]==="T"&&r[n+6]==="Y"&&r[n+7]==="P"&&r[n+8]==="E"){n=n+9;let f=1,l=!1,p=!1,v="";for(;n"){if(p?r[n-1]==="-"&&r[n-2]==="-"&&(p=!1,f--):f--,f===0)break}else r[n]==="["?l=!0:v+=r[n];if(f!==0)throw new Error("Unclosed DOCTYPE")}else throw new Error("Invalid Tag instead of DOCTYPE");return{entities:s,i:n}}function Rb(r,n){let s="";for(;n{var Lb=/^[-+]?0x[a-fA-F0-9]+$/,Bb=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt);!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);var Mb={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};function qb(r,n={}){if(n=Object.assign({},Mb,n),!r||typeof r!="string")return r;let s=r.trim();if(n.skipLike!==void 0&&n.skipLike.test(s))return r;if(n.hex&&Lb.test(s))return Number.parseInt(s,16);{let f=Bb.exec(s);if(f){let l=f[1],p=f[2],v=$b(f[3]),x=f[4]||f[6];if(!n.leadingZeros&&p.length>0&&l&&s[2]!==".")return r;if(!n.leadingZeros&&p.length>0&&!l&&s[1]!==".")return r;{let m=Number(s),T=""+m;return T.search(/[eE]/)!==-1||x?n.eNotation?m:r:s.indexOf(".")!==-1?T==="0"&&v===""||T===v||l&&T==="-"+v?m:r:p?v===T||l+v===T?m:r:s===T||s===l+T?m:r}}else return r}}function $b(r){return r&&r.indexOf(".")!==-1&&(r=r.replace(/0+$/,""),r==="."?r="0":r[0]==="."?r="0"+r:r[r.length-1]==="."&&(r=r.substr(0,r.length-1))),r}cc.exports=qb});var dc=Be((AR,hc)=>{"use strict";var bs=hs(),on=fc(),Ub=lc(),Wb=pc(),wR="<((!\\[CDATA\\[([\\s\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\/)(NAME)\\s*>))([^<]*)".replace(/NAME/g,bs.nameRegexp),xs=class{constructor(n){this.options=n,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"\xA2"},pound:{regex:/&(pound|#163);/g,val:"\xA3"},yen:{regex:/&(yen|#165);/g,val:"\xA5"},euro:{regex:/&(euro|#8364);/g,val:"\u20AC"},copyright:{regex:/&(copy|#169);/g,val:"\xA9"},reg:{regex:/&(reg|#174);/g,val:"\xAE"},inr:{regex:/&(inr|#8377);/g,val:"\u20B9"}},this.addExternalEntities=Gb,this.parseXml=Kb,this.parseTextData=zb,this.resolveNameSpace=kb,this.buildAttributesMap=Vb,this.isItStopNode=Xb,this.replaceEntitiesValue=Db,this.readStopNodeData=Zb,this.saveTextToParentTag=Jb}};function Gb(r){let n=Object.keys(r);for(let s=0;s0)){v||(r=this.replaceEntitiesValue(r));let x=this.options.tagValueProcessor(n,r,s,l,p);return x==null?r:typeof x!=typeof r||x!==r?x:this.options.trimValues?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r.trim()===r?ys(r,this.options.parseTagValue,this.options.numberParseOptions):r}}function kb(r){if(this.options.removeNSPrefix){let n=r.split(":"),s=r.charAt(0)==="/"?"/":"";if(n[0]==="xmlns")return"";n.length===2&&(r=s+n[1])}return r}var Hb=new RegExp(`([^\\s=]+)\\s*(=\\s*(['"])([\\s\\S]*?)\\3)?`,"gm");function Vb(r,n){if(!this.options.ignoreAttributes&&typeof r=="string"){let s=bs.getAllMatches(r,Hb),f=s.length,l={};for(let p=0;p",p,"Closing Tag is not closed."),m=r.substring(p+2,x).trim();if(this.options.removeNSPrefix){let T=m.indexOf(":");T!==-1&&(m=m.substr(T+1))}this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&(f=this.saveTextToParentTag(f,s,l)),l=l.substr(0,l.lastIndexOf(".")),s=this.tagsNodeStack.pop(),f="",p=x}else if(r[p+1]==="?"){let x=vs(r,p,!1,"?>");if(!x)throw new Error("Pi Tag is not closed.");if(f=this.saveTextToParentTag(f,s,l),!(this.options.ignoreDeclaration&&x.tagName==="?xml"||this.options.ignorePiTags)){let m=new on(x.tagName);m.add(this.options.textNodeName,""),x.tagName!==x.tagExp&&x.attrExpPresent&&(m[":@"]=this.buildAttributesMap(x.tagExp,l)),s.addChild(m)}p=x.closeIndex+1}else if(r.substr(p+1,3)==="!--"){let x=jt(r,"-->",p+4,"Comment is not closed.");if(this.options.commentPropName){let m=r.substring(p+4,x-2);f=this.saveTextToParentTag(f,s,l),s.add(this.options.commentPropName,[{[this.options.textNodeName]:m}])}p=x}else if(r.substr(p+1,2)==="!D"){let x=Ub(r,p);this.docTypeEntities=x.entities,p=x.i}else if(r.substr(p+1,2)==="!["){let x=jt(r,"]]>",p,"CDATA is not closed.")-2,m=r.substring(p+9,x);if(f=this.saveTextToParentTag(f,s,l),this.options.cdataPropName)s.add(this.options.cdataPropName,[{[this.options.textNodeName]:m}]);else{let T=this.parseTextData(m,s.tagname,l,!0,!1,!0);T==null&&(T=""),s.add(this.options.textNodeName,T)}p=x+2}else{let x=vs(r,p,this.options.removeNSPrefix),m=x.tagName,T=x.tagExp,S=x.attrExpPresent,I=x.closeIndex;this.options.transformTagName&&(m=this.options.transformTagName(m)),s&&f&&s.tagname!=="!xml"&&(f=this.saveTextToParentTag(f,s,l,!1)),m!==n.tagname&&(l+=l?"."+m:m);let N=s;if(N&&this.options.unpairedTags.indexOf(N.tagname)!==-1&&(s=this.tagsNodeStack.pop()),this.isItStopNode(this.options.stopNodes,l,m)){let F="";if(T.length>0&&T.lastIndexOf("/")===T.length-1)p=x.closeIndex;else if(this.options.unpairedTags.indexOf(m)!==-1)p=x.closeIndex;else{let Y=this.readStopNodeData(r,m,I+1);if(!Y)throw new Error(`Unexpected end of ${m}`);p=Y.i,F=Y.tagContent}let k=new on(m);m!==T&&S&&(k[":@"]=this.buildAttributesMap(T,l)),F&&(F=this.parseTextData(F,m,l,!0,S,!0,!0)),l=l.substr(0,l.lastIndexOf(".")),k.add(this.options.textNodeName,F),s.addChild(k)}else{if(T.length>0&&T.lastIndexOf("/")===T.length-1){m[m.length-1]==="/"?(m=m.substr(0,m.length-1),T=m):T=T.substr(0,T.length-1),this.options.transformTagName&&(m=this.options.transformTagName(m));let F=new on(m);m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),l=l.substr(0,l.lastIndexOf(".")),s.addChild(F)}else{let F=new on(m);this.tagsNodeStack.push(s),m!==T&&S&&(F[":@"]=this.buildAttributesMap(T,l)),s.addChild(F),s=F}f="",p=I}}else f+=r[p];return n.child},Db=function(r){if(this.options.processEntities){for(let n in this.docTypeEntities){let s=this.docTypeEntities[n];r=r.replace(s.regx,s.val)}for(let n in this.lastEntities){let s=this.lastEntities[n];r=r.replace(s.regex,s.val)}if(this.options.htmlEntities)for(let n in this.htmlEntities){let s=this.htmlEntities[n];r=r.replace(s.regex,s.val)}r=r.replace(this.ampEntity.regex,this.ampEntity.val)}return r};function Jb(r,n,s,f){return r&&(f===void 0&&(f=Object.keys(n.child).length===0),r=this.parseTextData(r,n.tagname,s,!1,n[":@"]?Object.keys(n[":@"]).length!==0:!1,f),r!==void 0&&r!==""&&n.add(this.options.textNodeName,r),r=""),r}function Xb(r,n,s){let f="*."+s;for(let l in r){let p=r[l];if(f===p||n===p)return!0}return!1}function Yb(r,n,s=">"){let f,l="";for(let p=n;p",s,`${n} is not closed`);if(r.substring(s+2,p).trim()===n&&(l--,l===0))return{tagContent:r.substring(f,s),i:p};s=p}else if(r[s+1]==="?")s=jt(r,"?>",s+1,"StopNode is not closed.");else if(r.substr(s+1,3)==="!--")s=jt(r,"-->",s+3,"StopNode is not closed.");else if(r.substr(s+1,2)==="![")s=jt(r,"]]>",s,"StopNode is not closed.")-2;else{let p=vs(r,s,">");p&&((p&&p.tagName)===n&&p.tagExp[p.tagExp.length-1]!=="/"&&l++,s=p.closeIndex)}}function ys(r,n,s){if(n&&typeof r=="string"){let f=r.trim();return f==="true"?!0:f==="false"?!1:Wb(r,s)}else return bs.isExist(r)?r:""}hc.exports=xs});var _c=Be(mc=>{"use strict";function jb(r,n){return gc(r,n)}function gc(r,n,s){let f,l={};for(let p=0;p0&&(l[n.textNodeName]=f):f!==void 0&&(l[n.textNodeName]=f),l}function Qb(r){let n=Object.keys(r);for(let s=0;s{var{buildOptions:rw}=sc(),nw=dc(),{prettify:iw}=_c(),ow=gs(),ws=class{constructor(n){this.externalEntities={},this.options=rw(n)}parse(n,s){if(typeof n!="string")if(n.toString)n=n.toString();else throw new Error("XML data is accepted in String or Bytes[] form.");if(s){s===!0&&(s={});let p=ow.validate(n,s);if(p!==!0)throw Error(`${p.err.msg}:${p.err.line}:${p.err.col}`)}let f=new nw(this.options);f.addExternalEntities(this.externalEntities);let l=f.parseXml(n);return this.options.preserveOrder||l===void 0?l:iw(l,this.options)}addEntity(n,s){if(s.indexOf("&")!==-1)throw new Error("Entity value can't have '&'");if(n.indexOf("&")!==-1||n.indexOf(";")!==-1)throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for ' '");if(s==="&")throw new Error("An entity with value '&' is not permitted");this.externalEntities[n]=s}};xc.exports=ws});var Tc=Be((SR,Ac)=>{var sw=` +`;function uw(r,n){let s="";return n.format&&n.indentBy.length>0&&(s=sw),bc(r,n,"",s)}function bc(r,n,s,f){let l="",p=!1;for(let v=0;v`,p=!1;continue}else if(m===n.commentPropName){l+=f+``,p=!0;continue}else if(m[0]==="?"){let k=yc(x[":@"],n),Y=m==="?xml"?"":f,Me=x[m][0][n.textNodeName];Me=Me.length!==0?" "+Me:"",l+=Y+`<${m}${Me}${k}?>`,p=!0;continue}let S=f;S!==""&&(S+=n.indentBy);let I=yc(x[":@"],n),N=f+`<${m}${I}`,F=bc(x[m],n,T,S);n.unpairedTags.indexOf(m)!==-1?n.suppressUnpairedNode?l+=N+">":l+=N+"/>":(!F||F.length===0)&&n.suppressEmptyNode?l+=N+"/>":F&&F.endsWith(">")?l+=N+`>${F}${f}`:(l+=N+">",F&&f!==""&&(F.includes("/>")||F.includes("`),p=!0}return l}function fw(r){let n=Object.keys(r);for(let s=0;s0&&n.processEntities)for(let s=0;s{"use strict";var lw=Tc(),cw={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(r,n){return n},attributeValueProcessor:function(r,n){return n},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&"},{regex:new RegExp(">","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[]};function Wt(r){this.options=Object.assign({},cw,r),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=dw),this.processTextOrObjNode=pw,this.options.format?(this.indentate=hw,this.tagEndChar=`> +`,this.newLine=` +`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}Wt.prototype.build=function(r){return this.options.preserveOrder?lw(r,this.options):(Array.isArray(r)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(r={[this.options.arrayNodeName]:r}),this.j2x(r,0).val)};Wt.prototype.j2x=function(r,n){let s="",f="";for(let l in r)if(!(typeof r[l]>"u"))if(r[l]===null)l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar;else if(r[l]instanceof Date)f+=this.buildTextValNode(r[l],l,"",n);else if(typeof r[l]!="object"){let p=this.isAttribute(l);if(p)s+=this.buildAttrPairStr(p,""+r[l]);else if(l===this.options.textNodeName){let v=this.options.tagValueProcessor(l,""+r[l]);f+=this.replaceEntitiesValue(v)}else f+=this.buildTextValNode(r[l],l,"",n)}else if(Array.isArray(r[l])){let p=r[l].length;for(let v=0;v"u"||(x===null?l[0]==="?"?f+=this.indentate(n)+"<"+l+"?"+this.tagEndChar:f+=this.indentate(n)+"<"+l+"/"+this.tagEndChar:typeof x=="object"?f+=this.processTextOrObjNode(x,l,n):f+=this.buildTextValNode(x,l,"",n))}}else if(this.options.attributesGroupName&&l===this.options.attributesGroupName){let p=Object.keys(r[l]),v=p.length;for(let x=0;x"+r+l:this.options.commentPropName!==!1&&n===this.options.commentPropName&&p.length===0?this.indentate(f)+``+this.newLine:this.indentate(f)+"<"+n+s+p+this.tagEndChar+r+this.indentate(f)+l}};Wt.prototype.closeTag=function(r){let n="";return this.options.unpairedTags.indexOf(r)!==-1?this.options.suppressUnpairedNode||(n="/"):this.options.suppressEmptyNode?n="/":n=`>`+this.newLine;if(this.options.commentPropName!==!1&&n===this.options.commentPropName)return this.indentate(f)+``+this.newLine;if(n[0]==="?")return this.indentate(f)+"<"+n+s+"?"+this.tagEndChar;{let l=this.options.tagValueProcessor(n,r);return l=this.replaceEntitiesValue(l),l===""?this.indentate(f)+"<"+n+s+this.closeTag(n)+this.tagEndChar:this.indentate(f)+"<"+n+s+">"+l+"0&&this.options.processEntities)for(let n=0;n{"use strict";var gw=gs(),mw=vc(),_w=Sc();Oc.exports={XMLParser:mw,XMLValidator:gw,XMLBuilder:_w}});var Wc=Be((Or,ln)=>{(function(){var r,n="4.17.21",s=200,f="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",l="Expected a function",p="Invalid `variable` option passed into `_.template`",v="__lodash_hash_undefined__",x=500,m="__lodash_placeholder__",T=1,S=2,I=4,N=1,F=2,k=1,Y=2,Me=4,ye=8,wt=16,me=32,ft=64,De=128,Re=256,At=512,Gt=30,qi="...",Rr=800,ne=16,cn=1,kc=2,Hc=3,zt=1/0,Tt=9007199254740991,Vc=17976931348623157e292,pn=0/0,tt=4294967295,Kc=tt-1,Dc=tt>>>1,Jc=[["ary",De],["bind",k],["bindKey",Y],["curry",ye],["curryRight",wt],["flip",At],["partial",me],["partialRight",ft],["rearg",Re]],tr="[object Arguments]",hn="[object Array]",Xc="[object AsyncFunction]",Ir="[object Boolean]",Cr="[object Date]",Yc="[object DOMException]",dn="[object Error]",gn="[object Function]",Ns="[object GeneratorFunction]",Je="[object Map]",Nr="[object Number]",Zc="[object Null]",at="[object Object]",Ps="[object Promise]",jc="[object Proxy]",Pr="[object RegExp]",Xe="[object Set]",Fr="[object String]",mn="[object Symbol]",Qc="[object Undefined]",Lr="[object WeakMap]",ep="[object WeakSet]",Br="[object ArrayBuffer]",rr="[object DataView]",$i="[object Float32Array]",Ui="[object Float64Array]",Wi="[object Int8Array]",Gi="[object Int16Array]",zi="[object Int32Array]",ki="[object Uint8Array]",Hi="[object Uint8ClampedArray]",Vi="[object Uint16Array]",Ki="[object Uint32Array]",tp=/\b__p \+= '';/g,rp=/\b(__p \+=) '' \+/g,np=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Fs=/&(?:amp|lt|gt|quot|#39);/g,Ls=/[&<>"']/g,ip=RegExp(Fs.source),op=RegExp(Ls.source),sp=/<%-([\s\S]+?)%>/g,up=/<%([\s\S]+?)%>/g,Bs=/<%=([\s\S]+?)%>/g,fp=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,ap=/^\w*$/,lp=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Di=/[\\^$.*+?()[\]{}|]/g,cp=RegExp(Di.source),Ji=/^\s+/,pp=/\s/,hp=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,dp=/\{\n\/\* \[wrapped with (.+)\] \*/,gp=/,? & /,mp=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,_p=/[()=,{}\[\]\/\s]/,xp=/\\(\\)?/g,vp=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ms=/\w*$/,yp=/^[-+]0x[0-9a-f]+$/i,bp=/^0b[01]+$/i,wp=/^\[object .+?Constructor\]$/,Ap=/^0o[0-7]+$/i,Tp=/^(?:0|[1-9]\d*)$/,Ep=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,_n=/($^)/,Sp=/['\n\r\u2028\u2029\\]/g,xn="\\ud800-\\udfff",Op="\\u0300-\\u036f",Rp="\\ufe20-\\ufe2f",Ip="\\u20d0-\\u20ff",qs=Op+Rp+Ip,$s="\\u2700-\\u27bf",Us="a-z\\xdf-\\xf6\\xf8-\\xff",Cp="\\xac\\xb1\\xd7\\xf7",Np="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Pp="\\u2000-\\u206f",Fp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ws="A-Z\\xc0-\\xd6\\xd8-\\xde",Gs="\\ufe0e\\ufe0f",zs=Cp+Np+Pp+Fp,Xi="['\u2019]",Lp="["+xn+"]",ks="["+zs+"]",vn="["+qs+"]",Hs="\\d+",Bp="["+$s+"]",Vs="["+Us+"]",Ks="[^"+xn+zs+Hs+$s+Us+Ws+"]",Yi="\\ud83c[\\udffb-\\udfff]",Mp="(?:"+vn+"|"+Yi+")",Ds="[^"+xn+"]",Zi="(?:\\ud83c[\\udde6-\\uddff]){2}",ji="[\\ud800-\\udbff][\\udc00-\\udfff]",nr="["+Ws+"]",Js="\\u200d",Xs="(?:"+Vs+"|"+Ks+")",qp="(?:"+nr+"|"+Ks+")",Ys="(?:"+Xi+"(?:d|ll|m|re|s|t|ve))?",Zs="(?:"+Xi+"(?:D|LL|M|RE|S|T|VE))?",js=Mp+"?",Qs="["+Gs+"]?",$p="(?:"+Js+"(?:"+[Ds,Zi,ji].join("|")+")"+Qs+js+")*",Up="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Wp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",eu=Qs+js+$p,Gp="(?:"+[Bp,Zi,ji].join("|")+")"+eu,zp="(?:"+[Ds+vn+"?",vn,Zi,ji,Lp].join("|")+")",kp=RegExp(Xi,"g"),Hp=RegExp(vn,"g"),Qi=RegExp(Yi+"(?="+Yi+")|"+zp+eu,"g"),Vp=RegExp([nr+"?"+Vs+"+"+Ys+"(?="+[ks,nr,"$"].join("|")+")",qp+"+"+Zs+"(?="+[ks,nr+Xs,"$"].join("|")+")",nr+"?"+Xs+"+"+Ys,nr+"+"+Zs,Wp,Up,Hs,Gp].join("|"),"g"),Kp=RegExp("["+Js+xn+qs+Gs+"]"),Dp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Jp=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Xp=-1,j={};j[$i]=j[Ui]=j[Wi]=j[Gi]=j[zi]=j[ki]=j[Hi]=j[Vi]=j[Ki]=!0,j[tr]=j[hn]=j[Br]=j[Ir]=j[rr]=j[Cr]=j[dn]=j[gn]=j[Je]=j[Nr]=j[at]=j[Pr]=j[Xe]=j[Fr]=j[Lr]=!1;var Z={};Z[tr]=Z[hn]=Z[Br]=Z[rr]=Z[Ir]=Z[Cr]=Z[$i]=Z[Ui]=Z[Wi]=Z[Gi]=Z[zi]=Z[Je]=Z[Nr]=Z[at]=Z[Pr]=Z[Xe]=Z[Fr]=Z[mn]=Z[ki]=Z[Hi]=Z[Vi]=Z[Ki]=!0,Z[dn]=Z[gn]=Z[Lr]=!1;var Yp={\u00C0:"A",\u00C1:"A",\u00C2:"A",\u00C3:"A",\u00C4:"A",\u00C5:"A",\u00E0:"a",\u00E1:"a",\u00E2:"a",\u00E3:"a",\u00E4:"a",\u00E5:"a",\u00C7:"C",\u00E7:"c",\u00D0:"D",\u00F0:"d",\u00C8:"E",\u00C9:"E",\u00CA:"E",\u00CB:"E",\u00E8:"e",\u00E9:"e",\u00EA:"e",\u00EB:"e",\u00CC:"I",\u00CD:"I",\u00CE:"I",\u00CF:"I",\u00EC:"i",\u00ED:"i",\u00EE:"i",\u00EF:"i",\u00D1:"N",\u00F1:"n",\u00D2:"O",\u00D3:"O",\u00D4:"O",\u00D5:"O",\u00D6:"O",\u00D8:"O",\u00F2:"o",\u00F3:"o",\u00F4:"o",\u00F5:"o",\u00F6:"o",\u00F8:"o",\u00D9:"U",\u00DA:"U",\u00DB:"U",\u00DC:"U",\u00F9:"u",\u00FA:"u",\u00FB:"u",\u00FC:"u",\u00DD:"Y",\u00FD:"y",\u00FF:"y",\u00C6:"Ae",\u00E6:"ae",\u00DE:"Th",\u00FE:"th",\u00DF:"ss",\u0100:"A",\u0102:"A",\u0104:"A",\u0101:"a",\u0103:"a",\u0105:"a",\u0106:"C",\u0108:"C",\u010A:"C",\u010C:"C",\u0107:"c",\u0109:"c",\u010B:"c",\u010D:"c",\u010E:"D",\u0110:"D",\u010F:"d",\u0111:"d",\u0112:"E",\u0114:"E",\u0116:"E",\u0118:"E",\u011A:"E",\u0113:"e",\u0115:"e",\u0117:"e",\u0119:"e",\u011B:"e",\u011C:"G",\u011E:"G",\u0120:"G",\u0122:"G",\u011D:"g",\u011F:"g",\u0121:"g",\u0123:"g",\u0124:"H",\u0126:"H",\u0125:"h",\u0127:"h",\u0128:"I",\u012A:"I",\u012C:"I",\u012E:"I",\u0130:"I",\u0129:"i",\u012B:"i",\u012D:"i",\u012F:"i",\u0131:"i",\u0134:"J",\u0135:"j",\u0136:"K",\u0137:"k",\u0138:"k",\u0139:"L",\u013B:"L",\u013D:"L",\u013F:"L",\u0141:"L",\u013A:"l",\u013C:"l",\u013E:"l",\u0140:"l",\u0142:"l",\u0143:"N",\u0145:"N",\u0147:"N",\u014A:"N",\u0144:"n",\u0146:"n",\u0148:"n",\u014B:"n",\u014C:"O",\u014E:"O",\u0150:"O",\u014D:"o",\u014F:"o",\u0151:"o",\u0154:"R",\u0156:"R",\u0158:"R",\u0155:"r",\u0157:"r",\u0159:"r",\u015A:"S",\u015C:"S",\u015E:"S",\u0160:"S",\u015B:"s",\u015D:"s",\u015F:"s",\u0161:"s",\u0162:"T",\u0164:"T",\u0166:"T",\u0163:"t",\u0165:"t",\u0167:"t",\u0168:"U",\u016A:"U",\u016C:"U",\u016E:"U",\u0170:"U",\u0172:"U",\u0169:"u",\u016B:"u",\u016D:"u",\u016F:"u",\u0171:"u",\u0173:"u",\u0174:"W",\u0175:"w",\u0176:"Y",\u0177:"y",\u0178:"Y",\u0179:"Z",\u017B:"Z",\u017D:"Z",\u017A:"z",\u017C:"z",\u017E:"z",\u0132:"IJ",\u0133:"ij",\u0152:"Oe",\u0153:"oe",\u0149:"'n",\u017F:"s"},Zp={"&":"&","<":"<",">":">",'"':""","'":"'"},jp={"&":"&","<":"<",">":">",""":'"',"'":"'"},Qp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},eh=parseFloat,th=parseInt,tu=typeof global=="object"&&global&&global.Object===Object&&global,rh=typeof self=="object"&&self&&self.Object===Object&&self,le=tu||rh||Function("return this")(),eo=typeof Or=="object"&&Or&&!Or.nodeType&&Or,kt=eo&&typeof ln=="object"&&ln&&!ln.nodeType&&ln,ru=kt&&kt.exports===eo,to=ru&&tu.process,qe=function(){try{var g=kt&&kt.require&&kt.require("util").types;return g||to&&to.binding&&to.binding("util")}catch{}}(),nu=qe&&qe.isArrayBuffer,iu=qe&&qe.isDate,ou=qe&&qe.isMap,su=qe&&qe.isRegExp,uu=qe&&qe.isSet,fu=qe&&qe.isTypedArray;function Ie(g,b,y){switch(y.length){case 0:return g.call(b);case 1:return g.call(b,y[0]);case 2:return g.call(b,y[0],y[1]);case 3:return g.call(b,y[0],y[1],y[2])}return g.apply(b,y)}function nh(g,b,y,R){for(var M=-1,V=g==null?0:g.length;++M-1}function ro(g,b,y){for(var R=-1,M=g==null?0:g.length;++R-1;);return y}function mu(g,b){for(var y=g.length;y--&&ir(b,g[y],0)>-1;);return y}function ph(g,b){for(var y=g.length,R=0;y--;)g[y]===b&&++R;return R}var hh=so(Yp),dh=so(Zp);function gh(g){return"\\"+Qp[g]}function mh(g,b){return g==null?r:g[b]}function or(g){return Kp.test(g)}function _h(g){return Dp.test(g)}function xh(g){for(var b,y=[];!(b=g.next()).done;)y.push(b.value);return y}function lo(g){var b=-1,y=Array(g.size);return g.forEach(function(R,M){y[++b]=[M,R]}),y}function _u(g,b){return function(y){return g(b(y))}}function Ot(g,b){for(var y=-1,R=g.length,M=0,V=[];++y-1}function od(e,t){var i=this.__data__,o=qn(i,e);return o<0?(++this.size,i.push([e,t])):i[o][1]=t,this}lt.prototype.clear=td,lt.prototype.delete=rd,lt.prototype.get=nd,lt.prototype.has=id,lt.prototype.set=od;function ct(e){var t=-1,i=e==null?0:e.length;for(this.clear();++t=t?e:t)),e}function Ge(e,t,i,o,u,c){var h,d=t&T,_=t&S,w=t&I;if(i&&(h=u?i(e,o,u,c):i(e)),h!==r)return h;if(!te(e))return e;var A=q(e);if(A){if(h=ag(e),!d)return be(e,h)}else{var E=de(e),O=E==gn||E==Ns;if(Lt(e))return Qu(e,d);if(E==at||E==tr||O&&!u){if(h=_||O?{}:vf(e),!d)return _?jd(e,bd(h,e)):Zd(e,Iu(h,e))}else{if(!Z[E])return u?e:{};h=lg(e,E,d)}}c||(c=new Ze);var C=c.get(e);if(C)return C;c.set(e,h),Jf(e)?e.forEach(function(B){h.add(Ge(B,t,i,B,e,c))}):Kf(e)&&e.forEach(function(B,G){h.set(G,Ge(B,t,i,G,e,c))});var L=w?_?qo:Mo:_?Ae:ce,U=A?r:L(e);return $e(U||e,function(B,G){U&&(G=B,B=e[G]),zr(h,G,Ge(B,t,i,G,e,c))}),h}function wd(e){var t=ce(e);return function(i){return Cu(i,e,t)}}function Cu(e,t,i){var o=i.length;if(e==null)return!o;for(e=X(e);o--;){var u=i[o],c=t[u],h=e[u];if(h===r&&!(u in e)||!c(h))return!1}return!0}function Nu(e,t,i){if(typeof e!="function")throw new Ue(l);return Xr(function(){e.apply(r,i)},t)}function kr(e,t,i,o){var u=-1,c=yn,h=!0,d=e.length,_=[],w=t.length;if(!d)return _;i&&(t=ee(t,Ce(i))),o?(c=ro,h=!1):t.length>=s&&(c=Mr,h=!1,t=new Kt(t));e:for(;++uu?0:u+i),o=o===r||o>u?u:$(o),o<0&&(o+=u),o=i>o?0:Yf(o);i0&&i(d)?t>1?pe(d,t-1,i,o,u):St(u,d):o||(u[u.length]=d)}return u}var xo=sf(),Lu=sf(!0);function rt(e,t){return e&&xo(e,t,ce)}function vo(e,t){return e&&Lu(e,t,ce)}function Un(e,t){return Et(t,function(i){return mt(e[i])})}function Jt(e,t){t=Pt(t,e);for(var i=0,o=t.length;e!=null&&it}function Ed(e,t){return e!=null&&J.call(e,t)}function Sd(e,t){return e!=null&&t in X(e)}function Od(e,t,i){return e>=he(t,i)&&e=120&&A.length>=120)?new Kt(h&&A):r}A=e[0];var E=-1,O=d[0];e:for(;++E-1;)d!==e&&Cn.call(d,_,1),Cn.call(e,_,1);return e}function Vu(e,t){for(var i=e?t.length:0,o=i-1;i--;){var u=t[i];if(i==o||u!==c){var c=u;gt(u)?Cn.call(e,u,1):Io(e,u)}}return e}function So(e,t){return e+Fn(Eu()*(t-e+1))}function Wd(e,t,i,o){for(var u=-1,c=ae(Pn((t-e)/(i||1)),0),h=y(c);c--;)h[o?c:++u]=e,e+=i;return h}function Oo(e,t){var i="";if(!e||t<1||t>Tt)return i;do t%2&&(i+=e),t=Fn(t/2),t&&(e+=e);while(t);return i}function W(e,t){return Ho(wf(e,t,Te),e+"")}function Gd(e){return Ru(gr(e))}function zd(e,t){var i=gr(e);return Yn(i,Dt(t,0,i.length))}function Kr(e,t,i,o){if(!te(e))return e;t=Pt(t,e);for(var u=-1,c=t.length,h=c-1,d=e;d!=null&&++uu?0:u+t),i=i>u?u:i,i<0&&(i+=u),u=t>i?0:i-t>>>0,t>>>=0;for(var c=y(u);++o>>1,h=e[c];h!==null&&!Pe(h)&&(i?h<=t:h=s){var w=t?null:rg(e);if(w)return wn(w);h=!1,u=Mr,_=new Kt}else _=t?[]:d;e:for(;++o=o?e:ze(e,t,i)}var ju=Fh||function(e){return le.clearTimeout(e)};function Qu(e,t){if(t)return e.slice();var i=e.length,o=yu?yu(i):new e.constructor(i);return e.copy(o),o}function Fo(e){var t=new e.constructor(e.byteLength);return new Rn(t).set(new Rn(e)),t}function Dd(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.byteLength)}function Jd(e){var t=new e.constructor(e.source,Ms.exec(e));return t.lastIndex=e.lastIndex,t}function Xd(e){return Gr?X(Gr.call(e)):{}}function ef(e,t){var i=t?Fo(e.buffer):e.buffer;return new e.constructor(i,e.byteOffset,e.length)}function tf(e,t){if(e!==t){var i=e!==r,o=e===null,u=e===e,c=Pe(e),h=t!==r,d=t===null,_=t===t,w=Pe(t);if(!d&&!w&&!c&&e>t||c&&h&&_&&!d&&!w||o&&h&&_||!i&&_||!u)return 1;if(!o&&!c&&!w&&e=d)return _;var w=i[o];return _*(w=="desc"?-1:1)}}return e.index-t.index}function rf(e,t,i,o){for(var u=-1,c=e.length,h=i.length,d=-1,_=t.length,w=ae(c-h,0),A=y(_+w),E=!o;++d<_;)A[d]=t[d];for(;++u1?i[u-1]:r,h=u>2?i[2]:r;for(c=e.length>3&&typeof c=="function"?(u--,c):r,h&&xe(i[0],i[1],h)&&(c=u<3?r:c,u=1),t=X(t);++o-1?u[c?t[h]:h]:r}}function af(e){return dt(function(t){var i=t.length,o=i,u=We.prototype.thru;for(e&&t.reverse();o--;){var c=t[o];if(typeof c!="function")throw new Ue(l);if(u&&!h&&Jn(c)=="wrapper")var h=new We([],!0)}for(o=h?o:i;++o1&&H.reverse(),A&&_d))return!1;var w=c.get(e),A=c.get(t);if(w&&A)return w==t&&A==e;var E=-1,O=!0,C=i&F?new Kt:r;for(c.set(e,t),c.set(t,e);++E1?"& ":"")+t[o],t=t.join(i>2?", ":" "),e.replace(hp,`{ +/* [wrapped with `+t+`] */ +`)}function pg(e){return q(e)||Zt(e)||!!(Au&&e&&e[Au])}function gt(e,t){var i=typeof e;return t=t??Tt,!!t&&(i=="number"||i!="symbol"&&Tp.test(e))&&e>-1&&e%1==0&&e0){if(++t>=Rr)return arguments[0]}else t=0;return e.apply(r,arguments)}}function Yn(e,t){var i=-1,o=e.length,u=o-1;for(t=t===r?o:t;++i1?e[t-1]:r;return i=typeof i=="function"?(e.pop(),i):r,Lf(e,i)});function Bf(e){var t=a(e);return t.__chain__=!0,t}function Am(e,t){return t(e),e}function Zn(e,t){return t(e)}var Tm=dt(function(e){var t=e.length,i=t?e[0]:0,o=this.__wrapped__,u=function(c){return _o(c,e)};return t>1||this.__actions__.length||!(o instanceof z)||!gt(i)?this.thru(u):(o=o.slice(i,+i+(t?1:0)),o.__actions__.push({func:Zn,args:[u],thisArg:r}),new We(o,this.__chain__).thru(function(c){return t&&!c.length&&c.push(r),c}))});function Em(){return Bf(this)}function Sm(){return new We(this.value(),this.__chain__)}function Om(){this.__values__===r&&(this.__values__=Xf(this.value()));var e=this.__index__>=this.__values__.length,t=e?r:this.__values__[this.__index__++];return{done:e,value:t}}function Rm(){return this}function Im(e){for(var t,i=this;i instanceof Mn;){var o=Rf(i);o.__index__=0,o.__values__=r,t?u.__wrapped__=o:t=o;var u=o;i=i.__wrapped__}return u.__wrapped__=e,t}function Cm(){var e=this.__wrapped__;if(e instanceof z){var t=e;return this.__actions__.length&&(t=new z(this)),t=t.reverse(),t.__actions__.push({func:Zn,args:[Vo],thisArg:r}),new We(t,this.__chain__)}return this.thru(Vo)}function Nm(){return Yu(this.__wrapped__,this.__actions__)}var Pm=kn(function(e,t,i){J.call(e,i)?++e[i]:pt(e,i,1)});function Fm(e,t,i){var o=q(e)?au:Ad;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}function Lm(e,t){var i=q(e)?Et:Fu;return i(e,P(t,3))}var Bm=ff(If),Mm=ff(Cf);function qm(e,t){return pe(jn(e,t),1)}function $m(e,t){return pe(jn(e,t),zt)}function Um(e,t,i){return i=i===r?1:$(i),pe(jn(e,t),i)}function Mf(e,t){var i=q(e)?$e:Ct;return i(e,P(t,3))}function qf(e,t){var i=q(e)?ih:Pu;return i(e,P(t,3))}var Wm=kn(function(e,t,i){J.call(e,i)?e[i].push(t):pt(e,i,[t])});function Gm(e,t,i,o){e=we(e)?e:gr(e),i=i&&!o?$(i):0;var u=e.length;return i<0&&(i=ae(u+i,0)),ni(e)?i<=u&&e.indexOf(t,i)>-1:!!u&&ir(e,t,i)>-1}var zm=W(function(e,t,i){var o=-1,u=typeof t=="function",c=we(e)?y(e.length):[];return Ct(e,function(h){c[++o]=u?Ie(t,h,i):Hr(h,t,i)}),c}),km=kn(function(e,t,i){pt(e,i,t)});function jn(e,t){var i=q(e)?ee:Uu;return i(e,P(t,3))}function Hm(e,t,i,o){return e==null?[]:(q(t)||(t=t==null?[]:[t]),i=o?r:i,q(i)||(i=i==null?[]:[i]),ku(e,t,i))}var Vm=kn(function(e,t,i){e[i?0:1].push(t)},function(){return[[],[]]});function Km(e,t,i){var o=q(e)?no:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Ct)}function Dm(e,t,i){var o=q(e)?oh:hu,u=arguments.length<3;return o(e,P(t,4),i,u,Pu)}function Jm(e,t){var i=q(e)?Et:Fu;return i(e,ti(P(t,3)))}function Xm(e){var t=q(e)?Ru:Gd;return t(e)}function Ym(e,t,i){(i?xe(e,t,i):t===r)?t=1:t=$(t);var o=q(e)?xd:zd;return o(e,t)}function Zm(e){var t=q(e)?vd:Hd;return t(e)}function jm(e){if(e==null)return 0;if(we(e))return ni(e)?sr(e):e.length;var t=de(e);return t==Je||t==Xe?e.size:Ao(e).length}function Qm(e,t,i){var o=q(e)?io:Vd;return i&&xe(e,t,i)&&(t=r),o(e,P(t,3))}var e0=W(function(e,t){if(e==null)return[];var i=t.length;return i>1&&xe(e,t[0],t[1])?t=[]:i>2&&xe(t[0],t[1],t[2])&&(t=[t[0]]),ku(e,pe(t,1),[])}),Qn=Lh||function(){return le.Date.now()};function t0(e,t){if(typeof t!="function")throw new Ue(l);return e=$(e),function(){if(--e<1)return t.apply(this,arguments)}}function $f(e,t,i){return t=i?r:t,t=e&&t==null?e.length:t,ht(e,De,r,r,r,r,t)}function Uf(e,t){var i;if(typeof t!="function")throw new Ue(l);return e=$(e),function(){return--e>0&&(i=t.apply(this,arguments)),e<=1&&(t=r),i}}var Do=W(function(e,t,i){var o=k;if(i.length){var u=Ot(i,hr(Do));o|=me}return ht(e,o,t,i,u)}),Wf=W(function(e,t,i){var o=k|Y;if(i.length){var u=Ot(i,hr(Wf));o|=me}return ht(t,o,e,i,u)});function Gf(e,t,i){t=i?r:t;var o=ht(e,ye,r,r,r,r,r,t);return o.placeholder=Gf.placeholder,o}function zf(e,t,i){t=i?r:t;var o=ht(e,wt,r,r,r,r,r,t);return o.placeholder=zf.placeholder,o}function kf(e,t,i){var o,u,c,h,d,_,w=0,A=!1,E=!1,O=!0;if(typeof e!="function")throw new Ue(l);t=He(t)||0,te(i)&&(A=!!i.leading,E="maxWait"in i,c=E?ae(He(i.maxWait)||0,t):c,O="trailing"in i?!!i.trailing:O);function C(se){var Qe=o,xt=u;return o=u=r,w=se,h=e.apply(xt,Qe),h}function L(se){return w=se,d=Xr(G,t),A?C(se):h}function U(se){var Qe=se-_,xt=se-w,fa=t-Qe;return E?he(fa,c-xt):fa}function B(se){var Qe=se-_,xt=se-w;return _===r||Qe>=t||Qe<0||E&&xt>=c}function G(){var se=Qn();if(B(se))return H(se);d=Xr(G,U(se))}function H(se){return d=r,O&&o?C(se):(o=u=r,h)}function Fe(){d!==r&&ju(d),w=0,o=_=u=d=r}function ve(){return d===r?h:H(Qn())}function Le(){var se=Qn(),Qe=B(se);if(o=arguments,u=this,_=se,Qe){if(d===r)return L(_);if(E)return ju(d),d=Xr(G,t),C(_)}return d===r&&(d=Xr(G,t)),h}return Le.cancel=Fe,Le.flush=ve,Le}var r0=W(function(e,t){return Nu(e,1,t)}),n0=W(function(e,t,i){return Nu(e,He(t)||0,i)});function i0(e){return ht(e,At)}function ei(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ue(l);var i=function(){var o=arguments,u=t?t.apply(this,o):o[0],c=i.cache;if(c.has(u))return c.get(u);var h=e.apply(this,o);return i.cache=c.set(u,h)||c,h};return i.cache=new(ei.Cache||ct),i}ei.Cache=ct;function ti(e){if(typeof e!="function")throw new Ue(l);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function o0(e){return Uf(2,e)}var s0=Kd(function(e,t){t=t.length==1&&q(t[0])?ee(t[0],Ce(P())):ee(pe(t,1),Ce(P()));var i=t.length;return W(function(o){for(var u=-1,c=he(o.length,i);++u=t}),Zt=Mu(function(){return arguments}())?Mu:function(e){return ie(e)&&J.call(e,"callee")&&!wu.call(e,"callee")},q=y.isArray,b0=nu?Ce(nu):Id;function we(e){return e!=null&&ri(e.length)&&!mt(e)}function oe(e){return ie(e)&&we(e)}function w0(e){return e===!0||e===!1||ie(e)&&_e(e)==Ir}var Lt=Mh||os,A0=iu?Ce(iu):Cd;function T0(e){return ie(e)&&e.nodeType===1&&!Yr(e)}function E0(e){if(e==null)return!0;if(we(e)&&(q(e)||typeof e=="string"||typeof e.splice=="function"||Lt(e)||dr(e)||Zt(e)))return!e.length;var t=de(e);if(t==Je||t==Xe)return!e.size;if(Jr(e))return!Ao(e).length;for(var i in e)if(J.call(e,i))return!1;return!0}function S0(e,t){return Vr(e,t)}function O0(e,t,i){i=typeof i=="function"?i:r;var o=i?i(e,t):r;return o===r?Vr(e,t,r,i):!!o}function Xo(e){if(!ie(e))return!1;var t=_e(e);return t==dn||t==Yc||typeof e.message=="string"&&typeof e.name=="string"&&!Yr(e)}function R0(e){return typeof e=="number"&&Tu(e)}function mt(e){if(!te(e))return!1;var t=_e(e);return t==gn||t==Ns||t==Xc||t==jc}function Vf(e){return typeof e=="number"&&e==$(e)}function ri(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=Tt}function te(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var Kf=ou?Ce(ou):Pd;function I0(e,t){return e===t||wo(e,t,Uo(t))}function C0(e,t,i){return i=typeof i=="function"?i:r,wo(e,t,Uo(t),i)}function N0(e){return Df(e)&&e!=+e}function P0(e){if(gg(e))throw new M(f);return qu(e)}function F0(e){return e===null}function L0(e){return e==null}function Df(e){return typeof e=="number"||ie(e)&&_e(e)==Nr}function Yr(e){if(!ie(e)||_e(e)!=at)return!1;var t=In(e);if(t===null)return!0;var i=J.call(t,"constructor")&&t.constructor;return typeof i=="function"&&i instanceof i&&En.call(i)==Ch}var Yo=su?Ce(su):Fd;function B0(e){return Vf(e)&&e>=-Tt&&e<=Tt}var Jf=uu?Ce(uu):Ld;function ni(e){return typeof e=="string"||!q(e)&&ie(e)&&_e(e)==Fr}function Pe(e){return typeof e=="symbol"||ie(e)&&_e(e)==mn}var dr=fu?Ce(fu):Bd;function M0(e){return e===r}function q0(e){return ie(e)&&de(e)==Lr}function $0(e){return ie(e)&&_e(e)==ep}var U0=Dn(To),W0=Dn(function(e,t){return e<=t});function Xf(e){if(!e)return[];if(we(e))return ni(e)?Ye(e):be(e);if(qr&&e[qr])return xh(e[qr]());var t=de(e),i=t==Je?lo:t==Xe?wn:gr;return i(e)}function _t(e){if(!e)return e===0?e:0;if(e=He(e),e===zt||e===-zt){var t=e<0?-1:1;return t*Vc}return e===e?e:0}function $(e){var t=_t(e),i=t%1;return t===t?i?t-i:t:0}function Yf(e){return e?Dt($(e),0,tt):0}function He(e){if(typeof e=="number")return e;if(Pe(e))return pn;if(te(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=te(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=du(e);var i=bp.test(e);return i||Ap.test(e)?th(e.slice(2),i?2:8):yp.test(e)?pn:+e}function Zf(e){return nt(e,Ae(e))}function G0(e){return e?Dt($(e),-Tt,Tt):e===0?e:0}function K(e){return e==null?"":Ne(e)}var z0=cr(function(e,t){if(Jr(t)||we(t)){nt(t,ce(t),e);return}for(var i in t)J.call(t,i)&&zr(e,i,t[i])}),jf=cr(function(e,t){nt(t,Ae(t),e)}),ii=cr(function(e,t,i,o){nt(t,Ae(t),e,o)}),k0=cr(function(e,t,i,o){nt(t,ce(t),e,o)}),H0=dt(_o);function V0(e,t){var i=lr(e);return t==null?i:Iu(i,t)}var K0=W(function(e,t){e=X(e);var i=-1,o=t.length,u=o>2?t[2]:r;for(u&&xe(t[0],t[1],u)&&(o=1);++i1),c}),nt(e,qo(e),i),o&&(i=Ge(i,T|S|I,ng));for(var u=t.length;u--;)Io(i,t[u]);return i});function l_(e,t){return ea(e,ti(P(t)))}var c_=dt(function(e,t){return e==null?{}:$d(e,t)});function ea(e,t){if(e==null)return{};var i=ee(qo(e),function(o){return[o]});return t=P(t),Hu(e,i,function(o,u){return t(o,u[0])})}function p_(e,t,i){t=Pt(t,e);var o=-1,u=t.length;for(u||(u=1,e=r);++ot){var o=e;e=t,t=o}if(i||e%1||t%1){var u=Eu();return he(e+u*(t-e+eh("1e-"+((u+"").length-1))),t)}return So(e,t)}var A_=pr(function(e,t,i){return t=t.toLowerCase(),e+(i?na(t):t)});function na(e){return Qo(K(e).toLowerCase())}function ia(e){return e=K(e),e&&e.replace(Ep,hh).replace(Hp,"")}function T_(e,t,i){e=K(e),t=Ne(t);var o=e.length;i=i===r?o:Dt($(i),0,o);var u=i;return i-=t.length,i>=0&&e.slice(i,u)==t}function E_(e){return e=K(e),e&&op.test(e)?e.replace(Ls,dh):e}function S_(e){return e=K(e),e&&cp.test(e)?e.replace(Di,"\\$&"):e}var O_=pr(function(e,t,i){return e+(i?"-":"")+t.toLowerCase()}),R_=pr(function(e,t,i){return e+(i?" ":"")+t.toLowerCase()}),I_=uf("toLowerCase");function C_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;if(!t||o>=t)return e;var u=(t-o)/2;return Kn(Fn(u),i)+e+Kn(Pn(u),i)}function N_(e,t,i){e=K(e),t=$(t);var o=t?sr(e):0;return t&&o>>0,i?(e=K(e),e&&(typeof t=="string"||t!=null&&!Yo(t))&&(t=Ne(t),!t&&or(e))?Ft(Ye(e),0,i):e.split(t,i)):[]}var $_=pr(function(e,t,i){return e+(i?" ":"")+Qo(t)});function U_(e,t,i){return e=K(e),i=i==null?0:Dt($(i),0,e.length),t=Ne(t),e.slice(i,i+t.length)==t}function W_(e,t,i){var o=a.templateSettings;i&&xe(e,t,i)&&(t=r),e=K(e),t=ii({},t,o,df);var u=ii({},t.imports,o.imports,df),c=ce(u),h=ao(u,c),d,_,w=0,A=t.interpolate||_n,E="__p += '",O=co((t.escape||_n).source+"|"+A.source+"|"+(A===Bs?vp:_n).source+"|"+(t.evaluate||_n).source+"|$","g"),C="//# sourceURL="+(J.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Xp+"]")+` +`;e.replace(O,function(B,G,H,Fe,ve,Le){return H||(H=Fe),E+=e.slice(w,Le).replace(Sp,gh),G&&(d=!0,E+=`' + +__e(`+G+`) + +'`),ve&&(_=!0,E+=`'; +`+ve+`; +__p += '`),H&&(E+=`' + +((__t = (`+H+`)) == null ? '' : __t) + +'`),w=Le+B.length,B}),E+=`'; +`;var L=J.call(t,"variable")&&t.variable;if(!L)E=`with (obj) { +`+E+` +} +`;else if(_p.test(L))throw new M(p);E=(_?E.replace(tp,""):E).replace(rp,"$1").replace(np,"$1;"),E="function("+(L||"obj")+`) { +`+(L?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(d?", __e = _.escape":"")+(_?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+E+`return __p +}`;var U=sa(function(){return V(c,C+"return "+E).apply(r,h)});if(U.source=E,Xo(U))throw U;return U}function G_(e){return K(e).toLowerCase()}function z_(e){return K(e).toUpperCase()}function k_(e,t,i){if(e=K(e),e&&(i||t===r))return du(e);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=Ye(t),c=gu(o,u),h=mu(o,u)+1;return Ft(o,c,h).join("")}function H_(e,t,i){if(e=K(e),e&&(i||t===r))return e.slice(0,xu(e)+1);if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=mu(o,Ye(t))+1;return Ft(o,0,u).join("")}function V_(e,t,i){if(e=K(e),e&&(i||t===r))return e.replace(Ji,"");if(!e||!(t=Ne(t)))return e;var o=Ye(e),u=gu(o,Ye(t));return Ft(o,u).join("")}function K_(e,t){var i=Gt,o=qi;if(te(t)){var u="separator"in t?t.separator:u;i="length"in t?$(t.length):i,o="omission"in t?Ne(t.omission):o}e=K(e);var c=e.length;if(or(e)){var h=Ye(e);c=h.length}if(i>=c)return e;var d=i-sr(o);if(d<1)return o;var _=h?Ft(h,0,d).join(""):e.slice(0,d);if(u===r)return _+o;if(h&&(d+=_.length-d),Yo(u)){if(e.slice(d).search(u)){var w,A=_;for(u.global||(u=co(u.source,K(Ms.exec(u))+"g")),u.lastIndex=0;w=u.exec(A);)var E=w.index;_=_.slice(0,E===r?d:E)}}else if(e.indexOf(Ne(u),d)!=d){var O=_.lastIndexOf(u);O>-1&&(_=_.slice(0,O))}return _+o}function D_(e){return e=K(e),e&&ip.test(e)?e.replace(Fs,wh):e}var J_=pr(function(e,t,i){return e+(i?" ":"")+t.toUpperCase()}),Qo=uf("toUpperCase");function oa(e,t,i){return e=K(e),t=i?r:t,t===r?_h(e)?Eh(e):fh(e):e.match(t)||[]}var sa=W(function(e,t){try{return Ie(e,r,t)}catch(i){return Xo(i)?i:new M(i)}}),X_=dt(function(e,t){return $e(t,function(i){i=it(i),pt(e,i,Do(e[i],e))}),e});function Y_(e){var t=e==null?0:e.length,i=P();return e=t?ee(e,function(o){if(typeof o[1]!="function")throw new Ue(l);return[i(o[0]),o[1]]}):[],W(function(o){for(var u=-1;++uTt)return[];var i=tt,o=he(e,tt);t=P(t),e-=tt;for(var u=fo(o,t);++i0||t<0)?new z(i):(e<0?i=i.takeRight(-e):e&&(i=i.drop(e)),t!==r&&(t=$(t),i=t<0?i.dropRight(-t):i.take(t-e)),i)},z.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},z.prototype.toArray=function(){return this.take(tt)},rt(z.prototype,function(e,t){var i=/^(?:filter|find|map|reject)|While$/.test(t),o=/^(?:head|last)$/.test(t),u=a[o?"take"+(t=="last"?"Right":""):t],c=o||/^find/.test(t);u&&(a.prototype[t]=function(){var h=this.__wrapped__,d=o?[1]:arguments,_=h instanceof z,w=d[0],A=_||q(h),E=function(G){var H=u.apply(a,St([G],d));return o&&O?H[0]:H};A&&i&&typeof w=="function"&&w.length!=1&&(_=A=!1);var O=this.__chain__,C=!!this.__actions__.length,L=c&&!O,U=_&&!C;if(!c&&A){h=U?h:new z(this);var B=e.apply(h,d);return B.__actions__.push({func:Zn,args:[E],thisArg:r}),new We(B,O)}return L&&U?e.apply(this,d):(B=this.thru(E),L?o?B.value()[0]:B.value():B)})}),$e(["pop","push","shift","sort","splice","unshift"],function(e){var t=An[e],i=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",o=/^(?:pop|shift)$/.test(e);a.prototype[e]=function(){var u=arguments;if(o&&!this.__chain__){var c=this.value();return t.apply(q(c)?c:[],u)}return this[i](function(h){return t.apply(q(h)?h:[],u)})}}),rt(z.prototype,function(e,t){var i=a[t];if(i){var o=i.name+"";J.call(ar,o)||(ar[o]=[]),ar[o].push({name:t,func:i})}}),ar[Hn(r,Y).name]=[{name:"wrapper",func:r}],z.prototype.clone=Dh,z.prototype.reverse=Jh,z.prototype.value=Xh,a.prototype.at=Tm,a.prototype.chain=Em,a.prototype.commit=Sm,a.prototype.next=Om,a.prototype.plant=Im,a.prototype.reverse=Cm,a.prototype.toJSON=a.prototype.valueOf=a.prototype.value=Nm,a.prototype.first=a.prototype.head,qr&&(a.prototype[qr]=Rm),a},Rt=Sh();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(le._=Rt,define(function(){return Rt})):kt?((kt.exports=Rt)._=Rt,eo._=Rt):le._=Rt}).call(Or)});var Kw={};Ux(Kw,{default:()=>Hw,options:()=>zc,setup:()=>kw,teardown:()=>Vw});module.exports=Wx(Kw);var Pw=ot(require("k6/encoding")),Fw=require("k6"),Lw=ot(require("k6/http"));var Gx=typeof global=="object"&&global&&global.Object===Object&&global,si=Gx;var zx=typeof self=="object"&&self&&self.Object===Object&&self,kx=si||zx||Function("return this")(),Ve=kx;var Hx=Ve.Symbol,vt=Hx;var la=Object.prototype,Vx=la.hasOwnProperty,Kx=la.toString,Zr=vt?vt.toStringTag:void 0;function Dx(r){var n=Vx.call(r,Zr),s=r[Zr];try{r[Zr]=void 0;var f=!0}catch{}var l=Kx.call(r);return f&&(n?r[Zr]=s:delete r[Zr]),l}var ca=Dx;var Jx=Object.prototype,Xx=Jx.toString;function Yx(r){return Xx.call(r)}var pa=Yx;var Zx="[object Null]",jx="[object Undefined]",ha=vt?vt.toStringTag:void 0;function Qx(r){return r==null?r===void 0?jx:Zx:ha&&ha in Object(r)?ca(r):pa(r)}var st=Qx;function ev(r){return r!=null&&typeof r=="object"}var Ke=ev;var tv="[object Symbol]";function rv(r){return typeof r=="symbol"||Ke(r)&&st(r)==tv}var mr=rv;function nv(r,n){for(var s=-1,f=r==null?0:r.length,l=Array(f);++s0){if(++n>=Nv)return arguments[0]}else n=0;return r.apply(void 0,arguments)}}var Ra=Lv;function Bv(r){return function(){return r}}var Ia=Bv;var Mv=function(){try{var r=xr(Object,"defineProperty");return r({},"",{}),r}catch{}}(),vr=Mv;var qv=vr?function(r,n){return vr(r,"toString",{configurable:!0,enumerable:!1,value:Ia(n),writable:!0})}:ui,Ca=qv;var $v=Ra(Ca),Na=$v;var Uv=9007199254740991,Wv=/^(?:0|[1-9]\d*)$/;function Gv(r,n){var s=typeof r;return n=n??Uv,!!n&&(s=="number"||s!="symbol"&&Wv.test(r))&&r>-1&&r%1==0&&r-1&&r%1==0&&r<=Yv}var li=Zv;function jv(r){return r!=null&&li(r.length)&&!_r(r)}var br=jv;function Qv(r,n,s){if(!Ee(s))return!1;var f=typeof n;return(f=="number"?br(s)&&ai(n,s.length):f=="string"&&n in s)?Bt(s[n],r):!1}var qa=Qv;function ey(r){return Ma(function(n,s){var f=-1,l=s.length,p=l>1?s[l-1]:void 0,v=l>2?s[2]:void 0;for(p=r.length>3&&typeof p=="function"?(l--,p):void 0,v&&qa(s[0],s[1],v)&&(p=l<3?void 0:p,l=1),n=Object(n);++f-1}var fl=x1;function v1(r,n){var s=this.__data__,f=Mt(s,r);return f<0?(++this.size,s.push([r,n])):s[f][1]=n,this}var al=v1;function Ar(r){var n=-1,s=r==null?0:r.length;for(this.clear();++n(f,l,p,v)=>{let x=s||{};return n&&_i(x,{headers:{Authorization:n.header}}),Kl.default.request(f,Jl(r,l),p,_i(x,v))};var Xl=require("https://jslib.k6.io/url/1.0.0/index.js"),ps=class{#e;constructor(n){this.#e=new Xl.URLSearchParams(n)}object(){return Object.fromEntries(this.#e)}},Jl=(...r)=>r.join("/").replace(/(?Object.keys(r).map(n=>encodeURIComponent(n)+"="+encodeURIComponent(r[n]||"")).join("&"),Zl=r=>new ps(new URL(r||"").search).object();var Nw=ot(As()),Fc=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function ut(r){return ut=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},ut(r)}function Ic(r,n){if(!(r instanceof n))throw new TypeError("Cannot call a class as a function")}function Rc(r,n){for(var s=0;s"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function sn(r,n,s){return Nc()?sn=Reflect.construct.bind():sn=function(l,p,v){var x=[null];x.push.apply(x,p);var m=Function.bind.apply(l,x),T=new m;return v&&fn(T,v.prototype),T},sn.apply(null,arguments)}function vw(r){return Function.toString.call(r).indexOf("[native code]")!==-1}function Ts(r){var n=typeof Map=="function"?new Map:void 0;return Ts=function(f){if(f===null||!vw(f))return f;if(typeof f!="function")throw new TypeError("Super expression must either be null or a function");if(typeof n<"u"){if(n.has(f))return n.get(f);n.set(f,l)}function l(){return sn(f,arguments,un(this).constructor)}return l.prototype=Object.create(f.prototype,{constructor:{value:l,enumerable:!1,writable:!0,configurable:!0}}),fn(l,f)},Ts(r)}function yw(r){if(r===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return r}function bw(r,n){if(n&&(typeof n=="object"||typeof n=="function"))return n;if(n!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return yw(r)}function ww(r){var n=Nc();return function(){var f=un(r),l;if(n){var p=un(this).constructor;l=Reflect.construct(f,arguments,p)}else l=f.apply(this,arguments);return bw(this,l)}}function Aw(r){return Tw(r)||Ew(r)||Pc(r)||Sw()}function Tw(r){if(Array.isArray(r))return Es(r)}function Ew(r){if(typeof Symbol<"u"&&r[Symbol.iterator]!=null||r["@@iterator"]!=null)return Array.from(r)}function Pc(r,n){if(r){if(typeof r=="string")return Es(r,n);var s=Object.prototype.toString.call(r).slice(8,-1);if(s==="Object"&&r.constructor&&(s=r.constructor.name),s==="Map"||s==="Set")return Array.from(r);if(s==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(s))return Es(r,n)}}function Es(r,n){(n==null||n>r.length)&&(n=r.length);for(var s=0,f=new Array(n);s=r.length?{done:!0}:{done:!1,value:r[f++]}},e:function(m){throw m},f:l}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var p=!0,v=!1,x;return{s:function(){s=s.call(r)},n:function(){var m=s.next();return p=m.done,m},e:function(m){v=!0,x=m},f:function(){try{!p&&s.return!=null&&s.return()}finally{if(v)throw x}}}}var Oe=Object.prototype.hasOwnProperty;function Qt(r,n){return r=r.slice(),r.push(n),r}function Ss(r,n){return n=n.slice(),n.unshift(r),n}var Rw=function(r){xw(s,r);var n=ww(s);function s(f){var l;return Ic(this,s),l=n.call(this,'JSONPath should not be called with "new" (it prevents return of (unwrapped) scalar values)'),l.avoidNew=!0,l.value=f,l.name="NewError",l}return Cc(s)}(Ts(Error));function D(r,n,s,f,l){if(!(this instanceof D))try{return new D(r,n,s,f,l)}catch(m){if(!m.avoidNew)throw m;return m.value}typeof r=="string"&&(l=f,f=s,s=n,n=r,r=null);var p=r&&ut(r)==="object";if(r=r||{},this.json=r.json||s,this.path=r.path||n,this.resultType=r.resultType||"value",this.flatten=r.flatten||!1,this.wrap=Oe.call(r,"wrap")?r.wrap:!0,this.sandbox=r.sandbox||{},this.preventEval=r.preventEval||!1,this.parent=r.parent||null,this.parentProperty=r.parentProperty||null,this.callback=r.callback||f||null,this.otherTypeCallback=r.otherTypeCallback||l||function(){throw new TypeError("You must supply an otherTypeCallback callback option with the @other() operator.")},r.autostart!==!1){var v={path:p?r.path:n};p?"json"in r&&(v.json=r.json):v.json=s;var x=this.evaluate(v);if(!x||ut(x)!=="object")throw new Rw(x);return x}}D.prototype.evaluate=function(r,n,s,f){var l=this,p=this.parent,v=this.parentProperty,x=this.flatten,m=this.wrap;if(this.currResultType=this.resultType,this.currPreventEval=this.preventEval,this.currSandbox=this.sandbox,s=s||this.callback,this.currOtherTypeCallback=f||this.otherTypeCallback,n=n||this.json,r=r||this.path,r&&ut(r)==="object"&&!Array.isArray(r)){if(!r.path&&r.path!=="")throw new TypeError('You must supply a "path" property when providing an object argument to JSONPath.evaluate().');if(!Oe.call(r,"json"))throw new TypeError('You must supply a "json" property when providing an object argument to JSONPath.evaluate().');var T=r;n=T.json,x=Oe.call(r,"flatten")?r.flatten:x,this.currResultType=Oe.call(r,"resultType")?r.resultType:this.currResultType,this.currSandbox=Oe.call(r,"sandbox")?r.sandbox:this.currSandbox,m=Oe.call(r,"wrap")?r.wrap:m,this.currPreventEval=Oe.call(r,"preventEval")?r.preventEval:this.currPreventEval,s=Oe.call(r,"callback")?r.callback:s,this.currOtherTypeCallback=Oe.call(r,"otherTypeCallback")?r.otherTypeCallback:this.currOtherTypeCallback,p=Oe.call(r,"parent")?r.parent:p,v=Oe.call(r,"parentProperty")?r.parentProperty:v,r=r.path}if(p=p||null,v=v||null,Array.isArray(r)&&(r=D.toPathString(r)),!(!r&&r!==""||!n)){var S=D.toPathArray(r);S[0]==="$"&&S.length>1&&S.shift(),this._hasParentSelector=null;var I=this._trace(S,n,["$"],p,v,s).filter(function(N){return N&&!N.isParentSelector});return I.length?!m&&I.length===1&&!I[0].hasArrExpr?this._getPreferredOutput(I[0]):I.reduce(function(N,F){var k=l._getPreferredOutput(F);return x&&Array.isArray(k)?N=N.concat(k):N.push(k),N},[]):m?[]:void 0}};D.prototype._getPreferredOutput=function(r){var n=this.currResultType;switch(n){case"all":{var s=Array.isArray(r.path)?r.path:D.toPathArray(r.path);return r.pointer=D.toPointer(s),r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),r}case"value":case"parent":case"parentProperty":return r[n];case"path":return D.toPathString(r[n]);case"pointer":return D.toPointer(r.path);default:throw new TypeError("Unknown result type")}};D.prototype._handleCallback=function(r,n,s){if(n){var f=this._getPreferredOutput(r);r.path=typeof r.path=="string"?r.path:D.toPathString(r.path),n(f,s,r)}};D.prototype._trace=function(r,n,s,f,l,p,v,x){var m=this,T;if(!r.length)return T={path:s,value:n,parent:f,parentProperty:l,hasArrExpr:v},this._handleCallback(T,p,"value"),T;var S=r[0],I=r.slice(1),N=[];function F(ne){Array.isArray(ne)?ne.forEach(function(cn){N.push(cn)}):N.push(ne)}if((typeof S!="string"||x)&&n&&Oe.call(n,S))F(this._trace(I,n[S],Qt(s,S),n,S,p,v));else if(S==="*")this._walk(n,function(ne){F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0,!0))});else if(S==="..")F(this._trace(I,n,s,f,l,p,v)),this._walk(n,function(ne){ut(n[ne])==="object"&&F(m._trace(r.slice(),n[ne],Qt(s,ne),n,ne,p,!0))});else{if(S==="^")return this._hasParentSelector=!0,{path:s.slice(0,-1),expr:I,isParentSelector:!0};if(S==="~")return T={path:Qt(s,S),value:l,parent:f,parentProperty:null},this._handleCallback(T,p,"property"),T;if(S==="$")F(this._trace(I,n,s,null,null,p,v));else if(/^(\x2D?[0-9]*):(\x2D?[0-9]*):?([0-9]*)$/.test(S))F(this._slice(S,I,n,s,f,l,p));else if(S.indexOf("?(")===0){if(this.currPreventEval)throw new Error("Eval [?(expr)] prevented in JSONPath expression.");var k=S.replace(/^\?\(((?:[\0-\t\x0B\f\x0E-\u2027\u202A-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*?)\)$/,"$1");this._walk(n,function(ne){m._eval(k,n[ne],ne,s,f,l)&&F(m._trace(I,n[ne],Qt(s,ne),n,ne,p,!0))})}else if(S[0]==="("){if(this.currPreventEval)throw new Error("Eval [(expr)] prevented in JSONPath expression.");F(this._trace(Ss(this._eval(S,n,s[s.length-1],s.slice(0,-1),f,l),I),n,s,f,l,p,v))}else if(S[0]==="@"){var Y=!1,Me=S.slice(1,-2);switch(Me){case"scalar":(!n||!["object","function"].includes(ut(n)))&&(Y=!0);break;case"boolean":case"string":case"undefined":case"function":ut(n)===Me&&(Y=!0);break;case"integer":Number.isFinite(n)&&!(n%1)&&(Y=!0);break;case"number":Number.isFinite(n)&&(Y=!0);break;case"nonFinite":typeof n=="number"&&!Number.isFinite(n)&&(Y=!0);break;case"object":n&&ut(n)===Me&&(Y=!0);break;case"array":Array.isArray(n)&&(Y=!0);break;case"other":Y=this.currOtherTypeCallback(n,s,f,l);break;case"null":n===null&&(Y=!0);break;default:throw new TypeError("Unknown value type "+Me)}if(Y)return T={path:s,value:n,parent:f,parentProperty:l},this._handleCallback(T,p,"value"),T}else if(S[0]==="`"&&n&&Oe.call(n,S.slice(1))){var ye=S.slice(1);F(this._trace(I,n[ye],Qt(s,ye),n,ye,p,v,!0))}else if(S.includes(",")){var wt=S.split(","),me=Ow(wt),ft;try{for(me.s();!(ft=me.n()).done;){var De=ft.value;F(this._trace(Ss(De,I),n,s,f,l,p,!0))}}catch(ne){me.e(ne)}finally{me.f()}}else!x&&n&&Oe.call(n,S)&&F(this._trace(I,n[S],Qt(s,S),n,S,p,v,!0))}if(this._hasParentSelector)for(var Re=0;Re-1?f.slice(0,m+1)+" return "+f.slice(m+1):" return "+f;return sn(Function,l.concat([T])).apply(void 0,Aw(v))}}]),r}();D.prototype.vm={Script:Cw};var Lc=(r=10,n)=>(0,Fc.randomString)(r,n);var xi={openIDConnect:"openIDConnect",basicAuth:"basicAuth"};var Mc=require("k6/http");var vi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/files/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/files/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/files/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/files/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/files/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/files/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/files/${n}/${s}`)}};var yi=class{request;constructor(n){this.request=n}upload(n,s,f){return this.request("PUT",`/remote.php/dav/spaces/${n}/${s}`,f)}download(n,s){return this.request("GET",`/remote.php/dav/spaces/${n}/${s}`)}create(n,s){return this.request("MKCOL",`/remote.php/dav/spaces/${n}/${s}`)}delete(n,s){return this.request("DELETE",`/remote.php/dav/spaces/${n}/${s}`)}move(n,s,f){return this.request("MOVE",`/remote.php/dav/spaces/${n}/${s}`,void 0,{headers:{destination:`/remote.php/dav/spaces/${n}/${f}`}})}propfind(n,s){return this.request("PROPFIND",`/remote.php/dav/spaces/${n}/${s}`)}};var bi=class{files;spaces;constructor(n){this.files=new vi(n),this.spaces=new yi(n)}};var wi=class{request;constructor(n){this.request=n}drives(){return this.request("GET","/graph/v1.0/me/drives")}me(){return this.request("GET","/graph/v1.0/me?$expand=memberOf")}};var Ai=class{request;constructor(n){this.request=n}create(n){return this.request("POST","/graph/v1.0/users",JSON.stringify({onPremisesSamAccountName:n.login,displayName:n.login,mail:`${n.login}@owncloud.org`,passwordProfile:{password:n.password}}))}delete(n){return this.request("DELETE",`/graph/v1.0/users/${n}`)}};var Ti=class{me;users;constructor(n){this.me=new wi(n),this.users=new Ai(n)}};var Ei=class{v1;constructor(n){this.v1=new Ti(n)}};var Si=class{request;constructor(n){this.request=n}createShare(n,s,f,l){return this.request("POST","/ocs/v2.php/apps/files_sharing/api/v1/shares",{shareType:f.toString(),shareWith:s,path:n,permissions:l.toString()},{headers:{"OCS-APIRequest":"true"}})}acceptShare(n){return this.request("POST",`/ocs/v2.php/apps/files_sharing/api/v1/shares/pending/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Oi=class{shares;constructor(n){this.shares=new Si(n)}};var Ri=class{v1;constructor(n){this.v1=new Oi(n)}};var Ii=class{filesSharing;constructor(n){this.filesSharing=new Ri(n)}};var Ci=class{request;constructor(n){this.request=n}enable(n){return this.request("PUT",`/ocs/v2.php/cloud/users/${n}/enable`,void 0,{headers:{"OCS-APIRequest":"true"}})}create(n){return this.request("POST","/ocs/v2.php/cloud/users",{userid:n.login,password:n.password,email:`${n.login}@owncloud.org`},{headers:{"OCS-APIRequest":"true"}})}delete(n){return this.request("DELETE",`/ocs/v2.php/cloud/users/${n}`,void 0,{headers:{"OCS-APIRequest":"true"}})}};var Ni=class{users;constructor(n){this.users=new Ci(n)}};var Pi=class{cloud;apps;constructor(n){this.cloud=new Ni(n),this.apps=new Ii(n)}};var Fi=class{v2;constructor(n){this.v2=new Pi(n)}};var Li=class{ocs;graph;dav;constructor(n){this.ocs=new Fi(n),this.graph=new Ei(n),this.dav=new bi(n)}};var qc=ot(require("k6/encoding")),Bi=require("k6"),Mi=ot(require("k6/http"));var er=require("k6"),Os=require("k6"),Sr=require("k6"),Bc={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},Bw=class{#e;constructor(r){this.#e=r}get header(){return`Basic ${qc.default.b64encode(`${this.#e.login}:${this.#e.password}`)}`}},Mw=class{#e;#t;#r;#i;#o;#n;constructor(r,n){this.#e=r,this.#t=n,this.#r=`${n}/oidc-callback.html`,this.#i=`${n}/signin/v1/identifier/_/logon`,this.#o=`${n}/konnect/v1/token`}get header(){return`${this.credential.tokenType} ${this.credential.accessToken}`}get credential(){if(!this.#n||this.#n.validTo<=new Date){let r=this.getContinueURI(),n=this.getCode(r),s=this.getToken(n);this.#n={validTo:(()=>{let f=new Date;return f.setSeconds(f.getSeconds()+s.expiresIn-5),f})(),token:s}}return this.#n.token}getContinueURI(){let r=Mi.default.post(this.#i,JSON.stringify({params:[this.#e.login,this.#e.password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:this.#r,flow:"oidc"},state:Lc(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:this.#t,"Content-Type":"application/json"}}),n=Ut(r.json(),"hello.continue_uri");return(r.status!==200||!n)&&(0,Bi.fail)(this.#i),n}getCode(r){let n=`${r}?${Yl({client_id:"web",prompt:"none",redirect_uri:this.#r,response_mode:"query",response_type:"code",scope:"openid profile email"})}`,s=Mi.default.get(n,{redirects:0}),f=Ut(Zl(s.headers.Location),"code");return(s.status!==302||!f)&&(0,Bi.fail)(r),f}getToken(r){let n=Mi.default.post(this.#o,{client_id:"web",code:r,redirect_uri:this.#r,grant_type:"authorization_code"}),s={accessToken:Ut(n.json(),"access_token",""),tokenType:Ut(n.json(),"token_type",""),idToken:Ut(n.json(),"id_token",""),expiresIn:Ut(n.json(),"expires_in",0)};return(n.status!==200||!s.accessToken||!s.tokenType||!s.idToken||!s.expiresIn)&&(0,Bi.fail)(this.#o),s}},re={legacy:"legacy",latest:"latest"},qw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}upload(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.upload(r,n,s);break;case re.legacy:f=this.#e.dav.files.upload(r,n,s);break}return(0,er.check)(f,{"client -> dav.upload - status":({status:l})=>l===201}),f}create(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.create(r,n);break;case re.legacy:s=this.#e.dav.files.create(r,n);break}return(0,er.check)(s,{"client -> dav.create - status":({status:f})=>f===201}),s}download(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.download(r,n);break;case re.legacy:s=this.#e.dav.files.download(r,n);break}return(0,er.check)(s,{"client -> dav.download - status":({status:f})=>f===200}),s}propfind(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.propfind(r,n);break;case re.legacy:s=this.#e.dav.files.propfind(r,n);break}return(0,er.check)(s,{"client -> dav.propfind - status":({status:f})=>f===207}),s}delete(r,n){let s;switch(this.#t){case re.latest:s=this.#e.dav.spaces.delete(r,n);break;case re.legacy:s=this.#e.dav.files.delete(r,n);break}return(0,er.check)(s,{"client -> dav.delete - status":({status:f})=>f===204}),s}move(r,n,s){let f;switch(this.#t){case re.latest:f=this.#e.dav.spaces.move(r,n,s);break;case re.legacy:f=this.#e.dav.files.move(r,n,s);break}return(0,er.check)(f,{"client -> dav.move - status":({status:l})=>l===201}),f}},$w=class{#e;constructor(r){this.#e=r}create(r,n,s,f){let l=this.#e.ocs.v2.apps.filesSharing.v1.shares.createShare(r,n,s,f);return(0,Os.check)(l,{"client -> ocs.createShare - status":({status:p})=>p===200}),l}accept(r){let n=this.#e.ocs.v2.apps.filesSharing.v1.shares.acceptShare(r);return(0,Os.check)(n,{"client -> ocs.acceptShare - status":({status:s})=>s===200}),n}},Uw=class{#e;#t;constructor(r,n){this.#t=r,this.#e=n}drives(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.drives();return(0,Sr.check)(r,{"client -> dav.drives - status":({status:n})=>n===200}),r}me(){if(this.#t===re.legacy)return;let r=this.#e.graph.v1.me.me();if(r)return(0,Sr.check)(r,{"client -> user.me - status":({status:n})=>n===200}),r}enable(r){if(this.#t===re.latest)return;let n=this.#e.ocs.v2.cloud.users.enable(r);return(0,Sr.check)(n,{"client -> user.enable - status":({status:s})=>s===200}),n}create(r){let n;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.create(r);break;case re.legacy:n=this.#e.ocs.v2.cloud.users.create(r);break}return(0,Sr.check)(n,{"client -> user.create - status":({status:s})=>s===200}),n}delete(r){let n,s;switch(this.#t){case re.latest:n=this.#e.graph.v1.users.delete(r),s=204;break;case re.legacy:n=this.#e.ocs.v2.cloud.users.delete(r),s=200;break}return(0,Sr.check)(n,{"client -> user.delete - status":({status:f})=>f===s}),n}},an=class{user;share;resource;constructor(r,n,s,f){let l;switch(s){case Bc.openIDConnect:l=new Mw(f,r);break;case Bc.basicAuth:l=new Bw(f);break}let p=Dl(r,l,{jar:new Mc.CookieJar}),v=new Li(p);this.resource=new qw(n,v),this.user=new Uw(n,v),this.share=new $w(v)}};var Ww=ot(require("k6/http"));var Gw=require("https://jslib.k6.io/url/1.0.0/index.js"),zw=ot(As()),$c=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");var Rs=(r=10,n)=>(0,$c.randomString)(r,n),Uc=(r,n,s)=>{if(s=s||[],!n||!r)return s;let f=new D({json:n,path:r});return f.length?s.length>f.length?[...f,s.slice(f.length)]:f:s};var Gc=require("k6/crypto"),Is=ot(require("k6/execution")),Cs=ot(Wc()),ge={baseURL:__ENV.BASE_URL||"https://localhost:9200",authAdapter:__ENV.AUTH_ADAPTER==xi.basicAuth?xi.basicAuth:xi.openIDConnect,apiVersion:__ENV.API_VERSION==re.legacy?re.legacy:re.latest,adminUser:{login:__ENV.ADMIN_LOGIN||"admin",password:__ENV.ADMIN_PASSWORD||"admin"},assets:{size:parseInt(__ENV.ASSET_SIZE)||1e3,quantity:parseInt(__ENV.ASSET_QUANTITY)||10},k6:{vus:1,insecureSkipTLSVerify:!0}},zc=ge.k6;function kw(){let r=ge.adminUser,n=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,r),s=(0,Cs.times)(zc.vus||1,()=>{let f={login:Rs(),password:Rs()};n.user.create(f),n.user.enable(f.login);let p=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,f).user.drives(),[v]=Uc("$.value[?(@.driveType === 'personal')].id",p?.json(),[f.login]);return{credential:f,home:v}});return{adminCredential:r,userInfos:s}}function Hw({userInfos:r}){let{home:n,credential:s}=r[Is.default.vu.idInTest-1],f=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,s),l=(0,Gc.randomBytes)(ge.assets.size*1e3);(0,Cs.times)(ge.assets.quantity,p=>{f.resource.upload(n,[Is.default.scenario.iterationInTest,s.login,p].join("-"),l)})}function Vw({userInfos:r,adminCredential:n}){let s=new an(ge.baseURL,ge.apiVersion,ge.authAdapter,n);r.forEach(({credential:f})=>s.user.delete(f.login))} +/*! Bundled license information: + +lodash/lodash.js: + (** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) + +lodash-es/lodash.js: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ diff --git a/packages/k6-tests/build.mjs b/packages/k6-tests/build.mjs new file mode 100644 index 0000000..44c964c --- /dev/null +++ b/packages/k6-tests/build.mjs @@ -0,0 +1,23 @@ +import {build} from "@ownclouders/esbuild"; +import fg from "fast-glob"; +import path from 'path' + +const sources = await fg('./src/**/*.ts') +const entryPoints = sources.reduce((acc, source) => { + const sourceInfo = path.parse(source) + const [,, ...namespace] = sourceInfo.dir.split('/'); + + acc[[...namespace, sourceInfo.name].join('-')] = source + + return acc +}, {}) + +await build({ + entryPoints, + outdir: "artifacts", + format: 'cjs', + platform: 'browser', + external: ['k6'], +}); + + diff --git a/packages/k6-tests/package.json b/packages/k6-tests/package.json new file mode 100644 index 0000000..d1200da --- /dev/null +++ b/packages/k6-tests/package.json @@ -0,0 +1,44 @@ +{ + "name": "@ownclouders/k6-tests", + "version": "0.0.1", + "private": true, + "description": "ownCloud k6 tests", + "homepage": "https://github.com/owncloud/web/tree/master/packages/k6-tests", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/k6-tests" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "scripts": { + "build": "concurrently pnpm:build:*", + "build:artifacts": "node build.mjs", + "clean": "pnpm clean:artifacts && pnpm clean:vendor", + "clean:artifacts": "del-cli artifacts", + "clean:vendor": "del-cli .turbo node_modules", + "dev": "turbowatch", + "lint": "eslint package.json src/**/*.ts", + "lint:fix": "pnpm run lint --fix" + }, + "dependencies": { + "@ownclouders/k6-tdk": "workspace:*", + "lodash": "^4.17.21", + "rxjs": "^7.8.0" + }, + "devDependencies": { + "@ownclouders/esbuild": "workspace:*", + "@ownclouders/eslint-config": "workspace:*", + "@ownclouders/tsconfig": "workspace:*", + "@ownclouders/turbowatch": "workspace:*", + "@types/k6": "^0.43.2", + "@types/lodash": "^4.14.192", + "@types/node": "^18.15.11", + "concurrently": "^8.0.1", + "del-cli": "^5.0.0", + "esbuild": "^0.17.14", + "fast-glob": "^3.2.12", + "turbowatch": "^2.20.0", + "typescript": "^5.0.3" + } +} diff --git a/packages/k6-tests/src/koko/010-login.md b/packages/k6-tests/src/koko/010-login.md new file mode 100644 index 0000000..26caee2 --- /dev/null +++ b/packages/k6-tests/src/koko/010-login.md @@ -0,0 +1,59 @@ +## Description +The `login` test is intended to log a configurable number of users into the system and then log out again. The purpose of the test is primarily to put the idp under load and see how it handles it. + +* `admin` creates `N` users. + * `N` can be set with the k6 `--vus` option. + * by default, it set to 1. +* each `user` logs into the system individually. +* `admin` deletes the created users. + +the test runs `N` times for each user, for example if you define `--vus 2` and `--iterations 5` +the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-010-login.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-010-login.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/koko-010-login.js +``` diff --git a/packages/k6-tests/src/koko/010-login.ts b/packages/k6-tests/src/koko/010-login.ts new file mode 100644 index 0000000..43c3bf3 --- /dev/null +++ b/packages/k6-tests/src/koko/010-login.ts @@ -0,0 +1,84 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { check } from 'k6'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} + +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + return { + credential: userCredential, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const { credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userMeResponse = userClient.user.me(); + const [ userDisplayName ] = queryJson('displayNamed', userMeResponse?.json(), [ userCredential.login ]); + + check(userDisplayName, { + 'user displayName': (displayName) => displayName === userCredential.login, + }); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/src/koko/020-navigate-file-tree.md b/packages/k6-tests/src/koko/020-navigate-file-tree.md new file mode 100644 index 0000000..0687047 --- /dev/null +++ b/packages/k6-tests/src/koko/020-navigate-file-tree.md @@ -0,0 +1,68 @@ +## Description +The `navigate file tree` test is intended to see how the instance behaves when many users move through a configurable deep folder hierarchy at the same time. Since k6 does not use a browser for the tests, a propfind for each folder to simulate the client behavior is used. + +* `admin` creates `N` users. + * `N` can be set by using the k6 `--vus` option. + * by default, it set to 1. +* each `user` create a folder tree of with `W` and depth `D`. + * `W` can be set with the environment variable `FOLDER_ROOT_COUNT`. + * `D` can be set with the environment variable `FOLDER_CHILD_COUNT`. +* each `user` logs into the system individually. +* each `user` loops through the folder tree and sends a `propfind` for each. +* `admin` deletes the created users. + +The test runs `N` times for each user. For example, if you define `--vus 2` and `--iterations 5`, the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `FOLDER_ROOT_COUNT`: number of root folders to create + * default value: `5` + * `export FOLDER_ROOT_COUNT=10` +* `FOLDER_CHILD_COUNT`: number of child folders to create for each root folder + * default value: `5` + * `export FOLDER_CHILD_COUNT=10` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-020-navigate-file-tree.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-020-navigate-file-tree.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/koko-020-navigate-file-tree.js +``` diff --git a/packages/k6-tests/src/koko/020-navigate-file-tree.ts b/packages/k6-tests/src/koko/020-navigate-file-tree.ts new file mode 100644 index 0000000..8416cee --- /dev/null +++ b/packages/k6-tests/src/koko/020-navigate-file-tree.ts @@ -0,0 +1,108 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; + folders: string[][]; +} +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + folder: { + rootCount: number; + childCount: number; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + folder: { + rootCount: parseInt(__ENV.FOLDER_ROOT_COUNT) || 5, + childCount: parseInt(__ENV.FOLDER_CHILD_COUNT) || 5, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + const userFolders = times(settings.folder.rootCount, () => { + const tree = times(settings.folder.childCount, () => randomString()); + + return tree.reduce((acc: string[], name) => { + acc.push(name); + userClient.resource.create(userHome, acc.join('/')); + + return acc; + }, []); + }); + + return { + home: userHome, + folders: userFolders, + credential: userCredential, + }; + }); + + return { + adminCredential, + userInfos, + }; +} +export default function ({ userInfos }: Data): void { + const { home: userHome, folders: userFolders, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + userFolders.forEach((paths) => { + for (let i = 1; i <= paths.length; i++) { + userClient.resource.propfind(userHome, paths.slice(0, i).join('/')); + } + }); +} +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/src/koko/040-upload-delete.md b/packages/k6-tests/src/koko/040-upload-delete.md new file mode 100644 index 0000000..3c6f935 --- /dev/null +++ b/packages/k6-tests/src/koko/040-upload-delete.md @@ -0,0 +1,90 @@ +## Description +The `upload delete` test is intended to see how the instance behaves when many users upload N files of size S, M and L each, and then deletes them again. + +* `admin` creates `N` users. + * `N` can be set by using the k6 `--vus` option. + * by default, it set to 1. +* each `user` uploads `N` resources of size `S`. + * `N` can be set with the environment variable `ASSET_SMALL_QUANTITY`. + * `S` can be set with the environment variable `ASSET_SMALL_SIZE`. +* each `user` uploads `N` resources of size `M`. + * `N` can be set with the environment variable `ASSET_MEDIUM_QUANTITY`. + * `S` can be set with the environment variable `ASSET_MEDIUM_SIZE`. +* each `user` uploads `N` resources of size `L`. + * `N` can be set with the environment variable `ASSET_LARGE_QUANTITY`. + * `S` can be set with the environment variable `ASSET_LARGE_SIZE`. +* each `user` logs into the system individually. +* each `user` deletes his set of files. +* `admin` deletes the created users. + +the test runs `N` times for each user, for example if you define `--vus 2` and `--iterations 5` +the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `FOLDER_ROOT_COUNT`: number of root folders to create + * default value: `5` + * `export FOLDER_ROOT_COUNT=10` +* `ASSET_SMALL_SIZE`: size of asset S as kb + * default value: `10` + * `export ASSET_SMALL_SIZE=20` +* `ASSET_SMALL_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_SMALL_QUANTITY=2` +* `ASSET_MEDIUM_SIZE`: size of asset M as kb + * default value: `100` + * `export ASSET_MEDIUM_SIZE=200` +* `ASSET_MEDIUM_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_MEDIUM_QUANTITY=2` +* `ASSET_LARGE_SIZE`: size of asset L as kb + * default value: `1000` + * `export ASSET_LARGE_SIZE=2000` +* `ASSET_LARGE_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_LARGE_QUANTITY=2` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-040-upload-delete.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-040-upload-delete.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/koko-040-upload-delete.js +``` diff --git a/packages/k6-tests/src/koko/040-upload-delete.ts b/packages/k6-tests/src/koko/040-upload-delete.ts new file mode 100644 index 0000000..f505bdb --- /dev/null +++ b/packages/k6-tests/src/koko/040-upload-delete.ts @@ -0,0 +1,125 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { randomBytes } from 'k6/crypto'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + assets: { + small: { + quantity: number; + size: number; + }; + medium: { + quantity: number; + size: number; + }; + large: { + quantity: number; + size: number; + }; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + assets: { + small: { + size: parseInt(__ENV.ASSET_SMALL_SIZE) || 10, + quantity: parseInt(__ENV.ASSET_SMALL_QUANTITY) || 1, + }, + medium: { + size: parseInt(__ENV.ASSET_MEDIUM_SIZE) || 10 * 10, + quantity: parseInt(__ENV.ASSET_MEDIUM_QUANTITY) || 1, + }, + large: { + size: parseInt(__ENV.ASSET_LARGE_SIZE) || 10 * 100, + quantity: parseInt(__ENV.ASSET_LARGE_QUANTITY) || 1, + }, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const defer: (() => void)[] = []; + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + for (const [ k, v ] of Object.entries(settings.assets)) { + times(v.quantity, (i) => { + const assetName = [ exec.scenario.iterationInTest, k, i ].join('-'); + + userClient.resource.upload(userHome, assetName, randomBytes(v.size * 1000)); + defer.push(() => userClient.resource.delete(userHome, assetName)); + }); + } + + defer.forEach((c) => c()); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/src/koko/050-upload-download.md b/packages/k6-tests/src/koko/050-upload-download.md new file mode 100644 index 0000000..57df8b4 --- /dev/null +++ b/packages/k6-tests/src/koko/050-upload-download.md @@ -0,0 +1,89 @@ +## Description +The `upload download` test is intended to see how the instance behaves when many users upload N files of size S, M and L each, and then download each. + +* `admin` creates `N` users. + * `N` can be set by using the k6 `--vus` option. + * by default, it set to 1. +* each `user` uploads `N` resources of size `S`. + * `N` can be set with the environment variable `ASSET_SMALL_QUANTITY`. + * `S` can be set with the environment variable `ASSET_SMALL_SIZE`. +* each `user` uploads `N` resources of size `M`. + * `N` can be set with the environment variable `ASSET_MEDIUM_QUANTITY`. + * `S` can be set with the environment variable `ASSET_MEDIUM_SIZE`. +* each `user` uploads `N` resources of size `L`. + * `N` can be set with the environment variable `ASSET_LARGE_QUANTITY`. + * `S` can be set with the environment variable `ASSET_LARGE_SIZE`. +* each `user` logs into the system individually. +* each `user` download his set of files. +* `admin` deletes the created users. + +The test runs `N` times for each user. For example, if you define `--vus 2` and `--iterations 5`, the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `FOLDER_ROOT_COUNT`: number of root folders to create + * default value: `5` + * `export FOLDER_ROOT_COUNT=10` +* `ASSET_SMALL_SIZE`: size of asset S as kb + * default value: `10` + * `export ASSET_SMALL_SIZE=20` +* `ASSET_SMALL_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_SMALL_QUANTITY=2` +* `ASSET_MEDIUM_SIZE`: size of asset M as kb + * default value: `100` + * `export ASSET_MEDIUM_SIZE=200` +* `ASSET_MEDIUM_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_MEDIUM_QUANTITY=2` +* `ASSET_LARGE_SIZE`: size of asset L as kb + * default value: `1000` + * `export ASSET_LARGE_SIZE=2000` +* `ASSET_LARGE_QUANTITY`: number uploads of that asset + * default value: `1` + * `export ASSET_LARGE_QUANTITY=2` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-050-upload-download.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-050-upload-download.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/koko-050-upload-download.js +``` diff --git a/packages/k6-tests/src/koko/050-upload-download.ts b/packages/k6-tests/src/koko/050-upload-download.ts new file mode 100644 index 0000000..1a24485 --- /dev/null +++ b/packages/k6-tests/src/koko/050-upload-download.ts @@ -0,0 +1,126 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { randomBytes } from 'k6/crypto'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} + +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + assets: { + small: { + quantity: number; + size: number; + }; + medium: { + quantity: number; + size: number; + }; + large: { + quantity: number; + size: number; + }; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + assets: { + small: { + size: parseInt(__ENV.ASSET_SMALL_SIZE) || 10, + quantity: parseInt(__ENV.ASSET_SMALL_QUANTITY) || 1, + }, + medium: { + size: parseInt(__ENV.ASSET_MEDIUM_SIZE) || 10 * 20, + quantity: parseInt(__ENV.ASSET_MEDIUM_QUANTITY) || 1, + }, + large: { + size: parseInt(__ENV.ASSET_LARGE_SIZE) || 10 * 100, + quantity: parseInt(__ENV.ASSET_LARGE_QUANTITY) || 1, + }, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const defer: (() => void)[] = []; + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + for (const [ k, v ] of Object.entries(settings.assets)) { + times(v.quantity, (i) => { + const assetName = [ exec.scenario.iterationInTest, k, i ].join('-'); + + userClient.resource.upload(userHome, assetName, randomBytes(v.size * 1000)); + defer.push(() => userClient.resource.download(userHome, assetName)); + }); + } + + defer.forEach((c) => c()); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/src/koko/060-create-rename-folder.md b/packages/k6-tests/src/koko/060-create-rename-folder.md new file mode 100644 index 0000000..99780cc --- /dev/null +++ b/packages/k6-tests/src/koko/060-create-rename-folder.md @@ -0,0 +1,69 @@ +## Description +The `create rename folder` test is intended to see how the instance behaves when many users move through a configurable +deep folder hierarchy and then rename each of these folders after entering. + +* `admin` creates `N` users. + * `N` can be set by using the k6 `--vus` option. + * by default, it set to 1. +* each `user` create a folder tree of with `W` and depth `D`. + * `W` can be set with the environment variable `FOLDER_ROOT_COUNT`. + * `D` can be set with the environment variable `FOLDER_CHILD_COUNT`. +* each `user` logs into the system individually. +* each `user` loops through the folder tree and renames each of them individually. +* `admin` deletes the created users. + +The test runs `N` times for each user. For example, if you define `--vus 2` and `--iterations 5`, the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `FOLDER_ROOT_COUNT`: number of root folders to create + * default value: `5` + * `export FOLDER_ROOT_COUNT=10` +* `FOLDER_CHILD_COUNT`: number of child folders to create for each root folder + * default value: `5` + * `export FOLDER_CHILD_COUNT=10` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-060-create-rename-folder.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/koko-060-create-rename-folder.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/koko-060-create-rename-folder.js +``` diff --git a/packages/k6-tests/src/koko/060-create-rename-folder.ts b/packages/k6-tests/src/koko/060-create-rename-folder.ts new file mode 100644 index 0000000..53e3fd8 --- /dev/null +++ b/packages/k6-tests/src/koko/060-create-rename-folder.ts @@ -0,0 +1,107 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} + +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + folder: { + rootCount: number; + childCount: number; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + folder: { + rootCount: parseInt(__ENV.FOLDER_ROOT_COUNT) || 5, + childCount: parseInt(__ENV.FOLDER_CHILD_COUNT) || 5, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + times(settings.folder.rootCount, () => { + const tree = times(settings.folder.childCount, () => randomString()); + + tree.reduce((acc: string[], name) => { + const createPath = [ ...acc, name ].join('/'); + userClient.resource.create(userHome, createPath); + + acc.push(`rename-${name}`); + userClient.resource.move(userHome, createPath, acc.join('/')); + + return acc; + }, []); + }); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/src/tests/share-upload-rename/default.md b/packages/k6-tests/src/oc/share-upload-rename.md similarity index 60% rename from src/tests/share-upload-rename/default.md rename to packages/k6-tests/src/oc/share-upload-rename.md index d114222..02a2ea0 100644 --- a/src/tests/share-upload-rename/default.md +++ b/packages/k6-tests/src/oc/share-upload-rename.md @@ -1,20 +1,20 @@ ## Description -The `share upload rename default` test mimics a typical end user resource sharing scenario. +The `share upload rename` test mimics a typical end user resource sharing scenario. The admin user shares a parent folder with each of his colleagues, who in turn create a folder in the received share per iteration and user then uploads a fixed number of files. To finish, the folder in which the files are located is renamed by each user. * `admin` creates `N` users. - * `N` can be set by using the k6 `--vus` option. - * by default, it set to 5. -* `admin` creates a folder `share-upload-rename-default`. + * `N` can be set with the `--vus` option. + * by default, it set to 1. +* `admin` creates a folder `oc-share-upload-rename`. * `admin` shares that folder to each of the users. * each `user` logs into the system individually. * each `user` creates a folder `$ITERATION-initial-$USERNAME` inside the received share. * each `user` uploads `10` files with a size of `1mb` each into this folder. * each `user` renames the folder `$ITERATION-initial-$USERNAME` to `$ITERATION-final-$USERNAME`. -* `admin` deletes the `share-upload-rename-default` folder. +* `admin` deletes the `oc-share-upload-rename` folder. * `admin` deletes the created users. the test runs `N` times for each user, for example if you define `--vus 2` and `--iterations 5` @@ -29,27 +29,31 @@ the testing steps as a whole will run 10 times (5 times per user). * `export AUTH_ADAPTER=openIDConnect` * `export AUTH_ADAPTER=basicAuth` * `API_VERSION`: specifies which cloud api version should be used - * default value: `latest` - * `export API_VERSION=legacy` - * `export API_VERSION=latest` + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` * `ADMIN_LOGIN`: the login name of an administrative user - * default value: `admin` - * `export ADMIN_LOGIN=main` + * default value: `admin` + * `export ADMIN_LOGIN=main` * `ADMIN_PASSWORD`: the login password of that administrative user - * default value: `admin` - * `export ADMIN_PASSWORD=secret` -* `ASSET_SIZE`: size of the individual asset in Kilobyte - * default value: `1024` - * `export ASSET_SIZE=2048` + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `TEST_FOLDER`: test root folder name + * default value: `oc-share-upload-rename` + * `export TEST_FOLDER=your-share-upload-rename-folder-name` +* `ASSET_SIZE`: size of the individual asset in kb + * default value: `1000` + * `export ASSET_SIZE=2000` * `ASSET_QUANTITY`: number of assets to be uploaded - * default value: `10` - * `export ASSET_QUANTITY=20` -* `--vus`: specifies how many virtual users are testing at the same time - * default value: `5` - * `k6 ... --vus 2` -* `--iterations`: indicates how often an individual user repeats the test - * default value: `50` - * `k6 ... --iterations 5` + * default value: `10` + * `export ASSET_QUANTITY=20` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` ## Examples ```shell @@ -59,16 +63,16 @@ API_VERSION=legacy \ AUTH_ADAPTER=basicAuth \ ADMIN_LOGIN=main \ ADMIN_PASSWORD=secret \ -k6 run run/share-upload-rename-default.js --vus 2 --iterations 5 +k6 run artifacts/oc-share-upload-rename.js --vus 2 --iterations 5 # run the test on a host with an ocis server BASE_URL=https://cloud-domain.org:80 \ ADMIN_LOGIN=main \ ADMIN_PASSWORD=secret \ -k6 run run/share-upload-rename-default.js --vus 2 --iterations 5 +k6 run artifacts/oc-share-upload-rename.js --vus 2 --iterations 5 ``` -The same can be archieved with docker: +The same can be reached with docker: ```shell -docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < run/share-upload-rename-default.js +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/oc-share-upload-rename.js ``` diff --git a/packages/k6-tests/src/oc/share-upload-rename.ts b/packages/k6-tests/src/oc/share-upload-rename.ts new file mode 100644 index 0000000..f2dcf70 --- /dev/null +++ b/packages/k6-tests/src/oc/share-upload-rename.ts @@ -0,0 +1,126 @@ +import { Permission, ShareType } from '@ownclouders/k6-tdk/lib/api'; +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, queryXml, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { randomBytes } from 'k6/crypto'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminInfo: Info; + userInfos: Info[]; +} + +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + testFolder: string; + assets: { + quantity: number; + size: number; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + testFolder: __ENV.TEST_FOLDER || 'oc-share-upload-rename', + assets: { + size: parseInt(__ENV.ASSET_SIZE) || 1000, + quantity: parseInt(__ENV.ASSET_QUANTITY) || 10, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + const adminDrivesResponse = adminClient.user.drives(); + const [ adminHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', adminDrivesResponse?.json(), [ + adminCredential.login, + ]); + + adminClient.resource.create(adminHome, settings.testFolder); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const createdShareResponse = adminClient.share.create( + settings.testFolder, + userCredential.login, + ShareType.user, + Permission.all, + ); + const [ createdShareId ] = queryXml('ocs.data.id', createdShareResponse.body); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + userClient.share.accept(createdShareId); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminInfo: { + credential: adminCredential, + home: adminHome, + }, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + const folderCreationName = [ exec.scenario.iterationInTest, 'initial', userCredential.login ].join('-'); + userClient.resource.create(userHome, folderCreationName); + + const data = randomBytes(settings.assets.size * 1000); + times(settings.assets.quantity, (i) => { + userClient.resource.upload(userHome, [ folderCreationName, i ].join('/'), data); + }); + + const folderMovedName = [ exec.scenario.iterationInTest, 'final', userCredential.login ].join('-'); + userClient.resource.move(userHome, folderCreationName, folderMovedName); +} + +export function teardown({ userInfos, adminInfo }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminInfo.credential); + adminClient.resource.delete(adminInfo.home, settings.testFolder); + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/src/sample/kitchen-sink.md b/packages/k6-tests/src/sample/kitchen-sink.md new file mode 100644 index 0000000..4c7635f --- /dev/null +++ b/packages/k6-tests/src/sample/kitchen-sink.md @@ -0,0 +1,54 @@ +## Description +The `kitchen sink` test is intended to demonstrate the whole api and client from our k6-tdk (k6 test development kit). +The test does not follow any user story, it is a good starting point to get inspired how the framework can be used. + +the test runs `N` times for each user, for example if you define `--vus 2` and `--iterations 5` +the testing steps as a whole will run 10 times (5 times per user). + +## Options +* `BASE_URL`: the host under which the respective cloud can be reached. + * default value: `https://localhost:9200` + * `export BASE_URL=https://cloud-domain.org:80` +* `AUTH_ADAPTER`: the authentication method to use + * default value: `openIDConnect` + * `export AUTH_ADAPTER=openIDConnect` + * `export AUTH_ADAPTER=basicAuth` +* `API_VERSION`: specifies which cloud api version should be used + * default value: `latest` + * `export API_VERSION=legacy` + * `export API_VERSION=latest` +* `ADMIN_LOGIN`: the login name of an administrative user + * default value: `admin` + * `export ADMIN_LOGIN=main` +* `ADMIN_PASSWORD`: the login password of that administrative user + * default value: `admin` + * `export ADMIN_PASSWORD=secret` +* `--vus`: number of virtual users + * default value: `1` + * `k6 ... --vus 2` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) + * `k6 ... --iterations 5` + +## Examples +```shell +# run the test on a host with an ownCloud classic server +BASE_URL=https://cloud-domain.org:80 \ +API_VERSION=legacy \ +AUTH_ADAPTER=basicAuth \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/sample-kitchen-sink.js --vus 2 --iterations 5 + +# run the test on a host with an ocis server +BASE_URL=https://cloud-domain.org:80 \ +ADMIN_LOGIN=main \ +ADMIN_PASSWORD=secret \ +k6 run artifacts/sample-kitchen-sink.js --vus 2 --iterations 5 +``` + +The same can be reached with docker: +```shell +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/sample-kitchen-sink.js +``` diff --git a/packages/k6-tests/src/sample/kitchen-sink.ts b/packages/k6-tests/src/sample/kitchen-sink.ts new file mode 100644 index 0000000..37b9a2a --- /dev/null +++ b/packages/k6-tests/src/sample/kitchen-sink.ts @@ -0,0 +1,119 @@ +import { Permission, ShareType } from '@ownclouders/k6-tdk/lib/api'; +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, queryXml, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { fail } from 'k6'; +import { randomBytes } from 'k6/crypto'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos, adminCredential }: Data): void { + const defer: (() => void)[] = []; + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + + const userMeResponse = userClient.user.me(); + const [ userDisplayName ] = queryJson('displayNamed', userMeResponse?.json(), [ userCredential.login ]); + if (userDisplayName !== userCredential.login) { + fail('userDisplayName does not match'); + } + + const folderCreationName = randomString(); + const folderMovedName = randomString(); + const assetName = randomString(); + userClient.resource.create(userHome, folderCreationName); + defer.push(() => userClient.resource.delete(userHome, folderMovedName)); + userClient.resource.move(userHome, folderCreationName, folderMovedName); + userClient.resource.upload(userHome, [ folderMovedName, assetName ].join('/'), randomBytes(1000)); + userClient.resource.download(userHome, [ folderMovedName, assetName ].join('/')); + + const createdShareResponse = userClient.share.create( + folderMovedName, + adminCredential.login, + ShareType.user, + Permission.all, + ); + const [ createdShareId ] = queryXml('ocs.data.id', createdShareResponse.body); + if (!createdShareId) { + fail('createdShareId is empty'); + } + + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + adminClient.share.accept(createdShareId); + + defer.forEach((d) => d()); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/src/tests/surf/upload.md b/packages/k6-tests/src/surf/upload.md similarity index 77% rename from src/tests/surf/upload.md rename to packages/k6-tests/src/surf/upload.md index 7c9bb12..9171df4 100644 --- a/src/tests/surf/upload.md +++ b/packages/k6-tests/src/surf/upload.md @@ -6,8 +6,8 @@ The test idea originally came from [surf](https://www.surf.nl/), where the proce Each user loads an adjustable number of files with an adjustable file size into his home folder * `admin` creates `N` users. - * `N` can be set by using the k6 `--vus` option. - * by default, it set to 5. + * `N` can be set with the k6 `--vus` option. + * by default, it set to 1. * each `user` logs into the system individually. * each `user` uploads `10` files with a size of `1mb` each into their home folder. * `admin` deletes the created users. @@ -33,17 +33,18 @@ the testing steps as a whole will run 10 times (5 times per user). * `ADMIN_PASSWORD`: the login password of that administrative user * default value: `admin` * `export ADMIN_PASSWORD=secret` -* `ASSET_SIZE`: size of the individual asset in Kilobyte - * default value: `1024` - * `export ASSET_SIZE=2048` +* `ASSET_SIZE`: size of the individual asset in kb + * default value: `1000` + * `export ASSET_SIZE=2000` * `ASSET_QUANTITY`: number of assets to be uploaded * default value: `10` * `export ASSET_QUANTITY=20` -* `--vus`: specifies how many virtual users are testing at the same time - * default value: `5` +* `--vus`: number of virtual users + * default value: `1` * `k6 ... --vus 2` -* `--iterations`: indicates how often an individual user repeats the test - * default value: `50` +* `--duration`: test duration limit + * `k6 ... --duration 10s` +* `--iterations`: script total iteration limit (among all VUs) * `k6 ... --iterations 5` ## Examples @@ -54,16 +55,16 @@ API_VERSION=legacy \ AUTH_ADAPTER=basicAuth \ ADMIN_LOGIN=main \ ADMIN_PASSWORD=secret \ -k6 run run/surf-upload.js --vus 2 --iterations 5 +k6 run artifacts/surf-upload.js --vus 2 --iterations 5 # run the test on a host with an ocis server BASE_URL=https://cloud-domain.org:80 \ ADMIN_LOGIN=main \ ADMIN_PASSWORD=secret \ -k6 run run/surf-upload.js --vus 2 --iterations 5 +k6 run artifacts/surf-upload.js --vus 2 --iterations 5 ``` -The same can be archieved with docker: +The same can be reached with docker: ```shell -docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < run/surf-upload.js +docker run -e BASE_URL=https://cloud-domain.org:80 -e API_VERSION=legacy -e AUTH_ADAPTER=basicAuth -e ADMIN_LOGIN=main -e ADMIN_PASSWORD=secret --rm -i grafana/k6 run --vus 2 - < artifacts/surf-upload.js ``` diff --git a/packages/k6-tests/src/surf/upload.ts b/packages/k6-tests/src/surf/upload.ts new file mode 100644 index 0000000..614ad6a --- /dev/null +++ b/packages/k6-tests/src/surf/upload.ts @@ -0,0 +1,98 @@ +import { Adapter } from '@ownclouders/k6-tdk/lib/auth'; +import { Client, Version } from '@ownclouders/k6-tdk/lib/client'; +import { queryJson, randomString } from '@ownclouders/k6-tdk/lib/utils'; +import { randomBytes } from 'k6/crypto'; +import exec from 'k6/execution'; +import { Options } from 'k6/options'; +import { times } from 'lodash'; + +interface Credential { + login: string; + password: string; +} + +interface Info { + credential: Credential; + home: string; +} + +interface Data { + adminCredential: Credential; + userInfos: Info[]; +} + +interface Settings { + authAdapter: Adapter; + baseURL: string; + apiVersion: Version; + adminUser: Credential; + assets: { + quantity: number; + size: number; + }; + k6: Options; +} + +/**/ +const settings: Settings = { + baseURL: __ENV.BASE_URL || 'https://localhost:9200', + authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, + apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, + adminUser: { + login: __ENV.ADMIN_LOGIN || 'admin', + password: __ENV.ADMIN_PASSWORD || 'admin', + }, + assets: { + size: parseInt(__ENV.ASSET_SIZE) || 1000, + quantity: parseInt(__ENV.ASSET_QUANTITY) || 10, + }, + k6: { + vus: 1, + insecureSkipTLSVerify: true, + }, +}; + +/**/ +export const options: Options = settings.k6; + +export function setup(): Data { + const adminCredential = settings.adminUser; + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + const userInfos = times(options.vus || 1, () => { + const userCredential = { login: randomString(), password: randomString() }; + adminClient.user.create(userCredential); + adminClient.user.enable(userCredential.login); + + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const userDrivesResponse = userClient.user.drives(); + const [ userHome ] = queryJson('$.value[?(@.driveType === \'personal\')].id', userDrivesResponse?.json(), [ + userCredential.login, + ]); + + return { + credential: userCredential, + home: userHome, + }; + }); + + return { + adminCredential, + userInfos, + }; +} + +export default function ({ userInfos }: Data): void { + const { home: userHome, credential: userCredential } = userInfos[ exec.vu.idInTest - 1 ]; + const userClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, userCredential); + const data = randomBytes(settings.assets.size * 1000); + times(settings.assets.quantity, (i) => { + userClient.resource.upload(userHome, [ exec.scenario.iterationInTest, userCredential.login, i ].join('-'), data); + }); +} + +export function teardown({ userInfos, adminCredential }: Data): void { + const adminClient = new Client(settings.baseURL, settings.apiVersion, settings.authAdapter, adminCredential); + + userInfos.forEach(({ credential }) => adminClient.user.delete(credential.login)); +} diff --git a/packages/k6-tests/tsconfig.json b/packages/k6-tests/tsconfig.json new file mode 100644 index 0000000..3806d10 --- /dev/null +++ b/packages/k6-tests/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@ownclouders/tsconfig/esbuild.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src/**/*" + ] +} diff --git a/packages/k6-tests/turbowatch.ts b/packages/k6-tests/turbowatch.ts new file mode 100644 index 0000000..940bed3 --- /dev/null +++ b/packages/k6-tests/turbowatch.ts @@ -0,0 +1,10 @@ +import {watch} from "@ownclouders/turbowatch"; + +void watch({ + project: __dirname, + onChange: async ({ spawn }) => { + await spawn`pnpm run build:artifacts` + }, +}); + + diff --git a/packages/tsconfig/.eslintrc b/packages/tsconfig/.eslintrc new file mode 100644 index 0000000..e24b531 --- /dev/null +++ b/packages/tsconfig/.eslintrc @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": ["@ownclouders"] +} diff --git a/packages/tsconfig/esbuild.json b/packages/tsconfig/esbuild.json new file mode 100644 index 0000000..29552a4 --- /dev/null +++ b/packages/tsconfig/esbuild.json @@ -0,0 +1,28 @@ +{ + "$schema": "https://json.schemastore.org/tsconfig", + "display": "esbuild", + "compilerOptions": { + "target": "esnext", + "module": "esnext", + "lib": ["esnext"], + "allowJs": true, + "checkJs": true, + "declaration": true, + "declarationMap": true, + "emitDeclarationOnly": true, + "removeComments": true, + "strict": true, + "noImplicitAny": false, + "noFallthroughCasesInSwitch": false, + "moduleResolution": "node", + "types": ["node"], + "allowSyntheticDefaultImports": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "skipLibCheck": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true + } +} + diff --git a/packages/tsconfig/package.json b/packages/tsconfig/package.json new file mode 100644 index 0000000..77f351e --- /dev/null +++ b/packages/tsconfig/package.json @@ -0,0 +1,24 @@ +{ + "name": "@ownclouders/tsconfig", + "version": "0.0.1", + "private": true, + "description": "common tsconfig used withing @ownclouders namespace.", + "homepage": "https://github.com/owncloud/web/tree/master/packages/tsconfig", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/tsconfig" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "scripts": { + "clean": "pnpm clean:vendor", + "clean:vendor": "del-cli .turbo node_modules", + "lint": "eslint package.json", + "lint:fix": "pnpm run lint --fix" + }, + "devDependencies": { + "@ownclouders/eslint-config": "workspace:*", + "del-cli": "^5.0.0" + } +} diff --git a/packages/turbowatch/.eslintrc b/packages/turbowatch/.eslintrc new file mode 100644 index 0000000..e24b531 --- /dev/null +++ b/packages/turbowatch/.eslintrc @@ -0,0 +1,4 @@ +{ + "root": true, + "extends": ["@ownclouders"] +} diff --git a/packages/turbowatch/build.mjs b/packages/turbowatch/build.mjs new file mode 100644 index 0000000..2176a4b --- /dev/null +++ b/packages/turbowatch/build.mjs @@ -0,0 +1,7 @@ +import {build} from '@ownclouders/esbuild'; + +await build({ + platform: 'node', + format: 'esm', + packages: 'external', +}); diff --git a/packages/turbowatch/package.json b/packages/turbowatch/package.json new file mode 100644 index 0000000..4050e3a --- /dev/null +++ b/packages/turbowatch/package.json @@ -0,0 +1,39 @@ +{ + "name": "@ownclouders/turbowatch", + "version": "0.0.1", + "private": true, + "description": "common turbowatch helpers used withing @ownclouders namespace.", + "homepage": "https://github.com/owncloud/web/tree/master/packages/turbowatch", + "repository": { + "type": "git", + "url": "https://github.com/owncloud/cdperf", + "directory": "packages/turbowatch" + }, + "license": "AGPL-3.0", + "author": "ownCloud GmbH ", + "type": "module", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "scripts": { + "build": "concurrently pnpm:build:*", + "build:artifacts": "node build.mjs", + "build:types": "tsc --outDir dist", + "clean": "pnpm clean:artifacts && pnpm clean:vendor", + "clean:artifacts": "del-cli dist", + "clean:vendor": "del-cli .turbo node_modules", + "lint": "eslint package.json src/**/*.ts", + "lint:fix": "pnpm run lint --fix" + }, + "dependencies": { + "turbowatch": "^2.20.0" + }, + "devDependencies": { + "@ownclouders/esbuild": "workspace:*", + "@ownclouders/eslint-config": "workspace:*", + "@ownclouders/tsconfig": "workspace:*", + "@types/node": "^18.15.11", + "concurrently": "^8.0.1", + "del-cli": "^5.0.0", + "typescript": "^5.0.3" + } +} diff --git a/packages/turbowatch/src/index.ts b/packages/turbowatch/src/index.ts new file mode 100644 index 0000000..14834d5 --- /dev/null +++ b/packages/turbowatch/src/index.ts @@ -0,0 +1,36 @@ +import { ChangeEvent, watch as _watch } from 'turbowatch'; + +export interface ConfigurationInput { + project: string; + onChange: (event: ChangeEvent) => Promise; +} + +export const watch = ({ project, onChange }: ConfigurationInput) =>_watch({ + project, + debounce: { + wait: 250, + }, + triggers: [ + { + name: 'build', + initialRun: false, + expression: [ + 'anyof', + [ + 'allof', + ['dirname', 'node_modules'], + ['dirname', 'dist'], + ['match', '*', 'basename'], + ], + [ + 'allof', + ['not', ['dirname', 'node_modules']], + ['dirname', 'src'], + ['match', '*', 'basename'], + ], + ], + onChange, + }, + ], + }); + diff --git a/packages/turbowatch/tsconfig.json b/packages/turbowatch/tsconfig.json new file mode 100644 index 0000000..d6c60e2 --- /dev/null +++ b/packages/turbowatch/tsconfig.json @@ -0,0 +1,14 @@ +{ + "extends": "@ownclouders/tsconfig/esbuild.json", + "compilerOptions": { + "baseUrl": ".", + "paths": { + "@/*": [ + "src/*" + ] + } + }, + "include": [ + "src/**/*" + ] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..cd85706 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,4060 @@ +lockfileVersion: 5.4 + +importers: + + .: + specifiers: + '@changesets/cli': ^2.26.1 + '@ownclouders/eslint-config': workspace:* + '@roarr/cli': ^5.11.0 + del-cli: ^5.0.0 + syncpack: ^9.8.4 + turbo: ^1.8.8 + typescript: ^5.0.3 + devDependencies: + '@changesets/cli': 2.26.1 + '@ownclouders/eslint-config': link:packages/eslint-config + '@roarr/cli': 5.11.0 + del-cli: 5.0.0 + syncpack: 9.8.4 + turbo: 1.8.8 + typescript: 5.0.3 + + packages/esbuild: + specifiers: + '@ownclouders/eslint-config': workspace:* + '@ownclouders/tsconfig': workspace:* + '@types/node': ^18.15.11 + concurrently: ^8.0.1 + del-cli: ^5.0.0 + esbuild: ^0.17.14 + typescript: ^5.0.3 + dependencies: + esbuild: 0.17.14 + devDependencies: + '@ownclouders/eslint-config': link:../eslint-config + '@ownclouders/tsconfig': link:../tsconfig + '@types/node': 18.15.11 + concurrently: 8.0.1 + del-cli: 5.0.0 + typescript: 5.0.3 + + packages/eslint-config: + specifiers: + '@typescript-eslint/eslint-plugin': ^5.57.0 + '@typescript-eslint/parser': ^5.57.0 + del-cli: ^5.0.0 + eslint: ^8.37.0 + eslint-config-prettier: ^8.8.0 + eslint-config-turbo: ^1.8.8 + eslint-import-resolver-typescript: ^3.5.4 + eslint-plugin-disable: ^2.0.3 + eslint-plugin-import: ^2.27.5 + eslint-plugin-json-files: ^2.1.0 + eslint-plugin-simple-import-sort: ^10.0.0 + eslint-plugin-unicorn: ^46.0.0 + typescript: ^5.0.3 + dependencies: + '@typescript-eslint/eslint-plugin': 5.57.0_z24sz2fazj3bxoipp6m4s7b2mi + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + eslint-config-prettier: 8.8.0_eslint@8.37.0 + eslint-config-turbo: 1.8.8_eslint@8.37.0 + eslint-import-resolver-typescript: 3.5.4_rbts4wm34tb3x7owcp777e4f4y + eslint-plugin-disable: 2.0.3_eslint@8.37.0 + eslint-plugin-import: 2.27.5_f66okp2kqrdiymeqhgaog6g5pu + eslint-plugin-json-files: 2.1.0_eslint@8.37.0 + eslint-plugin-simple-import-sort: 10.0.0_eslint@8.37.0 + eslint-plugin-unicorn: 46.0.0_eslint@8.37.0 + devDependencies: + del-cli: 5.0.0 + eslint: 8.37.0 + typescript: 5.0.3 + + packages/k6-tdk: + specifiers: + '@ownclouders/esbuild': workspace:* + '@ownclouders/eslint-config': workspace:* + '@ownclouders/tsconfig': workspace:* + '@ownclouders/turbowatch': workspace:* + '@types/jsonpath-plus': ^5.0.2 + '@types/k6': ^0.43.2 + '@types/lodash-es': ^4.17.7 + '@types/node': ^18.15.11 + concurrently: ^8.0.1 + del-cli: ^5.0.0 + esbuild: ^0.17.14 + eslint: ^8.37.0 + fast-xml-parser: ^4.1.3 + jsonpath-plus: ^7.2.0 + lodash-es: ^4.17.21 + turbowatch: ^2.20.0 + typescript: ^5.0.3 + dependencies: + fast-xml-parser: 4.1.3 + jsonpath-plus: 7.2.0 + lodash-es: 4.17.21 + devDependencies: + '@ownclouders/esbuild': link:../esbuild + '@ownclouders/eslint-config': link:../eslint-config + '@ownclouders/tsconfig': link:../tsconfig + '@ownclouders/turbowatch': link:../turbowatch + '@types/jsonpath-plus': 5.0.2 + '@types/k6': 0.43.2 + '@types/lodash-es': 4.17.7 + '@types/node': 18.15.11 + concurrently: 8.0.1 + del-cli: 5.0.0 + esbuild: 0.17.14 + eslint: 8.37.0 + turbowatch: 2.20.0 + typescript: 5.0.3 + + packages/k6-tdk/lib/api: + specifiers: {} + + packages/k6-tdk/lib/auth: + specifiers: {} + + packages/k6-tdk/lib/client: + specifiers: {} + + packages/k6-tdk/lib/utils: + specifiers: {} + + packages/k6-tests: + specifiers: + '@ownclouders/esbuild': workspace:* + '@ownclouders/eslint-config': workspace:* + '@ownclouders/k6-tdk': workspace:* + '@ownclouders/tsconfig': workspace:* + '@ownclouders/turbowatch': workspace:* + '@types/k6': ^0.43.2 + '@types/lodash': ^4.14.192 + '@types/node': ^18.15.11 + concurrently: ^8.0.1 + del-cli: ^5.0.0 + esbuild: ^0.17.14 + fast-glob: ^3.2.12 + lodash: ^4.17.21 + rxjs: ^7.8.0 + turbowatch: ^2.20.0 + typescript: ^5.0.3 + dependencies: + '@ownclouders/k6-tdk': link:../k6-tdk + lodash: 4.17.21 + rxjs: 7.8.0 + devDependencies: + '@ownclouders/esbuild': link:../esbuild + '@ownclouders/eslint-config': link:../eslint-config + '@ownclouders/tsconfig': link:../tsconfig + '@ownclouders/turbowatch': link:../turbowatch + '@types/k6': 0.43.2 + '@types/lodash': 4.14.192 + '@types/node': 18.15.11 + concurrently: 8.0.1 + del-cli: 5.0.0 + esbuild: 0.17.14 + fast-glob: 3.2.12 + turbowatch: 2.20.0 + typescript: 5.0.3 + + packages/tsconfig: + specifiers: + '@ownclouders/eslint-config': workspace:* + del-cli: ^5.0.0 + devDependencies: + '@ownclouders/eslint-config': link:../eslint-config + del-cli: 5.0.0 + + packages/turbowatch: + specifiers: + '@ownclouders/esbuild': workspace:* + '@ownclouders/eslint-config': workspace:* + '@ownclouders/tsconfig': workspace:* + '@types/node': ^18.15.11 + concurrently: ^8.0.1 + del-cli: ^5.0.0 + turbowatch: ^2.20.0 + typescript: ^5.0.3 + dependencies: + turbowatch: 2.20.0 + devDependencies: + '@ownclouders/esbuild': link:../esbuild + '@ownclouders/eslint-config': link:../eslint-config + '@ownclouders/tsconfig': link:../tsconfig + '@types/node': 18.15.11 + concurrently: 8.0.1 + del-cli: 5.0.0 + typescript: 5.0.3 + +packages: + + /@babel/code-frame/7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + + /@babel/helper-validator-identifier/7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + /@babel/highlight/7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/runtime/7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@changesets/apply-release-plan/6.1.3: + resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/config': 2.3.0 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 2.0.0 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.7 + resolve-from: 5.0.0 + semver: 5.7.1 + dev: true + + /@changesets/assemble-release-plan/5.2.3: + resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + semver: 5.7.1 + dev: true + + /@changesets/changelog-git/0.1.14: + resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + dependencies: + '@changesets/types': 5.2.1 + dev: true + + /@changesets/cli/2.26.1: + resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} + hasBin: true + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/apply-release-plan': 6.1.3 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/changelog-git': 0.1.14 + '@changesets/config': 2.3.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/get-release-plan': 3.0.16 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@changesets/write': 0.2.3 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.0 + '@types/semver': 6.2.3 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.3.6 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.0.3 + resolve-from: 5.0.0 + semver: 5.7.1 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.1 + dev: true + + /@changesets/config/2.3.0: + resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==} + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + dev: true + + /@changesets/errors/0.1.4: + resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + dependencies: + extendable-error: 0.1.7 + dev: true + + /@changesets/get-dependents-graph/1.3.5: + resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==} + dependencies: + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 5.7.1 + dev: true + + /@changesets/get-release-plan/3.0.16: + resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/config': 2.3.0 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + dev: true + + /@changesets/get-version-range-type/0.3.2: + resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + dev: true + + /@changesets/git/2.0.0: + resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + dev: true + + /@changesets/logger/0.0.5: + resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + dependencies: + chalk: 2.4.2 + dev: true + + /@changesets/parse/0.3.16: + resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + dependencies: + '@changesets/types': 5.2.1 + js-yaml: 3.14.1 + dev: true + + /@changesets/pre/1.0.14: + resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + dev: true + + /@changesets/read/0.5.9: + resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.16 + '@changesets/types': 5.2.1 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + dev: true + + /@changesets/types/4.1.0: + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + dev: true + + /@changesets/types/5.2.1: + resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + dev: true + + /@changesets/write/0.2.3: + resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/types': 5.2.1 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.7 + dev: true + + /@esbuild/android-arm/0.17.14: + resolution: {integrity: sha512-0CnlwnjDU8cks0yJLXfkaU/uoLyRf9VZJs4p1PskBr2AlAHeEsFEwJEo0of/Z3g+ilw5mpyDwThlxzNEIxOE4g==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm64/0.17.14: + resolution: {integrity: sha512-eLOpPO1RvtsP71afiFTvS7tVFShJBCT0txiv/xjFBo5a7R7Gjw7X0IgIaFoLKhqXYAXhahoXm7qAmRXhY4guJg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64/0.17.14: + resolution: {integrity: sha512-nrfQYWBfLGfSGLvRVlt6xi63B5IbfHm3tZCdu/82zuFPQ7zez4XjmRtF/wIRYbJQ/DsZrxJdEvYFE67avYXyng==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64/0.17.14: + resolution: {integrity: sha512-eoSjEuDsU1ROwgBH/c+fZzuSyJUVXQTOIN9xuLs9dE/9HbV/A5IqdXHU1p2OfIMwBwOYJ9SFVGGldxeRCUJFyw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64/0.17.14: + resolution: {integrity: sha512-zN0U8RWfrDttdFNkHqFYZtOH8hdi22z0pFm0aIJPsNC4QQZv7je8DWCX5iA4Zx6tRhS0CCc0XC2m7wKsbWEo5g==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64/0.17.14: + resolution: {integrity: sha512-z0VcD4ibeZWVQCW1O7szaLxGsx54gcCnajEJMdYoYjLiq4g1jrP2lMq6pk71dbS5+7op/L2Aod+erw+EUr28/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64/0.17.14: + resolution: {integrity: sha512-hd9mPcxfTgJlolrPlcXkQk9BMwNBvNBsVaUe5eNUqXut6weDQH8whcNaKNF2RO8NbpT6GY8rHOK2A9y++s+ehw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm/0.17.14: + resolution: {integrity: sha512-BNTl+wSJ1omsH8s3TkQmIIIQHwvwJrU9u1ggb9XU2KTVM4TmthRIVyxSp2qxROJHhZuW/r8fht46/QE8hU8Qvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64/0.17.14: + resolution: {integrity: sha512-FhAMNYOq3Iblcj9i+K0l1Fp/MHt+zBeRu/Qkf0LtrcFu3T45jcwB6A1iMsemQ42vR3GBhjNZJZTaCe3VFPbn9g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32/0.17.14: + resolution: {integrity: sha512-91OK/lQ5y2v7AsmnFT+0EyxdPTNhov3y2CWMdizyMfxSxRqHazXdzgBKtlmkU2KYIc+9ZK3Vwp2KyXogEATYxQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64/0.17.14: + resolution: {integrity: sha512-vp15H+5NR6hubNgMluqqKza85HcGJgq7t6rMH7O3Y6ApiOWPkvW2AJfNojUQimfTp6OUrACUXfR4hmpcENXoMQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el/0.17.14: + resolution: {integrity: sha512-90TOdFV7N+fgi6c2+GO9ochEkmm9kBAKnuD5e08GQMgMINOdOFHuYLPQ91RYVrnWwQ5683sJKuLi9l4SsbJ7Hg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64/0.17.14: + resolution: {integrity: sha512-NnBGeoqKkTugpBOBZZoktQQ1Yqb7aHKmHxsw43NddPB2YWLAlpb7THZIzsRsTr0Xw3nqiPxbA1H31ZMOG+VVPQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64/0.17.14: + resolution: {integrity: sha512-0qdlKScLXA8MGVy21JUKvMzCYWovctuP8KKqhtE5A6IVPq4onxXhSuhwDd2g5sRCzNDlDjitc5sX31BzDoL5Fw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x/0.17.14: + resolution: {integrity: sha512-Hdm2Jo1yaaOro4v3+6/zJk6ygCqIZuSDJHdHaf8nVH/tfOuoEX5Riv03Ka15LmQBYJObUTNS1UdyoMk0WUn9Ww==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64/0.17.14: + resolution: {integrity: sha512-8KHF17OstlK4DuzeF/KmSgzrTWQrkWj5boluiiq7kvJCiQVzUrmSkaBvcLB2UgHpKENO2i6BthPkmUhNDaJsVw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64/0.17.14: + resolution: {integrity: sha512-nVwpqvb3yyXztxIT2+VsxJhB5GCgzPdk1n0HHSnchRAcxqKO6ghXwHhJnr0j/B+5FSyEqSxF4q03rbA2fKXtUQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64/0.17.14: + resolution: {integrity: sha512-1RZ7uQQ9zcy/GSAJL1xPdN7NDdOOtNEGiJalg/MOzeakZeTrgH/DoCkbq7TaPDiPhWqnDF+4bnydxRqQD7il6g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64/0.17.14: + resolution: {integrity: sha512-nqMjDsFwv7vp7msrwWRysnM38Sd44PKmW8EzV01YzDBTcTWUpczQg6mGao9VLicXSgW/iookNK6AxeogNVNDZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64/0.17.14: + resolution: {integrity: sha512-xrD0mccTKRBBIotrITV7WVQAwNJ5+1va6L0H9zN92v2yEdjfAN7864cUaZwJS7JPEs53bDTzKFbfqVlG2HhyKQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32/0.17.14: + resolution: {integrity: sha512-nXpkz9bbJrLLyUTYtRotSS3t5b+FOuljg8LgLdINWFs3FfqZMtbnBCZFUmBzQPyxqU87F8Av+3Nco/M3hEcu1w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64/0.17.14: + resolution: {integrity: sha512-gPQmsi2DKTaEgG14hc3CHXHp62k8g6qr0Pas+I4lUxRMugGSATh/Bi8Dgusoz9IQ0IfdrvLpco6kujEIBoaogA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils/4.4.0_eslint@8.37.0: + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.37.0 + eslint-visitor-keys: 3.4.0 + + /@eslint-community/regexpp/4.5.0: + resolution: {integrity: sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + /@eslint/eslintrc/2.0.2: + resolution: {integrity: sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.5.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@eslint/js/8.37.0: + resolution: {integrity: sha512-x5vzdtOOGgFVDCUs81QRB2+liax8rFg3+7hqM+QhBG0/G3F1ZsoYl97UrqgHgQ9KKT7G6c4V+aTUCgu/n22v1A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@humanwhocodes/config-array/0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/module-importer/1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + /@humanwhocodes/momoa/2.0.4: + resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} + engines: {node: '>=10.10.0'} + dev: false + + /@humanwhocodes/object-schema/1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + + /@manypkg/find-root/1.1.0: + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + dependencies: + '@babel/runtime': 7.21.0 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + dev: true + + /@manypkg/get-packages/1.1.3: + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + dependencies: + '@babel/runtime': 7.21.0 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + dev: true + + /@mobily/ts-belt/3.13.1: + resolution: {integrity: sha512-K5KqIhPI/EoCTbA6CGbrenM9s41OouyK8A03fGJJcla/zKucsgLbz8HNbeseoLarRPgyWJsUyCYqFhI7t3Ra9Q==} + engines: {node: '>= 10.*'} + dev: true + + /@nodelib/fs.scandir/2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat/2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk/1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgr/utils/2.3.1: + resolution: {integrity: sha512-wfzX8kc1PMyUILA+1Z/EqoE4UCXGy0iRGMhPwdfae1+f0OXlLqCk+By+aMzgJBzR9AzS4CDizioG6Ss1gvAFJw==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + is-glob: 4.0.3 + open: 8.4.2 + picocolors: 1.0.0 + tiny-glob: 0.2.9 + tslib: 2.5.0 + dev: false + + /@roarr/cli/5.11.0: + resolution: {integrity: sha512-e/IlAatMVeL/9us+u05/MMS5G2N2sUFlN4prnhGBijbB0K268BwWYsXPqpFtHxFbBPCniZ4D0nrCc6kBn6asOA==} + engines: {node: '>=16'} + hasBin: true + dependencies: + chalk: 4.1.2 + dot-prop: 6.0.1 + es6-error: 4.1.1 + liqe: 3.6.0 + pretty-ms: 7.0.1 + prettyjson: 1.2.5 + roarr: 7.15.0 + socket.io-client: 4.6.1 + split2: 4.2.0 + yargs: 17.7.1 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@socket.io/component-emitter/3.1.0: + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + dev: true + + /@types/fs-extra/11.0.1: + resolution: {integrity: sha512-MxObHvNl4A69ofaTRU8DFqvgzzv8s9yRtaPPm5gud9HDNvpB3GPQFvNuTWAI59B9huVGV5jXYJwbCsmBsOGYWA==} + dependencies: + '@types/jsonfile': 6.1.1 + '@types/node': 18.15.11 + + /@types/glob/7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 18.15.11 + dev: false + + /@types/is-ci/3.0.0: + resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + dependencies: + ci-info: 3.8.0 + dev: true + + /@types/json-schema/7.0.11: + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + dev: false + + /@types/json5/0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: false + + /@types/jsonfile/6.1.1: + resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} + dependencies: + '@types/node': 18.15.11 + + /@types/jsonpath-plus/5.0.2: + resolution: {integrity: sha512-s67hpzTVH+gyVli40QMna0CBloDeRmzwujvCJgV/lp6D7GhBbbH9bJDSzBJuckcaXsOtCFKn1DtQMFo9i9vtKg==} + dev: true + + /@types/k6/0.43.2: + resolution: {integrity: sha512-DD24gUZ5Y+tEZZrNt0wW9xZO3U81mWPQWBkcwms+V37GVUeJQpONriKceq5jgcyoORy9Ra6gjXB3wMhMllB+dw==} + dev: true + + /@types/lodash-es/4.17.7: + resolution: {integrity: sha512-z0ptr6UI10VlU6l5MYhGwS4mC8DZyYer2mCoyysZtSF7p26zOX8UpbrV0YpNYLGS8K4PUFIyEr62IMFFjveSiQ==} + dependencies: + '@types/lodash': 4.14.192 + dev: true + + /@types/lodash/4.14.192: + resolution: {integrity: sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==} + dev: true + + /@types/minimatch/5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: false + + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + + /@types/node/12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + + /@types/node/18.15.11: + resolution: {integrity: sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==} + + /@types/normalize-package-data/2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + + /@types/ps-tree/1.1.2: + resolution: {integrity: sha512-ZREFYlpUmPQJ0esjxoG1fMvB2HNaD3z+mjqdSosZvd3RalncI9NEur73P8ZJz4YQdL64CmV1w0RuqoRUlhQRBw==} + + /@types/retry/0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + + /@types/semver/6.2.3: + resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} + dev: true + + /@types/semver/7.3.13: + resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} + dev: false + + /@types/which/2.0.2: + resolution: {integrity: sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==} + + /@typescript-eslint/eslint-plugin/5.57.0_z24sz2fazj3bxoipp6m4s7b2mi: + resolution: {integrity: sha512-itag0qpN6q2UMM6Xgk6xoHa0D0/P+M17THnr4SVgqn9Rgam5k/He33MA7/D7QoJcdMxHFyX7U9imaBonAX/6qA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.5.0 + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/type-utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + debug: 4.3.4 + eslint: 8.37.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.3.8 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/parser/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-orrduvpWYkgLCyAdNtR1QIWovcNZlEm6yL8nwH/eTxWLd8gsP+25pdLHYzL2QdkqrieaDwLpytHqycncv0woUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + debug: 4.3.4 + eslint: 8.37.0 + typescript: 5.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/scope-manager/5.57.0: + resolution: {integrity: sha512-NANBNOQvllPlizl9LatX8+MHi7bx7WGIWYjPHDmQe5Si/0YEYfxSljJpoTyTWFTgRy3X8gLYSE4xQ2U+aCozSw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 + dev: false + + /@typescript-eslint/type-utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-kxXoq9zOTbvqzLbdNKy1yFrxLC6GDJFE2Yuo3KqSwTmDOFjUGeWSakgoXT864WcK5/NAJkkONCiKb1ddsqhLXQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + '@typescript-eslint/utils': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + debug: 4.3.4 + eslint: 8.37.0 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/types/5.57.0: + resolution: {integrity: sha512-mxsod+aZRSyLT+jiqHw1KK6xrANm19/+VFALVFP5qa/aiJnlP38qpyaTd0fEKhWvQk6YeNZ5LGwI1pDpBRBhtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: false + + /@typescript-eslint/typescript-estree/5.57.0_typescript@5.0.3: + resolution: {integrity: sha512-LTzQ23TV82KpO8HPnWuxM2V7ieXW8O142I7hQTxWIHDcCEIjtkat6H96PFkYBQqGFLW/G/eVVOB9Z8rcvdY/Vw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/visitor-keys': 5.57.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.8 + tsutils: 3.21.0_typescript@5.0.3 + typescript: 5.0.3 + transitivePeerDependencies: + - supports-color + dev: false + + /@typescript-eslint/utils/5.57.0_vwh6htx42aidho2qgfca5u5rwm: + resolution: {integrity: sha512-ps/4WohXV7C+LTSgAL5CApxvxbMkl9B9AUZRtnEFonpIxZDIT7wC1xfvuJONMidrkB9scs4zhtRyIwHh4+18kw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0 + '@types/json-schema': 7.0.11 + '@types/semver': 7.3.13 + '@typescript-eslint/scope-manager': 5.57.0 + '@typescript-eslint/types': 5.57.0 + '@typescript-eslint/typescript-estree': 5.57.0_typescript@5.0.3 + eslint: 8.37.0 + eslint-scope: 5.1.1 + semver: 7.3.8 + transitivePeerDependencies: + - supports-color + - typescript + dev: false + + /@typescript-eslint/visitor-keys/5.57.0: + resolution: {integrity: sha512-ery2g3k0hv5BLiKpPuwYt9KBkAp2ugT6VvyShXdLOkax895EC55sP0Tx5L0fZaQueiK3fBLvHVvEl3jFS5ia+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.57.0 + eslint-visitor-keys: 3.4.0 + dev: false + + /acorn-jsx/5.3.2_acorn@8.8.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + + /acorn/8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /aggregate-error/4.0.1: + resolution: {integrity: sha512-0poP0T7el6Vq3rstR8Mn4V/IQrpBLO6POkUSrN7RhyY+GF/InCFShQzsQ39T25gkHhLgSLByyAz+Kjb+c2L98w==} + engines: {node: '>=12'} + dependencies: + clean-stack: 4.2.0 + indent-string: 5.0.0 + dev: true + + /ajv/6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /ajv/8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors/4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex/5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-styles/3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles/4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /anymatch/3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /argparse/1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /array-buffer-byte-length/1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.2 + is-array-buffer: 3.0.2 + + /array-includes/3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.0 + is-string: 1.0.7 + dev: false + + /array-union/2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + /array.prototype.flat/1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + + /array.prototype.flatmap/1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: false + + /arrify/1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /available-typed-arrays/1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + /balanced-match/1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /better-ajv-errors/1.2.0_ajv@8.12.0: + resolution: {integrity: sha512-UW+IsFycygIo7bclP9h5ugkNH8EjCSgqyFB/yQ4Hqqa1OEYDtb0uFIkYE0b6+CjkgJYVM5UKI/pJPxjYe9EZlA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + ajv: 4.11.8 - 8 + dependencies: + '@babel/code-frame': 7.21.4 + '@humanwhocodes/momoa': 2.0.4 + ajv: 8.12.0 + chalk: 4.1.2 + jsonpointer: 5.0.1 + leven: 3.1.0 + dev: false + + /better-path-resolve/1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + dependencies: + is-windows: 1.0.2 + dev: true + + /binary-extensions/2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /boolean/3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion/1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion/2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + + /braces/3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /breakword/1.0.5: + resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} + dependencies: + wcwidth: 1.0.1 + dev: true + + /builtin-modules/3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: false + + /call-bind/1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + + /callsites/3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camelcase-keys/6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase-keys/7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + + /camelcase/5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase/6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /chalk/2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk/4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chalk/5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + /chardet/0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /chokidar/3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /ci-info/3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + + /clean-regexp/1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: false + + /clean-stack/4.2.0: + resolution: {integrity: sha512-LYv6XPxoyODi36Dp976riBtSY27VmFo+MKqEU9QCCWyTrdEPDog+RWA7xQWHi6Vbp61j5c4cdzzX1NidnwtUWg==} + engines: {node: '>=12'} + dependencies: + escape-string-regexp: 5.0.0 + dev: true + + /cliui/6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + dev: true + + /cliui/8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + /clone/1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert/1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert/2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name/1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name/1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /colors/1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + dev: true + + /commander/10.0.0: + resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + engines: {node: '>=14'} + dev: true + + /commander/2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + dev: true + + /concat-map/0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concurrently/8.0.1: + resolution: {integrity: sha512-Sh8bGQMEL0TAmAm2meAXMjcASHZa7V0xXQVDBLknCPa9TPtkY9yYs+0cnGGgfdkW0SV1Mlg+hVGfXcoI8d3MJA==} + engines: {node: ^14.13.0 || >=16.0.0} + hasBin: true + dependencies: + chalk: 4.1.2 + date-fns: 2.29.3 + lodash: 4.17.21 + rxjs: 7.8.0 + shell-quote: 1.8.0 + spawn-command: 0.0.2-1 + supports-color: 8.1.1 + tree-kill: 1.2.2 + yargs: 17.7.1 + dev: true + + /cosmiconfig/8.0.0: + resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + + /cross-spawn/5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn/7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /csv-generate/3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + dev: true + + /csv-parse/4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + dev: true + + /csv-stringify/5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + dev: true + + /csv/5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + dev: true + + /data-uri-to-buffer/4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + /date-fns/2.29.3: + resolution: {integrity: sha512-dDCnyH2WnnKusqvZZ6+jA1O51Ibt8ZMRNkDZdyAyK4YfbDwa/cEmuztzG5pk6hqlp9aSBPYcjOlktquahGwGeA==} + engines: {node: '>=0.11'} + dev: true + + /debug/3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: false + + /debug/4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decamelize-keys/1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decamelize/5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + + /deep-is/0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + /deepmerge/4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + /defaults/1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop/2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: false + + /define-properties/1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + + /del-cli/5.0.0: + resolution: {integrity: sha512-rENFhUaYcjoMODwFhhlON+ogN7DoG+4+GFN+bsA1XeDt4w2OKQnQadFP1thHSAlK9FAtl88qgP66wOV+eFZZiQ==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + del: 7.0.0 + meow: 10.1.5 + dev: true + + /del/7.0.0: + resolution: {integrity: sha512-tQbV/4u5WVB8HMJr08pgw0b6nG4RGt/tj+7Numvq+zqcvUFeMaIWWOUFltiU+6go8BSO2/ogsB4EasDaj0y68Q==} + engines: {node: '>=14.16'} + dependencies: + globby: 13.1.3 + graceful-fs: 4.2.11 + is-glob: 4.0.3 + is-path-cwd: 3.0.0 + is-path-inside: 4.0.0 + p-map: 5.5.0 + rimraf: 3.0.2 + slash: 4.0.0 + dev: true + + /detect-indent/6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + /detect-newline/3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: false + + /dir-glob/3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + + /discontinuous-range/1.0.0: + resolution: {integrity: sha512-c68LpLbO+7kP/b1Hr1qs8/BJ09F5khZGTxqxZuhzxpmwJKOgRFHJWIb9/KmqnqHhLdO55aOxFH/EGBvUQbL/RQ==} + dev: true + + /doctrine/2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: false + + /doctrine/3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + + /dot-prop/6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dependencies: + is-obj: 2.0.0 + dev: true + + /duplexer/0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + + /emoji-regex/8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /engine.io-client/6.4.0: + resolution: {integrity: sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + engine.io-parser: 5.0.6 + ws: 8.11.0 + xmlhttprequest-ssl: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /engine.io-parser/5.0.6: + resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + engines: {node: '>=10.0.0'} + dev: true + + /enhanced-resolve/5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: false + + /enquirer/2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /error-ex/1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + + /es-abstract/1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + + /es-shim-unscopables/1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + /es6-error/4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true + + /esbuild/0.17.14: + resolution: {integrity: sha512-vOO5XhmVj/1XQR9NQ1UPq6qvMYL7QFJU57J5fKBKBKxp17uDt5PgxFDb4A2nEiXhr1qQs4x0F5+66hVVw4ruNw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.14 + '@esbuild/android-arm64': 0.17.14 + '@esbuild/android-x64': 0.17.14 + '@esbuild/darwin-arm64': 0.17.14 + '@esbuild/darwin-x64': 0.17.14 + '@esbuild/freebsd-arm64': 0.17.14 + '@esbuild/freebsd-x64': 0.17.14 + '@esbuild/linux-arm': 0.17.14 + '@esbuild/linux-arm64': 0.17.14 + '@esbuild/linux-ia32': 0.17.14 + '@esbuild/linux-loong64': 0.17.14 + '@esbuild/linux-mips64el': 0.17.14 + '@esbuild/linux-ppc64': 0.17.14 + '@esbuild/linux-riscv64': 0.17.14 + '@esbuild/linux-s390x': 0.17.14 + '@esbuild/linux-x64': 0.17.14 + '@esbuild/netbsd-x64': 0.17.14 + '@esbuild/openbsd-x64': 0.17.14 + '@esbuild/sunos-x64': 0.17.14 + '@esbuild/win32-arm64': 0.17.14 + '@esbuild/win32-ia32': 0.17.14 + '@esbuild/win32-x64': 0.17.14 + + /escalade/3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-string-regexp/1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp/4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + /escape-string-regexp/5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /eslint-config-prettier/8.8.0_eslint@8.37.0: + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.37.0 + dev: false + + /eslint-config-turbo/1.8.8_eslint@8.37.0: + resolution: {integrity: sha512-+yT22sHOT5iC1sbBXfLIdXfbZuiv9bAyOXsxTxFCWelTeFFnANqmuKB3x274CFvf7WRuZ/vYP/VMjzU9xnFnxA==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + eslint: 8.37.0 + eslint-plugin-turbo: 1.8.8_eslint@8.37.0 + dev: false + + /eslint-import-resolver-node/0.3.7: + resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} + dependencies: + debug: 3.2.7 + is-core-module: 2.11.0 + resolve: 1.22.1 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-import-resolver-typescript/3.5.4_rbts4wm34tb3x7owcp777e4f4y: + resolution: {integrity: sha512-9xUpnedEmSfG57sN1UvWPiEhfJ8bPt0Wg2XysA7Mlc79iFGhmJtRUg9LxtkK81FhMUui0YuR2E8iUsVhePkh4A==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.4 + enhanced-resolve: 5.12.0 + eslint: 8.37.0 + eslint-plugin-import: 2.27.5_f66okp2kqrdiymeqhgaog6g5pu + get-tsconfig: 4.5.0 + globby: 13.1.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + synckit: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-module-utils/2.7.4_kilwkdng6ctuxxd7dfjxtekdra: + resolution: {integrity: sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + dependencies: + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + debug: 3.2.7 + eslint: 8.37.0 + eslint-import-resolver-node: 0.3.7 + eslint-import-resolver-typescript: 3.5.4_rbts4wm34tb3x7owcp777e4f4y + transitivePeerDependencies: + - supports-color + dev: false + + /eslint-plugin-disable/2.0.3_eslint@8.37.0: + resolution: {integrity: sha512-JWT4TPhcIhd8jcwACbsDValvAtHl7BQDhbTZC40vqcp4Fciz2oTnEAFtOCGojdskviN3VGOObVCrjjWe8DGYIg==} + peerDependencies: + eslint: '>=0.16.0' + dependencies: + eslint: 8.37.0 + resolve: 1.22.1 + dev: false + + /eslint-plugin-import/2.27.5_f66okp2kqrdiymeqhgaog6g5pu: + resolution: {integrity: sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + dependencies: + '@typescript-eslint/parser': 5.57.0_vwh6htx42aidho2qgfca5u5rwm + array-includes: 3.1.6 + array.prototype.flat: 1.3.1 + array.prototype.flatmap: 1.3.1 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.37.0 + eslint-import-resolver-node: 0.3.7 + eslint-module-utils: 2.7.4_kilwkdng6ctuxxd7dfjxtekdra + has: 1.0.3 + is-core-module: 2.11.0 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.values: 1.1.6 + resolve: 1.22.1 + semver: 6.3.0 + tsconfig-paths: 3.14.2 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + dev: false + + /eslint-plugin-json-files/2.1.0_eslint@8.37.0: + resolution: {integrity: sha512-62dP9I3kYdSYS7LoXUWMjUQm1/Dsd9PGaJJSkCgRgi2BRlEZroRq4Ix3PryqtNLnkw4rJJumKy/jF0kygVsOrw==} + engines: {node: '>=14.15'} + peerDependencies: + eslint: '>=5' + dependencies: + ajv: 8.12.0 + better-ajv-errors: 1.2.0_ajv@8.12.0 + eslint: 8.37.0 + requireindex: 1.2.0 + semver: 7.3.8 + sort-package-json: 1.57.0 + dev: false + + /eslint-plugin-simple-import-sort/10.0.0_eslint@8.37.0: + resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} + peerDependencies: + eslint: '>=5.0.0' + dependencies: + eslint: 8.37.0 + dev: false + + /eslint-plugin-turbo/1.8.8_eslint@8.37.0: + resolution: {integrity: sha512-zqyTIvveOY4YU5jviDWw9GXHd4RiKmfEgwsjBrV/a965w0PpDwJgEUoSMB/C/dU310Sv9mF3DSdEjxjJLaw6rA==} + peerDependencies: + eslint: '>6.6.0' + dependencies: + eslint: 8.37.0 + dev: false + + /eslint-plugin-unicorn/46.0.0_eslint@8.37.0: + resolution: {integrity: sha512-j07WkC+PFZwk8J33LYp6JMoHa1lXc1u6R45pbSAipjpfpb7KIGr17VE2D685zCxR5VL4cjrl65kTJflziQWMDA==} + engines: {node: '>=14.18'} + peerDependencies: + eslint: '>=8.28.0' + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0 + ci-info: 3.8.0 + clean-regexp: 1.0.0 + eslint: 8.37.0 + esquery: 1.5.0 + indent-string: 4.0.0 + is-builtin-module: 3.2.1 + jsesc: 3.0.2 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.24 + regjsparser: 0.9.1 + safe-regex: 2.1.1 + semver: 7.3.8 + strip-indent: 3.0.0 + dev: false + + /eslint-scope/5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: false + + /eslint-scope/7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-visitor-keys/3.4.0: + resolution: {integrity: sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /eslint/8.37.0: + resolution: {integrity: sha512-NU3Ps9nI05GUoVMxcZx1J8CNR6xOvUT4jAUMH5+z8lpp3aEdPVCImKw6PWG4PY+Vfkpr+jvMpxs/qoE7wq0sPw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0_eslint@8.37.0 + '@eslint-community/regexpp': 4.5.0 + '@eslint/eslintrc': 2.0.2 + '@eslint/js': 8.37.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-visitor-keys: 3.4.0 + espree: 9.5.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + /espree/9.5.1: + resolution: {integrity: sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2_acorn@8.8.2 + eslint-visitor-keys: 3.4.0 + + /esprima/4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery/1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + + /esrecurse/4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + + /estraverse/4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: false + + /estraverse/5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + /esutils/2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + /event-stream/3.3.4: + resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==} + dependencies: + duplexer: 0.1.2 + from: 0.1.7 + map-stream: 0.1.0 + pause-stream: 0.0.11 + split: 0.3.3 + stream-combiner: 0.0.4 + through: 2.3.8 + + /expect-more/1.3.0: + resolution: {integrity: sha512-HnXT5nJb9V3DMnr5RgA1TiKbu5kRaJ0GD1JkuhZvnr1Qe3HJq+ESnrcl/jmVUZ8Ycnl3Sp0OTYUhmO36d2+zow==} + dev: true + + /extendable-error/0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + dev: true + + /external-editor/3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + dev: true + + /fast-deep-equal/3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-glob/3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify/2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-json-stringify/2.7.13: + resolution: {integrity: sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==} + engines: {node: '>= 10.0.0'} + dependencies: + ajv: 6.12.6 + deepmerge: 4.3.1 + rfdc: 1.3.0 + string-similarity: 4.0.4 + + /fast-levenshtein/2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + /fast-printf/1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-xml-parser/4.1.3: + resolution: {integrity: sha512-LsNDahCiCcJPe8NO7HijcnukHB24tKbfDDA5IILx9dmW3Frb52lhbeX6MPNUSvyGNfav2VTYpJ/OqkRoVLrh2Q==} + hasBin: true + dependencies: + strnum: 1.0.5 + dev: false + + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /fetch-blob/3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + + /file-entry-cache/6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + + /fill-range/7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /find-up/4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + /find-up/5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /find-yarn-workspace-root2/1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: true + + /flat-cache/3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + + /flatted/3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + /for-each/0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + + /formdata-polyfill/4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + dependencies: + fetch-blob: 3.2.0 + + /from/0.1.7: + resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==} + + /fs-extra/11.1.0: + resolution: {integrity: sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra/11.1.1: + resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + + /fs-extra/7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra/8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath/1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents/2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind/1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function.prototype.name/1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + functions-have-names: 1.2.3 + + /functions-have-names/1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + /get-caller-file/2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + /get-intrinsic/1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + + /get-symbol-description/1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + + /get-tsconfig/4.5.0: + resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} + dev: false + + /git-hooks-list/1.0.3: + resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} + dev: false + + /glob-parent/5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent/6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob/7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob/8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob/9.3.2: + resolution: {integrity: sha512-BTv/JhKXFEHsErMte/AnfiSv8yYOLLiyH2lTg8vn02O21zWFgHPTfxtgn1QRe7NRgggUhC8hacR2Re94svHqeA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 7.4.3 + minipass: 4.2.5 + path-scurry: 1.6.3 + + /globals/13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + + /globalthis/1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + + /globalyzer/0.1.0: + resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} + dev: false + + /globby/10.0.0: + resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: false + + /globby/11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + + /globby/13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + + /globrex/0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + dev: false + + /gopd/1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.0 + + /graceful-fs/4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /grapheme-splitter/1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /has-bigints/1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + /has-flag/3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag/4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-property-descriptors/1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.0 + + /has-proto/1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + /has-symbols/1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag/1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has/1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /hosted-git-info/2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /human-id/1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + dev: true + + /iconv-lite/0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + /import-fresh/3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /imurmurhash/0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string/4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + /indent-string/5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + + /inflight/1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits/2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /internal-slot/1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + + /is-array-buffer/3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + + /is-arrayish/0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + /is-bigint/1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + + /is-binary-path/2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object/1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + /is-builtin-module/3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + dependencies: + builtin-modules: 3.3.0 + dev: false + + /is-callable/1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + /is-ci/3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.8.0 + dev: true + + /is-core-module/2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + + /is-date-object/1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-docker/2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: false + + /is-extglob/2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point/3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-glob/4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-negative-zero/2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + /is-number-object/1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-number/7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj/2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-path-cwd/3.0.0: + resolution: {integrity: sha512-kyiNFFLU0Ampr6SDZitD/DwUo4Zs1nSdnygUBqsu3LooL00Qvb5j+UnvApUn/TTj1J3OuE6BTdQ5rudKmU2ZaA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-path-inside/3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + /is-path-inside/4.0.0: + resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} + engines: {node: '>=12'} + dev: true + + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj/2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + dev: false + + /is-regex/1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + /is-shared-array-buffer/1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.2 + + /is-string/1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-subdir/1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + dependencies: + better-path-resolve: 1.0.0 + dev: true + + /is-symbol/1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /is-typed-array/1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + /is-weakref/1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + + /is-windows/1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-wsl/2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: false + + /isexe/2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /jiti/1.18.2: + resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} + hasBin: true + + /js-sdsl/4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + + /js-tokens/4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml/3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsesc/0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: false + + /jsesc/3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /json-parse-even-better-errors/2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + /json-schema-traverse/0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + /json-schema-traverse/1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify/1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + /json5/1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: false + + /jsonfile/4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile/6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + + /jsonpath-plus/7.2.0: + resolution: {integrity: sha512-zBfiUPM5nD0YZSBT/o/fbCUlCcepMIdP0CJZxM1+KgA4f2T206f6VAg9e7mX35+KlMaIc5qXW34f3BnwJ3w+RA==} + engines: {node: '>=12.0.0'} + dev: false + + /jsonpointer/5.0.1: + resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} + engines: {node: '>=0.10.0'} + dev: false + + /kind-of/6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true + + /kleur/4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + dev: true + + /leven/3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: false + + /levn/0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + /liqe/3.6.0: + resolution: {integrity: sha512-CYVQr0bk5CCTkX3wW2MdyEWdr9FHLpiE/1cQXQ36Sdjn5gv7JIpm9jnkovFwiVzumw7f6JDFXpljwUY+fAcFYQ==} + engines: {node: '>=12.0'} + dependencies: + nearley: 2.20.1 + ts-error: 1.0.6 + dev: true + + /load-yaml-file/0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /locate-path/5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + + /locate-path/6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash-es/4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + dev: false + + /lodash.merge/4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + /lodash.startcase/4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash/4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /lru-cache/4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + dev: true + + /lru-cache/6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /lru-cache/7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /map-stream/0.1.0: + resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==} + + /meow/10.1.5: + resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.1.1 + type-fest: 1.4.0 + yargs-parser: 20.2.9 + dev: true + + /meow/6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + dev: true + + /merge2/1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /micromatch/4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + /minimatch/3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch/5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch/6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch/7.4.3: + resolution: {integrity: sha512-5UB4yYusDtkRPbRiy1cqZ1IpGNcJCGlEMG17RKzPddpyiPKoCdwohbED8g4QXT0ewCt8LTkQXuljsUfQ3FKM4A==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist/1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass/4.2.5: + resolution: {integrity: sha512-+yQl7SX3bIT83Lhb4BVorMAHVuqsskxRdlmO9kTpyukp8vsm2Sn/fUOV9xlnG8/a5JsypJzap21lz/y3FBMJ8Q==} + engines: {node: '>=8'} + + /mixme/0.5.9: + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} + dev: true + + /moo/0.5.2: + resolution: {integrity: sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q==} + dev: true + + /ms/2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms/2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: false + + /natural-compare-lite/1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: false + + /natural-compare/1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + /nearley/2.20.1: + resolution: {integrity: sha512-+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==} + hasBin: true + dependencies: + commander: 2.20.3 + moo: 0.5.2 + railroad-diagrams: 1.0.0 + randexp: 0.4.6 + dev: true + + /node-domexception/1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + /node-fetch/3.2.10: + resolution: {integrity: sha512-MhuzNwdURnZ1Cp4XTazr69K0BTizsBroX7Zx3UgDSVcZYKF/6p0CBe4EUb/hLqmzVhl0UpYfgRljQ4yxE+iCxA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + + /normalize-package-data/2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.1 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + + /normalize-package-data/3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.11.0 + semver: 7.3.8 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path/3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /object-inspect/1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + /object-keys/1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object.assign/4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + /object.values/1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: false + + /once/1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /open/8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: false + + /optionator/0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + + /os-tmpdir/1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /outdent/0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + dev: true + + /p-filter/2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + dependencies: + p-map: 2.1.0 + dev: true + + /p-limit/2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + + /p-limit/3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-locate/4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + + /p-locate/5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /p-map/2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + dev: true + + /p-map/5.5.0: + resolution: {integrity: sha512-VFqfGDHlx87K66yZrNdI4YGtD70IRyd+zSvgks6mzHPRNkoKy+9EKP4SFC77/vTTQYmRmti7dvqC+m5jBrBAcg==} + engines: {node: '>=12'} + dependencies: + aggregate-error: 4.0.1 + dev: true + + /p-retry/4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + + /p-try/2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + /parent-module/1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parse-json/5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + /parse-ms/2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + dev: true + + /path-exists/4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute/1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key/3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + /path-parse/1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-scurry/1.6.3: + resolution: {integrity: sha512-RAmB+n30SlN+HnNx6EbcpoDy9nwdpcGPnEKrJnu6GZoDWBdIjo1UQMVtW2ybtC7LC2oKLcMq8y5g8WnKLiod9g==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 7.18.3 + minipass: 4.2.5 + + /path-type/4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /pause-stream/0.0.11: + resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} + dependencies: + through: 2.3.8 + + /picocolors/1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: false + + /picomatch/2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify/4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + + /pkg-dir/4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pluralize/8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: false + + /preferred-pm/3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: true + + /prelude-ls/1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + /prettier/2.8.7: + resolution: {integrity: sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-ms/7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + dependencies: + parse-ms: 2.1.0 + dev: true + + /prettyjson/1.2.5: + resolution: {integrity: sha512-rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==} + hasBin: true + dependencies: + colors: 1.4.0 + minimist: 1.2.8 + dev: true + + /ps-tree/1.2.0: + resolution: {integrity: sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==} + engines: {node: '>= 0.10'} + hasBin: true + dependencies: + event-stream: 3.3.4 + + /pseudomap/1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + + /punycode/2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + /queue-microtask/1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-lru/4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quick-lru/5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /railroad-diagrams/1.0.0: + resolution: {integrity: sha512-cz93DjNeLY0idrCNOH6PviZGRN9GJhsdm9hpn1YCS879fj4W+x5IFJhhkRZcwVgMmFF7R82UA/7Oh+R8lLZg6A==} + dev: true + + /randexp/0.4.6: + resolution: {integrity: sha512-80WNmd9DA0tmZrw9qQa62GPPWfuXJknrmVmLcxvq4uZBdYqb1wYoKTmnlGUchvVWe0XiLupYkBoXVOxz3C8DYQ==} + engines: {node: '>=0.12'} + dependencies: + discontinuous-range: 1.0.0 + ret: 0.1.15 + dev: true + + /randomcolor/0.6.2: + resolution: {integrity: sha512-Mn6TbyYpFgwFuQ8KJKqf3bqqY9O1y37/0jgSK/61PUxV4QfIMv0+K2ioq8DfOjkBslcjwSzRfIDEXfzA9aCx7A==} + + /read-pkg-up/7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + /read-pkg-up/8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + dev: true + + /read-pkg/5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + /read-pkg/6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + dev: true + + /read-yaml-file/1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /read-yaml-file/2.1.0: + resolution: {integrity: sha512-UkRNRIwnhG+y7hpqnycCL/xbTk7+ia9VuVTC0S+zVbwd65DI9eUpRMfsWIGrCWxTU/mi+JW8cHQCrv+zfCbEPQ==} + engines: {node: '>=10.13'} + dependencies: + js-yaml: 4.1.0 + strip-bom: 4.0.0 + dev: true + + /readdirp/3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /redent/3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /redent/4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} + dependencies: + indent-string: 5.0.0 + strip-indent: 4.0.0 + dev: true + + /regenerator-runtime/0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + dev: true + + /regexp-tree/0.1.24: + resolution: {integrity: sha512-s2aEVuLhvnVJW6s/iPgEGK6R+/xngd2jNQ+xy4bXNDKxZKJH6jpPHY6kVeVv1IeLCHgswRj+Kl3ELaDjG6V1iw==} + hasBin: true + dev: false + + /regexp.prototype.flags/1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + + /regjsparser/0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: false + + /require-directory/2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + /require-from-string/2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /require-main-filename/2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true + + /requireindex/1.2.0: + resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} + engines: {node: '>=0.10.5'} + dev: false + + /resolve-from/4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + /resolve-from/5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve/1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /ret/0.1.15: + resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==} + engines: {node: '>=0.12'} + dev: true + + /retry/0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + + /reusify/1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc/1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + + /rimraf/3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /roarr/7.15.0: + resolution: {integrity: sha512-CV9WefQfUXTX6wr8CrEMhfNef3sjIt9wNhE/5PNu4tNWsaoDNDXqq+OGn/RW9A1UPb0qc7FQlswXRaJJJsqn8A==} + engines: {node: '>=12.0'} + dependencies: + boolean: 3.2.0 + fast-json-stringify: 2.7.13 + fast-printf: 1.6.9 + globalthis: 1.0.3 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /run-parallel/1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /rxjs/7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.5.0 + + /safe-regex-test/1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + + /safe-regex/2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + dependencies: + regexp-tree: 0.1.24 + dev: false + + /safe-stable-stringify/2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /safer-buffer/2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /semver-compare/1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver/5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + /semver/6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + dev: false + + /semver/7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error/11.0.0: + resolution: {integrity: sha512-YKrURWDqcT3VGX/s/pCwaWtpfJEEaEw5Y4gAnQDku92b/HjVj4r4UhA5QrMVMFotymK2wIWs5xthny5SMFu7Vw==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 2.19.0 + + /set-blocking/2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true + + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command/2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex/3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /shell-quote/1.8.0: + resolution: {integrity: sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==} + dev: true + + /side-channel/1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + + /signal-exit/3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /slash/3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + /slash/4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + /smartwrap/2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + array.prototype.flat: 1.3.1 + breakword: 1.0.5 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + dev: true + + /socket.io-client/4.6.1: + resolution: {integrity: sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==} + engines: {node: '>=10.0.0'} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + engine.io-client: 6.4.0 + socket.io-parser: 4.2.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /socket.io-parser/4.2.2: + resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + engines: {node: '>=10.0.0'} + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /sort-object-keys/1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: false + + /sort-package-json/1.57.0: + resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==} + hasBin: true + dependencies: + detect-indent: 6.1.0 + detect-newline: 3.1.0 + git-hooks-list: 1.0.3 + globby: 10.0.0 + is-plain-obj: 2.1.0 + sort-object-keys: 1.1.3 + dev: false + + /spawn-command/0.0.2-1: + resolution: {integrity: sha512-n98l9E2RMSJ9ON1AKisHzz7V42VDiBQGY6PB1BwRglz99wpVsSuGzQ+jOi6lFXBGVTCrRpltvjm+/XA+tpeJrg==} + dev: true + + /spawndamnit/2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.7 + dev: true + + /spdx-correct/3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + + /spdx-exceptions/2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + /spdx-expression-parse/3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + + /spdx-license-ids/3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + + /split/0.3.3: + resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==} + dependencies: + through: 2.3.8 + + /split2/4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: true + + /sprintf-js/1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stream-combiner/0.0.4: + resolution: {integrity: sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==} + dependencies: + duplexer: 0.1.2 + + /stream-transform/2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + dependencies: + mixme: 0.5.9 + dev: true + + /string-similarity/4.0.4: + resolution: {integrity: sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==} + + /string-width/4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string.prototype.trim/1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + + /string.prototype.trimend/1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + + /string.prototype.trimstart/1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + + /strip-ansi/6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-bom/3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + /strip-bom/4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-indent/3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + + /strip-indent/4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments/3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strnum/1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + dev: false + + /supports-color/5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color/7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-color/8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag/1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /synckit/0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.3.1 + tslib: 2.5.0 + dev: false + + /syncpack/9.8.4: + resolution: {integrity: sha512-i81rO+dHuJ2dO8YQq6SCExcyN0x9ZVTY7cVPn8pWjS5Dml0A8uM0cOaneOludFesdrLXMZUA/uEWa74ddBgkPQ==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@mobily/ts-belt': 3.13.1 + chalk: 4.1.2 + commander: 10.0.0 + cosmiconfig: 8.0.0 + expect-more: 1.3.0 + fs-extra: 11.1.0 + glob: 8.1.0 + minimatch: 6.2.0 + read-yaml-file: 2.1.0 + semver: 7.3.8 + zod: 3.20.6 + dev: true + + /tapable/2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: false + + /term-size/2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + dev: true + + /text-table/0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + /throttle-debounce/5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + + /through/2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + /tiny-glob/0.2.9: + resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==} + dependencies: + globalyzer: 0.1.0 + globrex: 0.1.2 + dev: false + + /tmp/0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-regex-range/5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /tree-kill/1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true + + /trim-newlines/3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trim-newlines/4.1.1: + resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==} + engines: {node: '>=12'} + dev: true + + /ts-error/1.0.6: + resolution: {integrity: sha512-tLJxacIQUM82IR7JO1UUkKlYuUTmoY9HBJAmNWFzheSlDS5SPMcNIepejHJa4BpPQLAcbRhRf3GDJzyj6rbKvA==} + dev: true + + /tsconfig-paths/3.14.2: + resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==} + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: false + + /tslib/1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + dev: false + + /tslib/2.5.0: + resolution: {integrity: sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==} + + /tsutils/3.21.0_typescript@5.0.3: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.0.3 + dev: false + + /tty-table/4.2.1: + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.1 + dev: true + + /turbo-darwin-64/1.8.8: + resolution: {integrity: sha512-18cSeIm7aeEvIxGyq7PVoFyEnPpWDM/0CpZvXKHpQ6qMTkfNt517qVqUTAwsIYqNS8xazcKAqkNbvU1V49n65Q==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-darwin-arm64/1.8.8: + resolution: {integrity: sha512-ruGRI9nHxojIGLQv1TPgN7ud4HO4V8mFBwSgO6oDoZTNuk5ybWybItGR+yu6fni5vJoyMHXOYA2srnxvOc7hjQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-64/1.8.8: + resolution: {integrity: sha512-N/GkHTHeIQogXB1/6ZWfxHx+ubYeb8Jlq3b/3jnU4zLucpZzTQ8XkXIAfJG/TL3Q7ON7xQ8yGOyGLhHL7MpFRg==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-linux-arm64/1.8.8: + resolution: {integrity: sha512-hKqLbBHgUkYf2Ww8uBL9UYdBFQ5677a7QXdsFhONXoACbDUPvpK4BKlz3NN7G4NZ+g9dGju+OJJjQP0VXRHb5w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-64/1.8.8: + resolution: {integrity: sha512-2ndjDJyzkNslXxLt+PQuU21AHJWc8f6MnLypXy3KsN4EyX/uKKGZS0QJWz27PeHg0JS75PVvhfFV+L9t9i+Yyg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo-windows-arm64/1.8.8: + resolution: {integrity: sha512-xCA3oxgmW9OMqpI34AAmKfOVsfDljhD5YBwgs0ZDsn5h3kCHhC4x9W5dDk1oyQ4F5EXSH3xVym5/xl1J6WRpUg==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /turbo/1.8.8: + resolution: {integrity: sha512-qYJ5NjoTX+591/x09KgsDOPVDUJfU9GoS+6jszQQlLp1AHrf1wRFA3Yps8U+/HTG03q0M4qouOfOLtRQP4QypA==} + hasBin: true + requiresBuild: true + optionalDependencies: + turbo-darwin-64: 1.8.8 + turbo-darwin-arm64: 1.8.8 + turbo-linux-64: 1.8.8 + turbo-linux-arm64: 1.8.8 + turbo-windows-64: 1.8.8 + turbo-windows-arm64: 1.8.8 + dev: true + + /turbowatch/2.20.0: + resolution: {integrity: sha512-BMhMKhOZF0XWEnDHiRThhlXMt/LjHcGCdgP8nDYs2CCg/eaFn9jfu1KehnS8utgCbB1DvhDI9CNyAfmgtOh0EQ==} + engines: {node: '>=18'} + hasBin: true + dependencies: + chalk: 4.1.2 + chokidar: 3.5.3 + glob: 9.3.2 + jiti: 1.18.2 + micromatch: 4.0.5 + p-retry: 4.6.2 + randomcolor: 0.6.2 + roarr: 7.15.0 + semver: 7.3.8 + serialize-error: 11.0.0 + throttle-debounce: 5.0.0 + yargs: 17.7.1 + zx: 7.2.1 + + /type-check/0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + + /type-fest/0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + + /type-fest/0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest/0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + /type-fest/0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + /type-fest/1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /type-fest/2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + /typed-array-length/1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + + /typescript/5.0.3: + resolution: {integrity: sha512-xv8mOEDnigb/tN9PSMTwSEqAnUvkoXMQlicOb0IUVDBSQCgBSaAAROUZYy2IcUy5qU6XajK5jjjO7TMWqBTKZA==} + engines: {node: '>=12.20'} + hasBin: true + + /unbox-primitive/1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + /universalify/0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify/2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + /uri-js/4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + + /validate-npm-package-license/3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + /wcwidth/1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /web-streams-polyfill/3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + + /webpod/0.0.2: + resolution: {integrity: sha512-cSwwQIeg8v4i3p4ajHhwgR7N6VyxAf+KYSSsY6Pd3aETE+xEU4vbitz7qQkB0I321xnhDdgtxuiSfk5r/FVtjg==} + hasBin: true + + /which-boxed-primitive/1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + /which-module/2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + dev: true + + /which-pm/2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: true + + /which-typed-array/1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which/2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /which/3.0.0: + resolution: {integrity: sha512-nla//68K9NU6yRiwDY/Q8aU6siKlSs64aEC7+IV56QoAuyQT2ovsJcgGYGyqMOmI/CGN1BOR6mM5EN0FBO+zyQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + hasBin: true + dependencies: + isexe: 2.0.0 + + /word-wrap/1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + + /wrap-ansi/6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi/7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + /wrappy/1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /ws/8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + 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 + dev: true + + /xmlhttprequest-ssl/2.0.0: + resolution: {integrity: sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==} + engines: {node: '>=0.4.0'} + dev: true + + /y18n/4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true + + /y18n/5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + /yallist/2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + + /yallist/4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml/2.2.1: + resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==} + engines: {node: '>= 14'} + + /yargs-parser/18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + + /yargs-parser/20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser/21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + /yargs/15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + dev: true + + /yargs/17.7.1: + resolution: {integrity: sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + /yocto-queue/0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /zod/3.20.6: + resolution: {integrity: sha512-oyu0m54SGCtzh6EClBVqDDlAYRz4jrVtKwQ7ZnsEmMI9HnzuZFj8QFwAY1M5uniIYACdGvv0PBWPF2kO0aNofA==} + dev: true + + /zx/7.2.1: + resolution: {integrity: sha512-TgKwppaMLMNAXHhlhbBh7rMoOSx3/9qqnkv8frmhVlSomEuWkDijh/BCmYntkoS7ZQyemApAUyEi24jIrrS+hA==} + engines: {node: '>= 16.0.0'} + hasBin: true + dependencies: + '@types/fs-extra': 11.0.1 + '@types/minimist': 1.2.2 + '@types/node': 18.15.11 + '@types/ps-tree': 1.1.2 + '@types/which': 2.0.2 + chalk: 5.2.0 + fs-extra: 11.1.1 + globby: 13.1.3 + minimist: 1.2.8 + node-fetch: 3.2.10 + ps-tree: 1.2.0 + webpod: 0.0.2 + which: 3.0.0 + yaml: 2.2.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..eccc335 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,2 @@ +packages: + - 'packages/**' \ No newline at end of file diff --git a/rollup.config.js b/rollup.config.js deleted file mode 100644 index 481e3fa..0000000 --- a/rollup.config.js +++ /dev/null @@ -1,57 +0,0 @@ -import commonjs from '@rollup/plugin-commonjs'; -import json from '@rollup/plugin-json'; -import resolve from '@rollup/plugin-node-resolve'; -import utils from '@rollup/pluginutils'; -import babel from 'rollup-plugin-babel'; -import multiInput from 'rollup-plugin-multi-input'; -import { terser } from 'rollup-plugin-terser'; - -import pkg from './package.json'; - -const env = { - production: !process.env.ROLLUP_WATCH, -}; -const conf = { - extensions: ['.js', '.ts'], -}; - -export default [ - { - input: ['src/tests/*/*.ts'], - external: utils.createFilter(['k6/**', ...Object.keys(pkg.devDependencies)], null, { resolve: false }), - output: [ - { - dir: 'run', - format: 'cjs', - exports: 'named', - chunkFileNames: env.production ? '_chunks/[name]-[hash].js' : '_chunks/[name].js', - }, - ], - onwarn: (warning, warn) => { - // skip k6-jslib url import warnings - if (warning.code === 'UNRESOLVED_IMPORT' && warning.source.startsWith('https://jslib.k6.io')) { - return; - } - - warn(warning); - }, - plugins: [ - multiInput({ - transformOutputPath: (output, input) => { - const [, , target, ...script] = input.split('/'); - return `${target}-${script.join('-').replace(/_/g, '-')}`; - }, - }), - json(), - resolve({ - extensions: conf.extensions, - }), - commonjs(), - babel({ - extensions: conf.extensions, - include: ['src/**/*'], - }), - env.production && terser(), - ], - }, -]; diff --git a/run/_chunks/index-07d82955.js b/run/_chunks/index-07d82955.js deleted file mode 100644 index 875febf..0000000 --- a/run/_chunks/index-07d82955.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";var e=require("k6"),t=require("k6/http"),n=require("k6/encoding"),r=require("https://jslib.k6.io/url/1.0.0/index.js"),o=require("https://jslib.k6.io/k6-utils/1.2.0/index.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=i(t),u=i(n);function c(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function s(e,t){for(var n=0;n9007199254740991)return[];var n=4294967295,r=G(e,4294967295);t=_(t),e-=4294967295;for(var o=w(r,t);++n-1};var oe=function(e,t){var n=this.__data__,r=J(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this};function ie(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e<=9007199254740991};var bt=function(e){return null!=e&>(e.length)&&!pe(e)};var yt=function(e){return q(e)&&bt(e)};var wt=function(){return!1},Nt=T((function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,o=r&&r.exports===n?S.Buffer:void 0,i=(o?o.isBuffer:void 0)||wt;e.exports=i})),_t=Function.prototype,Et=Object.prototype,Ot=_t.toString,Tt=Et.hasOwnProperty,xt=Ot.call(Object);var Dt=function(e){if(!q(e)||"[object Object]"!=L(e))return!1;var t=ut(e);if(null===t)return!0;var n=Tt.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&Ot.call(n)==xt},St={};St["[object Float32Array]"]=St["[object Float64Array]"]=St["[object Int8Array]"]=St["[object Int16Array]"]=St["[object Int32Array]"]=St["[object Uint8Array]"]=St["[object Uint8ClampedArray]"]=St["[object Uint16Array]"]=St["[object Uint32Array]"]=!0,St["[object Arguments]"]=St["[object Array]"]=St["[object ArrayBuffer]"]=St["[object Boolean]"]=St["[object DataView]"]=St["[object Date]"]=St["[object Error]"]=St["[object Function]"]=St["[object Map]"]=St["[object Number]"]=St["[object Object]"]=St["[object RegExp]"]=St["[object Set]"]=St["[object String]"]=St["[object WeakMap]"]=!1;var At=function(e){return q(e)&>(e.length)&&!!St[L(e)]};var Ct=function(e){return function(t){return e(t)}},Rt=T((function(e,t){var n=t&&!t.nodeType&&t,r=n&&e&&!e.nodeType&&e,o=r&&r.exports===n&&x.process,i=function(){try{var e=r&&r.require&&r.require("util").types;return e||o&&o.binding&&o.binding("util")}catch(e){}}();e.exports=i})),It=Rt&&Rt.isTypedArray,jt=It?Ct(It):At;var kt=function(e,t){if(("constructor"!==t||"function"!=typeof e[t])&&"__proto__"!=t)return e[t]},Ut=Object.prototype.hasOwnProperty;var Pt=function(e,t,n){var r=e[t];Ut.call(e,t)&&Q(r,n)&&(void 0!==n||t in e)||Ze(e,t,n)};var Mt=function(e,t,n,r){var o=!n;n||(n={});for(var i=-1,a=t.length;++i-1&&e%1==0&&e0){if(++t>=800)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}(Jt);var nn=function(e,t){return tn(Zt(e,t,N),e+"")};var rn=function(e,t,n){if(!E(n))return!1;var r=typeof t;return!!("number"==r?bt(n)&&qt(t,n.length):"string"==r&&t in n)&&Q(n[t],e)};var on=function(e){return nn((function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:void 0,a=o>2?n[2]:void 0;for(i=e.length>3&&"function"==typeof i?(o--,i):void 0,a&&rn(n[0],n[1],a)&&(i=o<3?void 0:i,o=1),t=Object(t);++r2&&void 0!==arguments[2]?arguments[2]:{},o=r.selector,i=a.default.request("GET","".concat(this.baseURL,"/graph/v1.0/me/drives"),void 0,an({},{credential:n}));e.check(i,{"user driveInfo":function(e){return 200===e.status}});var u=i.json(o);return u||t}}]),r}(),fn={entityMap:{lt:"<",gt:">",amp:"&",quot:'"',apos:"'",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",times:"×",divide:"÷",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",euro:"€",trade:"™",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"}},pn=/[A-Z_a-z\xC0-\xD6\xD8-\xF6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/,hn=new RegExp("[\\-\\.0-9"+pn.source.slice(1,-1)+"\\u00B7\\u0300-\\u036F\\u203F-\\u2040]"),dn=new RegExp("^"+pn.source+hn.source+"*(?::"+pn.source+hn.source+"*)?$");function vn(){}function mn(e,t){return t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber,t}function gn(e,t,n,r,o,i){for(var a,u=++t,c=0;;){var s=e.charAt(u);switch(s){case"=":if(1===c)a=e.slice(t,u),c=3;else{if(2!==c)throw new Error("attribute equal must after attrName");c=3}break;case"'":case'"':if(3===c||1===c){if(1===c&&(i.warning('attribute value must after "="'),a=e.slice(t,u)),t=u+1,!((u=e.indexOf(s,t))>0))throw new Error("attribute value no end '"+s+"' match");l=e.slice(t,u).replace(/&#?\w+;/g,o),n.add(a,l,t-1),c=5}else{if(4!=c)throw new Error('attribute value must after "="');l=e.slice(t,u).replace(/&#?\w+;/g,o),n.add(a,l,t),i.warning('attribute "'+a+'" missed start quot('+s+")!!"),t=u+1,c=5}break;case"/":switch(c){case 0:n.setTagName(e.slice(t,u));case 5:case 6:case 7:c=7,n.closed=!0;case 4:case 1:case 2:break;default:throw new Error("attribute invalid close char('/')")}break;case"":return i.error("unexpected end of input"),0==c&&n.setTagName(e.slice(t,u)),u;case">":switch(c){case 0:n.setTagName(e.slice(t,u));case 5:case 6:case 7:break;case 4:case 1:"/"===(l=e.slice(t,u)).slice(-1)&&(n.closed=!0,l=l.slice(0,-1));case 2:2===c&&(l=a),4==c?(i.warning('attribute "'+l+'" missed quot(")!!'),n.add(a,l.replace(/&#?\w+;/g,o),t)):("http://www.w3.org/1999/xhtml"===r[""]&&l.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+l+'" missed value!! "'+l+'" instead!!'),n.add(l,l,t));break;case 3:throw new Error("attribute value missed!!")}return u;case"€":s=" ";default:if(s<=" ")switch(c){case 0:n.setTagName(e.slice(t,u)),c=6;break;case 1:a=e.slice(t,u),c=2;break;case 4:var l=e.slice(t,u).replace(/&#?\w+;/g,o);i.warning('attribute "'+l+'" missed quot(")!!'),n.add(a,l,t);case 5:c=6}else switch(c){case 2:n.tagName,"http://www.w3.org/1999/xhtml"===r[""]&&a.match(/^(?:disabled|checked|selected)$/i)||i.warning('attribute "'+a+'" missed value!! "'+a+'" instead2!!'),n.add(a,a,t),t=u,c=1;break;case 5:i.warning('attribute space is required"'+a+'"!!');case 6:c=1,t=u;break;case 3:c=4,t=u;break;case 7:throw new Error("elements closed character '/' and '>' must be connected to")}}u++}}function bn(e,t,n){for(var r=e.tagName,o=null,i=e.length;i--;){var a=e[i],u=a.qName,c=a.value;if((p=u.indexOf(":"))>0)var s=a.prefix=u.slice(0,p),l=u.slice(p+1),f="xmlns"===s&&l;else l=u,s=null,f="xmlns"===u&&"";a.localName=l,!1!==f&&(null==o&&(o={},Nn(n,n={})),n[f]=o[f]=c,a.uri="http://www.w3.org/2000/xmlns/",t.startPrefixMapping(f,c))}for(i=e.length;i--;){(s=(a=e[i]).prefix)&&("xml"===s&&(a.uri="http://www.w3.org/XML/1998/namespace"),"xmlns"!==s&&(a.uri=n[s||""]))}var p;(p=r.indexOf(":"))>0?(s=e.prefix=r.slice(0,p),l=e.localName=r.slice(p+1)):(s=null,l=e.localName=r);var h=e.uri=n[s||""];if(t.startElement(h,l,r,e),!e.closed)return e.currentNSMap=n,e.localNSMap=o,!0;if(t.endElement(h,l,r),o)for(s in o)t.endPrefixMapping(s)}function yn(e,t,n,r,o){if(/^(?:script|textarea)$/i.test(n)){var i=e.indexOf("",t),a=e.substring(t+1,i);if(/[&<]/.test(a))return/^script$/i.test(n)?(o.characters(a,0,a.length),i):(a=a.replace(/&#?\w+;/g,r),o.characters(a,0,a.length),i)}return t+1}function wn(e,t,n,r){var o=r[n];return null==o&&((o=e.lastIndexOf(""))t?(n.comment(e,t+4,o-t-4),o+3):(r.error("Unclosed comment"),-1):-1;default:if("CDATA["==e.substr(t+3,6)){var o=e.indexOf("]]>",t+9);return n.startCDATA(),n.characters(e,t+9,o-t-9),n.endCDATA(),o+3}var i=function(e,t){var n,r=[],o=/'[^']+'|"[^"]+"|[^\s<>\/=]+=?|(\/?\s*>|<)/g;o.lastIndex=t,o.exec(e);for(;n=o.exec(e);)if(r.push(n),n[1])return r}(e,t),a=i.length;if(a>1&&/!doctype/i.test(i[0][0])){var u=i[1][0],c=!1,s=!1;a>3&&(/^public$/i.test(i[2][0])?(c=i[3][0],s=a>4&&i[4][0]):/^system$/i.test(i[2][0])&&(s=i[3][0]));var l=i[a-1];return n.startDTD(u,c&&c.replace(/^(['"])(.*?)\1$/,"$2"),s&&s.replace(/^(['"])(.*?)\1$/,"$2")),n.endDTD(),l.index+l[0].length}}return-1}function En(e,t,n){var r=e.indexOf("?>",t);if(r){var o=e.substring(t,r).match(/^<\?(\S*)\s*([\s\S]*?)\s*$/);return o?(o[0].length,n.processingInstruction(o[1],o[2]),r+2):-1}return-1}function On(e){}vn.prototype={parse:function(e,t,n){var r=this.domBuilder;r.startDocument(),Nn(t,t={}),function(e,t,n,r,o){function i(e){var t=e.slice(1,-1);return t in n?n[t]:"#"===t.charAt(0)?function(e){if(e>65535){var t=55296+((e-=65536)>>10),n=56320+(1023&e);return String.fromCharCode(t,n)}return String.fromCharCode(e)}(parseInt(t.substr(1).replace("x","0x"))):(o.error("entity not found:"+e),e)}function a(t){if(t>d){var n=e.substring(d,t).replace(/&#?\w+;/g,i);f&&u(d),r.characters(n,0,t-d),d=t}}function u(t,n){for(;t>=s&&(n=l.exec(e));)c=n.index,s=c+n[0].length,f.lineNumber++;f.columnNumber=t-c+1}var c=0,s=0,l=/.*(?:\r\n?|\n)|.*$/g,f=r.locator,p=[{currentNSMap:t}],h={},d=0;for(;;){try{var v=e.indexOf("<",d);if(v<0){if(!e.substr(d).match(/^\s*$/)){var m=r.doc,g=m.createTextNode(e.substr(d));m.appendChild(g),r.currentElement=g}return}switch(v>d&&a(v),e.charAt(v+1)){case"/":var b=e.indexOf(">",v+3),y=e.substring(v+2,b),w=p.pop();b<0?(y=e.substring(v+2).replace(/[\s<].*/,""),o.error("end tag name: "+y+" is not complete:"+w.tagName),b=v+1+y.length):y.match(/\sd?d=b:a(Math.max(v,d)+1)}}(e,t,n,r,this.errorHandler),r.endDocument()}},On.prototype={setTagName:function(e){if(!dn.test(e))throw new Error("invalid tagName:"+e);this.tagName=e},add:function(e,t,n){if(!dn.test(e))throw new Error("invalid attribute:"+e);this[this.length++]={qName:e,value:t,offset:n}},length:0,getLocalName:function(e){return this[e].localName},getLocator:function(e){return this[e].locator},getQName:function(e){return this[e].qName},getURI:function(e){return this[e].uri},getValue:function(e){return this[e].value}};var Tn={XMLReader:vn};function xn(e,t){for(var n in e)t[n]=e[n]}function Dn(e,t){var n=e.prototype;if(!(n instanceof t)){function r(){}r.prototype=t.prototype,xn(n,r=new r),e.prototype=n=r}n.constructor!=e&&("function"!=typeof e&&console.error("unknow Class:"+e),n.constructor=e)}var Sn={},An=Sn.ELEMENT_NODE=1,Cn=Sn.ATTRIBUTE_NODE=2,Rn=Sn.TEXT_NODE=3,In=Sn.CDATA_SECTION_NODE=4,jn=Sn.ENTITY_REFERENCE_NODE=5,kn=Sn.ENTITY_NODE=6,Un=Sn.PROCESSING_INSTRUCTION_NODE=7,Pn=Sn.COMMENT_NODE=8,Mn=Sn.DOCUMENT_NODE=9,Ln=Sn.DOCUMENT_TYPE_NODE=10,qn=Sn.DOCUMENT_FRAGMENT_NODE=11,Fn=Sn.NOTATION_NODE=12,zn={},$n={};zn.INDEX_SIZE_ERR=($n[1]="Index size error",1),zn.DOMSTRING_SIZE_ERR=($n[2]="DOMString size error",2);var Bn=zn.HIERARCHY_REQUEST_ERR=($n[3]="Hierarchy request error",3);zn.WRONG_DOCUMENT_ERR=($n[4]="Wrong document",4),zn.INVALID_CHARACTER_ERR=($n[5]="Invalid character",5),zn.NO_DATA_ALLOWED_ERR=($n[6]="No data allowed",6),zn.NO_MODIFICATION_ALLOWED_ERR=($n[7]="No modification allowed",7);var Vn=zn.NOT_FOUND_ERR=($n[8]="Not found",8);zn.NOT_SUPPORTED_ERR=($n[9]="Not supported",9);var Wn=zn.INUSE_ATTRIBUTE_ERR=($n[10]="Attribute in use",10);function Xn(e,t){if(t instanceof Error)var n=t;else n=this,Error.call(this,$n[e]),this.message=$n[e],Error.captureStackTrace&&Error.captureStackTrace(this,Xn);return n.code=e,t&&(this.message=this.message+": "+t),n}function Hn(){}function Yn(e,t){this._node=e,this._refresh=t,Gn(this)}function Gn(e){var t=e._node._inc||e._node.ownerDocument._inc;if(e._inc!=t){var n=e._refresh(e._node);Tr(e,"length",n.length),xn(n,e),e._inc=t}}function Kn(){}function Zn(e,t){for(var n=e.length;n--;)if(e[n]===t)return n}function Qn(e,t,n,r){if(r?t[Zn(t,r)]=n:t[t.length++]=n,e){n.ownerElement=e;var o=e.ownerDocument;o&&(r&&ir(o,e,r),function(e,t,n){e&&e._inc++,"http://www.w3.org/2000/xmlns/"==n.namespaceURI&&(t._nsMap[n.prefix?n.localName:""]=n.value)}(o,e,n))}}function Jn(e,t,n){var r=Zn(t,n);if(!(r>=0))throw Xn(Vn,new Error(e.tagName+"@"+n));for(var o=t.length-1;r"==e&&">")||"&"==e&&"&"||'"'==e&&"""||"&#"+e.charCodeAt()+";"}function rr(e,t){if(t(e))return!0;if(e=e.firstChild)do{if(rr(e,t))return!0}while(e=e.nextSibling)}function or(){}function ir(e,t,n,r){e&&e._inc++,"http://www.w3.org/2000/xmlns/"==n.namespaceURI&&delete t._nsMap[n.prefix?n.localName:""]}function ar(e,t,n){if(e&&e._inc){e._inc++;var r=t.childNodes;if(n)r[r.length++]=n;else{for(var o=t.firstChild,i=0;o;)r[i++]=o,o=o.nextSibling;r.length=i}}}function ur(e,t){var n=t.previousSibling,r=t.nextSibling;return n?n.nextSibling=r:e.firstChild=r,r?r.previousSibling=n:e.lastChild=n,ar(e.ownerDocument,e),t}function cr(e,t,n){var r=t.parentNode;if(r&&r.removeChild(t),t.nodeType===qn){var o=t.firstChild;if(null==o)return t;var i=t.lastChild}else o=i=t;var a=n?n.previousSibling:e.lastChild;o.previousSibling=a,i.nextSibling=n,a?a.nextSibling=o:e.firstChild=o,null==n?e.lastChild=i:n.previousSibling=i;do{o.parentNode=e}while(o!==i&&(o=o.nextSibling));return ar(e.ownerDocument||e,e),t.nodeType==qn&&(t.firstChild=t.lastChild=null),t}function sr(){this._nsMap={}}function lr(){}function fr(){}function pr(){}function hr(){}function dr(){}function vr(){}function mr(){}function gr(){}function br(){}function yr(){}function wr(){}function Nr(){}function _r(e,t){var n=[],r=9==this.nodeType&&this.documentElement||this,o=r.prefix,i=r.namespaceURI;if(i&&null==o&&null==(o=r.lookupPrefix(i)))var a=[{namespace:i,prefix:null}];return Or(this,n,e,t,a),n.join("")}function Er(e,t,n){var r=e.prefix||"",o=e.namespaceURI;if(!r&&!o)return!1;if("xml"===r&&"http://www.w3.org/XML/1998/namespace"===o||"http://www.w3.org/2000/xmlns/"==o)return!1;for(var i=n.length;i--;){var a=n[i];if(a.prefix==r)return a.namespace!=o}return!0}function Or(e,t,n,r,o){if(r){if(!(e=r(e)))return;if("string"==typeof e)return void t.push(e)}switch(e.nodeType){case An:o||(o=[]),o.length;var i=e.attributes,a=i.length,u=e.firstChild,c=e.tagName;n="http://www.w3.org/1999/xhtml"===e.namespaceURI||n,t.push("<",c);for(var s=0;s"),n&&/^script$/i.test(c))for(;u;)u.data?t.push(u.data):Or(u,t,n,r,o),u=u.nextSibling;else for(;u;)Or(u,t,n,r,o),u=u.nextSibling;t.push("")}else t.push("/>");return;case Mn:case qn:for(u=e.firstChild;u;)Or(u,t,n,r,o),u=u.nextSibling;return;case Cn:return t.push(" ",e.name,'="',e.value.replace(/[<&"]/g,nr),'"');case Rn:return t.push(e.data.replace(/[<&]/g,nr));case In:return t.push("");case Pn:return t.push("\x3c!--",e.data,"--\x3e");case Ln:var d=e.publicId,v=e.systemId;if(t.push("');else if(v&&"."!=v)t.push(' SYSTEM "',v,'">');else{var m=e.internalSubset;m&&t.push(" [",m,"]"),t.push(">")}return;case Un:return t.push("");case jn:return t.push("&",e.nodeName,";");default:t.push("??",e.nodeName)}}function Tr(e,t,n){e[t]=n}zn.INVALID_STATE_ERR=($n[11]="Invalid state",11),zn.SYNTAX_ERR=($n[12]="Syntax error",12),zn.INVALID_MODIFICATION_ERR=($n[13]="Invalid modification",13),zn.NAMESPACE_ERR=($n[14]="Invalid namespace",14),zn.INVALID_ACCESS_ERR=($n[15]="Invalid access",15),Xn.prototype=Error.prototype,xn(zn,Xn),Hn.prototype={length:0,item:function(e){return this[e]||null},toString:function(e,t){for(var n=[],r=0;r0},lookupPrefix:function(e){for(var t=this;t;){var n=t._nsMap;if(n)for(var r in n)if(n[r]==e)return r;t=t.nodeType==Cn?t.ownerDocument:t.parentNode}return null},lookupNamespaceURI:function(e){for(var t=this;t;){var n=t._nsMap;if(n&&e in n)return n[e];t=t.nodeType==Cn?t.ownerDocument:t.parentNode}return null},isDefaultNamespace:function(e){return null==this.lookupPrefix(e)}},xn(Sn,tr),xn(Sn,tr.prototype),or.prototype={nodeName:"#document",nodeType:Mn,doctype:null,documentElement:null,_inc:1,insertBefore:function(e,t){if(e.nodeType==qn){for(var n=e.firstChild;n;){var r=n.nextSibling;this.insertBefore(n,t),n=r}return e}return null==this.documentElement&&e.nodeType==An&&(this.documentElement=e),cr(this,e,t),e.ownerDocument=this,e},removeChild:function(e){return this.documentElement==e&&(this.documentElement=null),ur(this,e)},importNode:function(e,t){return function e(t,n,r){var o;switch(n.nodeType){case An:(o=n.cloneNode(!1)).ownerDocument=t;case qn:break;case Cn:r=!0}o||(o=n.cloneNode(!1));if(o.ownerDocument=t,o.parentNode=null,r)for(var i=n.firstChild;i;)o.appendChild(e(t,i,r)),i=i.nextSibling;return o}(this,e,t)},getElementById:function(e){var t=null;return rr(this.documentElement,(function(n){if(n.nodeType==An&&n.getAttribute("id")==e)return t=n,!0})),t},getElementsByClassName:function(e){var t=new RegExp("(^|\\s)"+e+"(\\s|$)");return new Yn(this,(function(e){var n=[];return rr(e.documentElement,(function(r){r!==e&&r.nodeType==An&&t.test(r.getAttribute("class"))&&n.push(r)})),n}))},createElement:function(e){var t=new sr;return t.ownerDocument=this,t.nodeName=e,t.tagName=e,t.childNodes=new Hn,(t.attributes=new Kn)._ownerElement=t,t},createDocumentFragment:function(){var e=new yr;return e.ownerDocument=this,e.childNodes=new Hn,e},createTextNode:function(e){var t=new pr;return t.ownerDocument=this,t.appendData(e),t},createComment:function(e){var t=new hr;return t.ownerDocument=this,t.appendData(e),t},createCDATASection:function(e){var t=new dr;return t.ownerDocument=this,t.appendData(e),t},createProcessingInstruction:function(e,t){var n=new wr;return n.ownerDocument=this,n.tagName=n.target=e,n.nodeValue=n.data=t,n},createAttribute:function(e){var t=new lr;return t.ownerDocument=this,t.name=e,t.nodeName=e,t.localName=e,t.specified=!0,t},createEntityReference:function(e){var t=new br;return t.ownerDocument=this,t.nodeName=e,t},createElementNS:function(e,t){var n=new sr,r=t.split(":"),o=n.attributes=new Kn;return n.childNodes=new Hn,n.ownerDocument=this,n.nodeName=t,n.tagName=t,n.namespaceURI=e,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,o._ownerElement=n,n},createAttributeNS:function(e,t){var n=new lr,r=t.split(":");return n.ownerDocument=this,n.nodeName=t,n.name=t,n.namespaceURI=e,n.specified=!0,2==r.length?(n.prefix=r[0],n.localName=r[1]):n.localName=t,n}},Dn(or,tr),sr.prototype={nodeType:An,hasAttribute:function(e){return null!=this.getAttributeNode(e)},getAttribute:function(e){var t=this.getAttributeNode(e);return t&&t.value||""},getAttributeNode:function(e){return this.attributes.getNamedItem(e)},setAttribute:function(e,t){var n=this.ownerDocument.createAttribute(e);n.value=n.nodeValue=""+t,this.setAttributeNode(n)},removeAttribute:function(e){var t=this.getAttributeNode(e);t&&this.removeAttributeNode(t)},appendChild:function(e){return e.nodeType===qn?this.insertBefore(e,null):function(e,t){var n=t.parentNode;if(n){var r=e.lastChild;n.removeChild(t);r=e.lastChild}return r=e.lastChild,t.parentNode=e,t.previousSibling=r,t.nextSibling=null,r?r.nextSibling=t:e.firstChild=t,e.lastChild=t,ar(e.ownerDocument,e,t),t}(this,e)},setAttributeNode:function(e){return this.attributes.setNamedItem(e)},setAttributeNodeNS:function(e){return this.attributes.setNamedItemNS(e)},removeAttributeNode:function(e){return this.attributes.removeNamedItem(e.nodeName)},removeAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);n&&this.removeAttributeNode(n)},hasAttributeNS:function(e,t){return null!=this.getAttributeNodeNS(e,t)},getAttributeNS:function(e,t){var n=this.getAttributeNodeNS(e,t);return n&&n.value||""},setAttributeNS:function(e,t,n){var r=this.ownerDocument.createAttributeNS(e,t);r.value=r.nodeValue=""+n,this.setAttributeNode(r)},getAttributeNodeNS:function(e,t){return this.attributes.getNamedItemNS(e,t)},getElementsByTagName:function(e){return new Yn(this,(function(t){var n=[];return rr(t,(function(r){r===t||r.nodeType!=An||"*"!==e&&r.tagName!=e||n.push(r)})),n}))},getElementsByTagNameNS:function(e,t){return new Yn(this,(function(n){var r=[];return rr(n,(function(o){o===n||o.nodeType!==An||"*"!==e&&o.namespaceURI!==e||"*"!==t&&o.localName!=t||r.push(o)})),r}))}},or.prototype.getElementsByTagName=sr.prototype.getElementsByTagName,or.prototype.getElementsByTagNameNS=sr.prototype.getElementsByTagNameNS,Dn(sr,tr),lr.prototype.nodeType=Cn,Dn(lr,tr),fr.prototype={data:"",substringData:function(e,t){return this.data.substring(e,e+t)},appendData:function(e){e=this.data+e,this.nodeValue=this.data=e,this.length=e.length},insertData:function(e,t){this.replaceData(e,0,t)},appendChild:function(e){throw new Error($n[Bn])},deleteData:function(e,t){this.replaceData(e,t,"")},replaceData:function(e,t,n){n=this.data.substring(0,e)+n+this.data.substring(e+t),this.nodeValue=this.data=n,this.length=n.length}},Dn(fr,tr),pr.prototype={nodeName:"#text",nodeType:Rn,splitText:function(e){var t=this.data,n=t.substring(e);t=t.substring(0,e),this.data=this.nodeValue=t,this.length=t.length;var r=this.ownerDocument.createTextNode(n);return this.parentNode&&this.parentNode.insertBefore(r,this.nextSibling),r}},Dn(pr,fr),hr.prototype={nodeName:"#comment",nodeType:Pn},Dn(hr,fr),dr.prototype={nodeName:"#cdata-section",nodeType:In},Dn(dr,fr),vr.prototype.nodeType=Ln,Dn(vr,tr),mr.prototype.nodeType=Fn,Dn(mr,tr),gr.prototype.nodeType=kn,Dn(gr,tr),br.prototype.nodeType=jn,Dn(br,tr),yr.prototype.nodeName="#document-fragment",yr.prototype.nodeType=qn,Dn(yr,tr),wr.prototype.nodeType=Un,Dn(wr,tr),Nr.prototype.serializeToString=function(e,t,n){return _r.call(e,t,n)},tr.prototype.toString=_r;try{if(Object.defineProperty){Object.defineProperty(Yn.prototype,"length",{get:function(){return Gn(this),this.$$length}}),Object.defineProperty(tr.prototype,"textContent",{get:function(){return function e(t){switch(t.nodeType){case An:case qn:var n=[];for(t=t.firstChild;t;)7!==t.nodeType&&8!==t.nodeType&&n.push(e(t)),t=t.nextSibling;return n.join("");default:return t.nodeValue}}(this)},set:function(e){switch(this.nodeType){case An:case qn:for(;this.firstChild;)this.removeChild(this.firstChild);(e||String(e))&&this.appendChild(this.ownerDocument.createTextNode(e));break;default:this.data=e,this.value=e,this.nodeValue=e}}}),Tr=function(e,t,n){e["$$"+t]=n}}}catch(e){}var xr={Node:tr,DOMImplementation:er,XMLSerializer:Nr},Dr=T((function(e,t){function n(e){this.options=e||{locator:{}}}function r(){this.cdata=!1}function o(e,t){t.lineNumber=e.lineNumber,t.columnNumber=e.columnNumber}function i(e){if(e)return"\n@"+(e.systemId||"")+"#[line:"+e.lineNumber+",col:"+e.columnNumber+"]"}function a(e,t,n){return"string"==typeof e?e.substr(t,n):e.length>=t+n||t?new java.lang.String(e,t,n)+"":e}function u(e,t){e.currentElement?e.currentElement.appendChild(t):e.doc.appendChild(t)}n.prototype.parseFromString=function(e,t){var n=this.options,o=new c,a=n.domBuilder||new r,u=n.errorHandler,s=n.locator,l=n.xmlns||{},f=/\/x?html?$/.test(t),p=f?fn.entityMap:{lt:"<",gt:">",amp:"&",quot:'"',apos:"'"};return s&&a.setDocumentLocator(s),o.errorHandler=function(e,t,n){if(!e){if(t instanceof r)return t;e=t}var o={},a=e instanceof Function;function u(t){var r=e[t];!r&&a&&(r=2==e.length?function(n){e(t,n)}:e),o[t]=r&&function(e){r("[xmldom "+t+"]\t"+e+i(n))}||function(){}}return n=n||{},u("warning"),u("error"),u("fatalError"),o}(u,a,s),o.domBuilder=n.domBuilder||a,f&&(l[""]="http://www.w3.org/1999/xhtml"),l.xml=l.xml||"http://www.w3.org/XML/1998/namespace",e&&"string"==typeof e?o.parse(e,l,p):o.errorHandler.error("invalid doc source"),a.doc},r.prototype={startDocument:function(){this.doc=(new s).createDocument(null,null,null),this.locator&&(this.doc.documentURI=this.locator.systemId)},startElement:function(e,t,n,r){var i=this.doc,a=i.createElementNS(e,n||t),c=r.length;u(this,a),this.currentElement=a,this.locator&&o(this.locator,a);for(var s=0;s3&&void 0!==arguments[3]?arguments[3]:{},i=o.permissions,u=void 0===i?"31":i,c=o.type,s=void 0===c?"0":c,l=a.default.request("POST","".concat(this.baseURL,"/ocs/v1.php/apps/files_sharing/api/v1/shares"),{shareType:s,shareWith:r,path:t,permissions:u},an({headers:{"OCS-APIRequest":"true"}},{credential:n}));e.check(l,{"share create":function(e){return 200===e.status}})||e.fail("Share create failed with status ".concat(l.status));var f=Rr(l.body).getElementsByTagName("id")[0];return f||e.fail("XML does not contain the id"),{id:f.childNodes[0].textContent||"",response:l}}},{key:"accept",value:function(t,n){var r=a.default.request("POST","".concat(this.baseURL,"/ocs/v1.php/apps/files_sharing/api/v1/shares/pending/").concat(t),void 0,an({headers:{"OCS-APIRequest":"true"}},{credential:n}));return e.check(r,{"share accept":function(e){return 200===e.status}}),{response:r}}}]),t}(),jr={openIDConnect:"openIDConnect",basicAuth:"basicAuth"},kr=new WeakMap,Ur=function(){function e(t){c(this,e),kr.set(this,{writable:!0,value:void 0}),y(this,kr,t)}return l(e,[{key:"credential",get:function(){return b(this,kr)}}]),e}(),Pr=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Mr=/^\w*$/;var Lr=function(e,t){if(mt(e))return!1;var n=typeof e;return!("number"!=n&&"symbol"!=n&&"boolean"!=n&&null!=e&&!F(e))||(Mr.test(e)||!Pr.test(e)||null!=t&&e in Object(t))};function qr(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a)||i,a};return n.cache=new(qr.Cache||Xe),n}qr.Cache=Xe;var Fr=qr;var zr=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,$r=/\\(\\)?/g,Br=function(e){var t=Fr(e,(function(e){return 500===n.size&&n.clear(),e})),n=t.cache;return t}((function(e){var t=[];return 46===e.charCodeAt(0)&&t.push(""),e.replace(zr,(function(e,n,r,o){t.push(r?o.replace($r,"$1"):n||e)})),t}));var Vr=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n0&&void 0!==arguments[0]?arguments[0]:10,t=arguments.length>1?arguments[1]:void 0;return o.randomString(e,t)},eo=new WeakMap,to=new WeakMap,no=new WeakMap,ro=new WeakMap,oo=new WeakMap,io=new WeakMap,ao=function(){function t(e,n){c(this,t),eo.set(this,{writable:!0,value:void 0}),to.set(this,{writable:!0,value:void 0}),no.set(this,{writable:!0,value:void 0}),ro.set(this,{writable:!0,value:void 0}),oo.set(this,{writable:!0,value:void 0}),io.set(this,{writable:!0,value:void 0}),y(this,eo,e),y(this,to,n),y(this,no,"".concat(n,"/oidc-callback.html")),y(this,ro,"".concat(n,"/signin/v1/identifier/_/logon")),y(this,oo,"".concat(n,"/konnect/v1/token"))}return l(t,[{key:"getContinueURI",value:function(){var t=a.default.post(b(this,ro),JSON.stringify({params:[b(this,eo).login,b(this,eo).password,"1"],hello:{scope:"openid profile email",client_id:"web",redirect_uri:b(this,no),flow:"oidc"},state:Jr(16)}),{headers:{"Kopano-Konnect-XSRF":"1",Referer:b(this,to),"Content-Type":"application/json"}}),n=Qr(t.json(),"hello.continue_uri");return 200===t.status&&n||e.fail(b(this,ro)),n}},{key:"getCode",value:function(t){var n,r="".concat(t,"?").concat((n={client_id:"web",prompt:"none",redirect_uri:b(this,no),response_mode:"query",response_type:"code",scope:"openid profile email"},Object.keys(n).map((function(e){return encodeURIComponent(e)+"="+encodeURIComponent(n[e])})).join("&"))),o=a.default.get(r,{redirects:0}),i=Qr(function(e){try{e=new URL(e).search}catch(e){}return new Cr(e).object()}(o.headers.Location),"code");return 302===o.status&&i||e.fail(t),i}},{key:"getToken",value:function(t){var n=a.default.post(b(this,oo),{client_id:"web",code:t,redirect_uri:b(this,no),grant_type:"authorization_code"}),r={accessToken:Qr(n.json(),"access_token"),tokenType:Qr(n.json(),"token_type"),idToken:Qr(n.json(),"id_token"),expiresIn:Qr(n.json(),"expires_in")};return 200===n.status&&r.accessToken&&r.tokenType&&r.idToken&&r.expiresIn||e.fail(b(this,oo)),r}},{key:"credential",get:function(){if(!b(this,io)||b(this,io).validTo<=new Date){var e=this.getContinueURI(),t=this.getCode(e),n=this.getToken(t);y(this,io,{validTo:(r=new Date,r.setSeconds(r.getSeconds()+n.expiresIn-5),r),token:n})}var r;return b(this,io).token}}]),t}(),uo=new WeakMap,co=function(){function e(t,n,r){switch(c(this,e),uo.set(this,{writable:!0,value:void 0}),n){case jr.openIDConnect:y(this,uo,new ao(t,r));break;case jr.basicAuth:y(this,uo,new Ur(t))}}return l(e,[{key:"credential",get:function(){return b(this,uo).credential}}]),e}(),so=function(){function t(e){c(this,t),f(this,"baseURL",void 0),this.baseURL=e}return l(t,[{key:"get",value:function(e,t){var n=new co({login:e.login,password:e.password},t,this.baseURL).credential;return{user:{login:e.login,password:e.password,credential:n}}}},{key:"enable",value:function(t,n){var r=a.default.request("PUT","".concat(this.baseURL,"/ocs/v1.php/cloud/users/").concat(t.login,"/enable"),void 0,an({headers:{"OCS-APIRequest":"true"}},{credential:n}));return e.check(r,{"user enable":function(e){return 200===e.status}}),{response:r}}},{key:"create",value:function(t,n,r){var o=a.default.request("POST","".concat(this.baseURL,"/ocs/v1.php/cloud/users"),{userid:t.login,password:t.password,email:"".concat(t.login,"@owncloud.org")},an({headers:{"OCS-APIRequest":"true"}},{credential:n}));return e.check(o,{"user create":function(e){return 200===e.status}}),{enableResponse:this.enable(t,n).response,user:this.get(t,r).user,createResponse:o}}},{key:"delete",value:function(t,n){var r=a.default.request("DELETE","".concat(this.baseURL,"/ocs/v1.php/cloud/users/").concat(t),void 0,an({headers:{"OCS-APIRequest":"true"}},{credential:n}));return e.check(r,{"user delete":function(e){return 200===e.status}}),{response:r}}}]),t}(),lo=function(t){h(r,so);var n=g(r);function r(){return c(this,r),n.apply(this,arguments)}return l(r,[{key:"create",value:function(t,n,r){var o=a.default.request("POST","".concat(this.baseURL,"/graph/v1.0/users"),JSON.stringify({onPremisesSamAccountName:t.login,displayName:t.login,mail:"".concat(t.login,"@owncloud.org"),passwordProfile:{password:t.password}}),an({},{credential:n}));return e.check(o,{"user create":function(e){return 200===e.status}}),{user:this.get(t,r).user,createResponse:o}}},{key:"delete",value:function(t,n){var r=a.default.request("DELETE","".concat(this.baseURL,"/graph/v1.0/users/").concat(t),void 0,an({},{credential:n}));return e.check(r,{"user delete":function(e){return 204===e.status}}),{response:r}}}]),r}(),fo={latest:"latest",legacy:"legacy"};exports.API=function e(t,n){switch(c(this,e),f(this,"dav",void 0),f(this,"share",void 0),f(this,"user",void 0),f(this,"me",void 0),this.share=new Ir(t),n){case fo.latest:this.dav=new cn(t),this.user=new lo(t),this.me=new ln(t);break;case fo.legacy:this.dav=new un(t),this.user=new so(t),this.me=new sn(t)}},exports.Adapter=jr,exports.Version=fo,exports._objectSpread2=function(e){for(var t=1;t; -} diff --git a/src/lib/api/dav.ts b/src/lib/api/dav.ts deleted file mode 100644 index 8ebb791..0000000 --- a/src/lib/api/dav.ts +++ /dev/null @@ -1,157 +0,0 @@ -import { check } from 'k6'; -import http from 'k6/http'; - -import { Credential } from '../auth'; -import { Result } from './api'; -import { buildParams } from './utils'; - -export interface DavAPI { - create(id: string, path: string, credential: Credential): Result; - delete(id: string, path: string, credential: Credential): Result; - move(id: string, source: string, target: string, credential: Credential): Result; - upload(id: string, destination: string, data: ArrayBuffer, credential: Credential): Result; -} - -export class DavLegacyAPI implements DavAPI { - protected baseURL: string; - constructor(baseURL: string) { - this.baseURL = baseURL; - } - - create(id: string, path: string, credential: Credential): Result { - const createResponse = http.request( - 'MKCOL', - `${this.baseURL}/remote.php/dav/files/${id}/${path}`, - undefined, - buildParams({}, { credential }), - ); - - check(createResponse, { - 'dav create': ({ status }) => status === 201, - }); - - return { response: createResponse }; - } - - delete(id: string, path: string, credential: Credential): Result { - const deleteResponse = http.request( - 'DELETE', - `${this.baseURL}/remote.php/dav/files/${id}/${path}`, - undefined, - buildParams({}, { credential }), - ); - - check(deleteResponse, { - 'dav delete': ({ status }) => status === 204, - }); - - return { response: deleteResponse }; - } - - move(id: string, source: string, target: string, credential: Credential): Result { - const moveResponse = http.request( - 'MOVE', - `${this.baseURL}/remote.php/dav/files/${id}/${source}`, - undefined, - buildParams( - { - headers: { - destination: `/remote.php/dav/files/${id}/${target}`, - }, - }, - { credential }, - ), - ); - - check(moveResponse, { - 'dav move': ({ status }) => status === 201, - }); - - return { response: moveResponse }; - } - - upload(id: string, path: string, data: ArrayBuffer, credential: Credential): Result { - const uploadResponse = http.request( - 'PUT', - `${this.baseURL}/remote.php/dav/files/${id}/${path}`, - data, - buildParams({}, { credential }), - ); - - check(uploadResponse, { - 'dav upload': ({ status }) => status === 201, - }); - - return { response: uploadResponse }; - } -} - -export class DavLatestAPI extends DavLegacyAPI implements DavAPI { - create(id: string, path: string, credential: Credential): Result { - const createResponse = http.request( - 'MKCOL', - `${this.baseURL}/remote.php/dav/spaces/${id}/${path}`, - undefined, - buildParams({}, { credential }), - ); - - check(createResponse, { - 'dav create': ({ status }) => status === 201, - }); - - return { response: createResponse }; - } - - delete(id: string, path: string, credential: Credential): Result { - const deleteResponse = http.request( - 'DELETE', - `${this.baseURL}/remote.php/dav/spaces/${id}/${path}`, - undefined, - buildParams({}, { credential }), - ); - - check(deleteResponse, { - 'dav delete': ({ status }) => status === 204, - }); - - return { response: deleteResponse }; - } - - upload(id: string, path: string, data: ArrayBuffer, credential: Credential): Result { - const uploadResponse = http.request( - 'PUT', - `${this.baseURL}/remote.php/dav/spaces/${id}/${path}`, - data, - buildParams({}, { credential }), - ); - - check(uploadResponse, { - 'dav upload': ({ status }) => status === 201, - }); - - return { response: uploadResponse }; - } - - move(id: string, source: string, target: string, credential: Credential): Result { - const moveResponse = http.request( - 'MOVE', - `${this.baseURL}/remote.php/dav/spaces/${id}/${source}`, - undefined, - - buildParams( - { - headers: { - destination: `/remote.php/dav/spaces/${id}/${target}`, - }, - }, - { credential }, - ), - ); - - check(moveResponse, { - 'dav move': ({ status }) => status === 201, - }); - - return { response: moveResponse }; - } -} diff --git a/src/lib/api/index.ts b/src/lib/api/index.ts deleted file mode 100644 index 90ff3ad..0000000 --- a/src/lib/api/index.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { DavAPI, DavLatestAPI, DavLegacyAPI } from './dav'; -import { MeAPI, MeLatestAPI, MeLegacyAPI } from './me'; -import { ShareAPI } from './share'; -import { UserAPI, UserLatestAPI, UserLegacyAPI } from './user'; - -export { User } from './user'; - -export const Version = { - latest: 'latest', - legacy: 'legacy', -} as const; - -export type Version = typeof Version[keyof typeof Version]; - -export class API { - dav: DavAPI; - share: ShareAPI; - user: UserAPI; - - me: MeAPI; - - constructor(baseURL: string, version: Version) { - this.share = new ShareAPI(baseURL); - - switch (version) { - case Version.latest: - this.dav = new DavLatestAPI(baseURL); - this.user = new UserLatestAPI(baseURL); - this.me = new MeLatestAPI(baseURL); - break; - case Version.legacy: - this.dav = new DavLegacyAPI(baseURL); - this.user = new UserLegacyAPI(baseURL); - this.me = new MeLegacyAPI(baseURL); - break; - } - } -} diff --git a/src/lib/api/me.ts b/src/lib/api/me.ts deleted file mode 100644 index 3f19109..0000000 --- a/src/lib/api/me.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { check, JSONValue } from 'k6'; -import http from 'k6/http'; - -import { Credential } from '../auth'; -import { buildParams } from './utils'; - -export interface MeAPI { - driveInfo(fallback: JSONValue, credential: Credential, { selector }?: { selector: string }): JSONValue; -} - -export class MeLegacyAPI implements MeAPI { - protected baseURL: string; - - constructor(baseURL: string) { - this.baseURL = baseURL; - } - - driveInfo(fallback: JSONValue, _credential: Credential): JSONValue { - return fallback; - } -} - -export class MeLatestAPI extends MeLegacyAPI implements MeAPI { - driveInfo(fallback: JSONValue, credential: Credential, { selector }: { selector?: string } = {}): JSONValue { - const infoResponse = http.request( - 'GET', - `${this.baseURL}/graph/v1.0/me/drives`, - undefined, - buildParams({}, { credential }), - ); - - check(infoResponse, { - 'user driveInfo': ({ status }) => status === 200, - }); - - const value = infoResponse.json(selector); - - if (!!value) { - return value; - } - - return fallback; - } -} diff --git a/src/lib/api/share.ts b/src/lib/api/share.ts deleted file mode 100644 index 3e91b58..0000000 --- a/src/lib/api/share.ts +++ /dev/null @@ -1,69 +0,0 @@ -import { check, fail } from 'k6'; -import http from 'k6/http'; - -import { Credential } from '../auth'; -import { parseXML } from '../utils'; -import { Result } from './api'; -import { buildParams } from './utils'; - -export class ShareAPI { - protected baseURL: string; - - constructor(baseURL: string) { - this.baseURL = baseURL; - } - - create( - path: string, - credential: Credential, - recipient: string, - { permissions = '31', type = '0' }: { permissions?: string; type?: string } = {}, - ): { id: string } & Result { - const createResponse = http.request( - 'POST', - `${this.baseURL}/ocs/v1.php/apps/files_sharing/api/v1/shares`, - { - shareType: type, - shareWith: recipient, - path, - permissions, - }, - buildParams({ headers: { 'OCS-APIRequest': 'true' } }, { credential }), - ); - - if ( - !check(createResponse, { - 'share create': ({ status }) => status === 200, - }) - ) { - fail(`Share create failed with status ${createResponse.status}`); - } - - const id = parseXML(createResponse.body).getElementsByTagName('id')[0]; - if (!id) { - fail('XML does not contain the id'); - } - - return { - id: id.childNodes[0].textContent || '', - response: createResponse, - }; - } - - accept(id: string, credential: Credential): Result { - const acceptResponse = http.request( - 'POST', - `${this.baseURL}/ocs/v1.php/apps/files_sharing/api/v1/shares/pending/${id}`, - undefined, - buildParams({ headers: { 'OCS-APIRequest': 'true' } }, { credential }), - ); - - check(acceptResponse, { - 'share accept': ({ status }) => status === 200, - }); - - return { - response: acceptResponse, - }; - } -} diff --git a/src/lib/api/user.ts b/src/lib/api/user.ts deleted file mode 100644 index d41bbeb..0000000 --- a/src/lib/api/user.ts +++ /dev/null @@ -1,165 +0,0 @@ -import { check } from 'k6'; -import http from 'k6/http'; - -import { Account, Adapter, Auth, Credential } from '../auth'; -import { Result } from './api'; -import { buildParams } from './utils'; - -export interface User { - login: string; - password: string; - credential: Credential; -} - -interface CreateResult { - user: User; - createResponse: Result['response']; - enableResponse?: Result['response']; -} - -export interface UserAPI { - get(account: Account, adapter: Adapter): { user: User }; - create(account: Account, credential: Credential, adapter: Adapter): CreateResult; - delete(id: string, credential: Credential): Result; -} - -export class UserLegacyAPI implements UserAPI { - protected baseURL: string; - - constructor(baseURL: string) { - this.baseURL = baseURL; - } - - get(account: Account, adapter: Adapter): { user: User } { - const { credential } = new Auth({ login: account.login, password: account.password }, adapter, this.baseURL); - - return { - user: { - login: account.login, - password: account.password, - credential, - }, - }; - } - - enable(account: Account, credential: Credential): Result { - const enableResponse = http.request( - 'PUT', - `${this.baseURL}/ocs/v1.php/cloud/users/${account.login}/enable`, - undefined, - buildParams( - { - headers: { - 'OCS-APIRequest': 'true', - }, - }, - { credential }, - ), - ); - - check(enableResponse, { - 'user enable': (r) => r.status === 200, - }); - - return { - response: enableResponse, - }; - } - - create(account: Account, credential: Credential, adapter: Adapter): CreateResult { - const createResponse = http.request( - 'POST', - `${this.baseURL}/ocs/v1.php/cloud/users`, - { userid: account.login, password: account.password, email: `${account.login}@owncloud.org` }, - buildParams( - { - headers: { - 'OCS-APIRequest': 'true', - }, - }, - { credential }, - ), - ); - - check(createResponse, { - 'user create': (r) => r.status === 200, - }); - - const { response: enableResponse } = this.enable(account, credential); - const { user } = this.get(account, adapter); - - return { - enableResponse, - user, - createResponse, - }; - } - - delete(id: string, credential: Credential): Result { - const deleteResponse = http.request( - 'DELETE', - `${this.baseURL}/ocs/v1.php/cloud/users/${id}`, - undefined, - buildParams( - { - headers: { - 'OCS-APIRequest': 'true', - }, - }, - { credential }, - ), - ); - - check(deleteResponse, { - 'user delete': ({ status }) => status === 200, - }); - - return { - response: deleteResponse, - }; - } -} - -export class UserLatestAPI extends UserLegacyAPI implements UserAPI { - create(account: Account, credential: Credential, adapter: Adapter): CreateResult { - const createResponse = http.request( - 'POST', - `${this.baseURL}/graph/v1.0/users`, - JSON.stringify({ - onPremisesSamAccountName: account.login, - displayName: account.login, - mail: `${account.login}@owncloud.org`, - passwordProfile: { password: account.password }, - }), - buildParams({}, { credential }), - ); - - check(createResponse, { - 'user create': (r) => r.status === 200, - }); - - const { user } = this.get(account, adapter); - - return { - user, - createResponse, - }; - } - - delete(id: string, credential: Credential): Result { - const deleteResponse = http.request( - 'DELETE', - `${this.baseURL}/graph/v1.0/users/${id}`, - undefined, - buildParams({}, { credential }), - ); - - check(deleteResponse, { - 'user delete': ({ status }) => status === 204, - }); - - return { - response: deleteResponse, - }; - } -} diff --git a/src/lib/api/utils.ts b/src/lib/api/utils.ts deleted file mode 100644 index 5b5affb..0000000 --- a/src/lib/api/utils.ts +++ /dev/null @@ -1,31 +0,0 @@ -import encoding from 'k6/encoding'; -import { Params } from 'k6/http'; -import { merge } from 'lodash'; - -import { Account, Credential, Token } from '../auth'; - -export const buildParams = (params: Params, { credential }: { credential?: Credential }): Params => { - const isOIDCGuard = (credential as Token).tokenType !== undefined; - const authOIDC = credential as Token; - const authBasic = credential as Account; - - const np: Params = {}; - - if (isOIDCGuard) { - merge(np, { - headers: { - Authorization: `${authOIDC.tokenType} ${authOIDC.accessToken}`, - }, - }); - } - - if (!isOIDCGuard && authBasic.login && authBasic.password) { - merge(np, { - headers: { - Authorization: `Basic ${encoding.b64encode(`${authBasic.login}:${authBasic.password}`)}`, - }, - }); - } - - return merge(np, params); -}; diff --git a/src/lib/auth/basicAuth.ts b/src/lib/auth/basicAuth.ts deleted file mode 100644 index 2b54eda..0000000 --- a/src/lib/auth/basicAuth.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { Account } from './auth'; - -export class BasicAuthAdapter { - readonly #account: Account; - constructor(account: Account) { - this.#account = account; - } - - public get credential(): Account { - return this.#account; - } -} diff --git a/src/lib/auth/index.ts b/src/lib/auth/index.ts deleted file mode 100644 index c9775e4..0000000 --- a/src/lib/auth/index.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { Account, Adapter, Credential } from './auth'; -import { BasicAuthAdapter } from './basicAuth'; -import { OpenIDConnect } from './openIDConnect'; - -export { Account, Adapter, Credential, Token } from './auth'; - -export class Auth { - #adapter: { credential: Credential }; - constructor(account: Account, adapter: Adapter, baseURL: string) { - switch (adapter) { - case Adapter.openIDConnect: - this.#adapter = new OpenIDConnect(account, baseURL); - break; - case Adapter.basicAuth: - this.#adapter = new BasicAuthAdapter(account); - break; - } - } - - public get credential(): Credential { - return this.#adapter.credential; - } -} diff --git a/src/lib/k6/url.ts b/src/lib/k6/url.ts deleted file mode 100644 index 664326a..0000000 --- a/src/lib/k6/url.ts +++ /dev/null @@ -1,14 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -// @ts-ignore -import { URLSearchParams as _URLSearchParams } from 'https://jslib.k6.io/url/1.0.0/index.js'; - -export class URLSearchParams { - #ref: any; - - constructor(p: unknown) { - this.#ref = new _URLSearchParams(p); - } - object(): { [k: string]: T } { - return Object.fromEntries(this.#ref); - } -} diff --git a/src/lib/k6/utils.ts b/src/lib/k6/utils.ts deleted file mode 100644 index 32f378d..0000000 --- a/src/lib/k6/utils.ts +++ /dev/null @@ -1,7 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-ts-comment */ -// @ts-ignore -import { randomString as _randomString } from 'https://jslib.k6.io/k6-utils/1.2.0/index.js'; - -export const randomString = (length = 10, charset?: string): string => { - return _randomString(length, charset); -}; diff --git a/src/lib/utils.ts b/src/lib/utils.ts deleted file mode 100644 index d822fd2..0000000 --- a/src/lib/utils.ts +++ /dev/null @@ -1,25 +0,0 @@ -// eslint-disable-next-line @typescript-eslint/ban-ts-comment -// @ts-ignore -import { RefinedResponseBody, ResponseType } from 'k6/http'; -import { DOMParser } from 'xmldom'; - -import { URLSearchParams } from './k6/url'; - -export const objectToQueryString = (o: { [key: string]: string | number }): string => { - return Object.keys(o) - .map((key) => encodeURIComponent(key) + '=' + encodeURIComponent(o[key])) - .join('&'); -}; - -export const queryStringToObject = (qs: string): { [key: string]: string } => { - try { - const url = new URL(qs); - qs = url.search; - } catch (e) {} - - return new URLSearchParams(qs).object(); -}; - -export const parseXML = (body: RefinedResponseBody): Document => { - return new DOMParser().parseFromString(body as string, 'text/xml'); -}; diff --git a/src/tests/share-upload-rename/default.ts b/src/tests/share-upload-rename/default.ts deleted file mode 100644 index 62fa8a9..0000000 --- a/src/tests/share-upload-rename/default.ts +++ /dev/null @@ -1,116 +0,0 @@ -import { randomBytes as k6_randomBytes } from 'k6/crypto'; -import exec from 'k6/execution'; -import { Options } from 'k6/options'; -import { times } from 'lodash'; - -import { API, User, Version } from '../../lib/api'; -import { Account, Adapter } from '../../lib/auth'; -import { randomString } from '../../lib/k6/utils'; - -interface UserInfo extends User { - home: string; -} -interface Data { - adminInfo: UserInfo; - userInfos: UserInfo[]; -} - -interface Settings { - authAdapter: Adapter; - baseURL: string; - apiVersion: Version; - adminUser: Account; - testFolder: string; - assets: { - quantity: number; - size: number; - }; - k6: Options; -} - -/**/ -const settings: Settings = { - baseURL: __ENV.BASE_URL || 'https://localhost:9200', - authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, - apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, - testFolder: 'share-upload-rename-default', - adminUser: { - login: __ENV.ADMIN_LOGIN || 'admin', - password: __ENV.ADMIN_PASSWORD || 'admin', - }, - assets: { - size: parseInt(__ENV.ASSET_SIZE) || 1024, - quantity: parseInt(__ENV.ASSET_QUANTITY) || 10, - }, - k6: { - vus: 5, - iterations: 50, - insecureSkipTLSVerify: true, - }, -}; - -const api = new API(settings.baseURL, settings.apiVersion); -/**/ - -export const options: Options = settings.k6; - -export function setup(): Data { - const { user: admin } = api.user.get( - { login: settings.adminUser.login, password: settings.adminUser.password }, - settings.authAdapter, - ); - const adminInfo: UserInfo = { - ...admin, - home: String( - api.me.driveInfo(admin.login, admin.credential, { - selector: 'value.#(driveType=="personal").id', - }), - ), - }; - api.dav.create(adminInfo.home, settings.testFolder, admin.credential); - - const userInfos = times(options.vus || 1, () => { - const { user } = api.user.create( - { login: randomString(), password: randomString() }, - admin.credential, - settings.authAdapter, - ); - const share = api.share.create(settings.testFolder, admin.credential, user.login); - api.share.accept(share.id, user.credential); - - return { - ...user, - home: String( - api.me.driveInfo([user.login, settings.testFolder].join('/'), user.credential, { - selector: `value.#(driveAlias=="mountpoint/${settings.testFolder}").id`, - }), - ), - }; - }); - - return { - adminInfo, - userInfos, - }; -} - -export default function ({ userInfos }: Data): void { - const userInfo = userInfos[exec.vu.idInTest - 1]; - const { user } = api.user.get(userInfo, settings.authAdapter); - const folderNameInitial = [exec.scenario.iterationInTest, 'initial', user.login].join('-'); - api.dav.create(userInfo.home, folderNameInitial, user.credential); - - const data = k6_randomBytes(settings.assets.size * 1024); - times(settings.assets.quantity, (i) => { - api.dav.upload(userInfo.home, [folderNameInitial, i].join('/'), data, user.credential); - }); - - const folderNameFinal = [exec.scenario.iterationInTest, 'final', user.login].join('-'); - api.dav.move(userInfo.home, folderNameInitial, folderNameFinal, user.credential); -} - -export function teardown({ adminInfo, userInfos }: Data): void { - const { user: admin } = api.user.get(adminInfo, settings.authAdapter); - api.dav.delete(adminInfo.home, settings.testFolder, admin.credential); - userInfos.forEach((info) => api.user.delete(info.login, admin.credential)); -} diff --git a/src/tests/surf/upload.ts b/src/tests/surf/upload.ts deleted file mode 100644 index 014abdb..0000000 --- a/src/tests/surf/upload.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { randomBytes as k6_randomBytes } from 'k6/crypto'; -import exec from 'k6/execution'; -import { Options } from 'k6/options'; -import { times } from 'lodash'; - -import { API, User, Version } from '../../lib/api'; -import { Account, Adapter } from '../../lib/auth'; -import { randomString } from '../../lib/k6/utils'; - -interface UserInfo extends User { - home: string; -} -interface Data { - adminInfo: User; - userInfos: UserInfo[]; -} - -interface Settings { - authAdapter: Adapter; - baseURL: string; - apiVersion: Version; - adminUser: Account; - assets: { - quantity: number; - size: number; - }; - - k6: Options; -} - -/**/ -const settings: Settings = { - baseURL: __ENV.BASE_URL || 'https://localhost:9200', - authAdapter: __ENV.AUTH_ADAPTER == Adapter.basicAuth ? Adapter.basicAuth : Adapter.openIDConnect, - apiVersion: __ENV.API_VERSION == Version.legacy ? Version.legacy : Version.latest, - adminUser: { - login: __ENV.ADMIN_LOGIN || 'admin', - password: __ENV.ADMIN_PASSWORD || 'admin', - }, - assets: { - size: parseInt(__ENV.ASSET_SIZE) || 1024, - quantity: parseInt(__ENV.ASSET_QUANTITY) || 10, - }, - k6: { - vus: 5, - iterations: 50, - insecureSkipTLSVerify: true, - }, -}; - -const api = new API(settings.baseURL, settings.apiVersion); -/**/ - -export const options: Options = settings.k6; -export function setup(): Data { - const { user: adminInfo } = api.user.get( - { login: settings.adminUser.login, password: settings.adminUser.password }, - settings.authAdapter, - ); - - const userInfos = times(options.vus || 1, () => { - const { user } = api.user.create( - { login: randomString(), password: randomString() }, - adminInfo.credential, - settings.authAdapter, - ); - - return { - ...user, - home: String( - api.me.driveInfo(user.login, user.credential, { - selector: 'value.#(driveType=="personal").id', - }), - ), - }; - }); - - return { - adminInfo, - userInfos, - }; -} - -export default function ({ userInfos }: Data): void { - const userInfo = userInfos[exec.vu.idInTest - 1]; - const { user } = api.user.get(userInfo, settings.authAdapter); - const data = k6_randomBytes(settings.assets.size * 1024); - times(settings.assets.quantity, (i) => { - api.dav.upload(userInfo.home, [exec.scenario.iterationInTest, userInfo.login, i].join('-'), data, user.credential); - }); -} - -export function teardown({ adminInfo, userInfos }: Data): void { - const { user: admin } = api.user.get(adminInfo, settings.authAdapter); - userInfos.forEach((info) => api.user.delete(info.login, admin.credential)); -} diff --git a/tsconfig.json b/tsconfig.json deleted file mode 100644 index f53d8dc..0000000 --- a/tsconfig.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "compilerOptions": { - "target": "es2019", - "moduleResolution": "node", - "module": "commonjs", - "noEmit": true, - "allowJs": true, - "removeComments": true, - "strict": true, - "noImplicitAny": true, - "noImplicitThis": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noImplicitReturns": true, - "noFallthroughCasesInSwitch": true, - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, - "experimentalDecorators": true, - "emitDecoratorMetadata": true, - "skipLibCheck": true - } -} diff --git a/turbo.json b/turbo.json new file mode 100644 index 0000000..5ccf091 --- /dev/null +++ b/turbo.json @@ -0,0 +1,32 @@ +{ + "$schema": "https://turborepo.org/schema.json", + "pipeline": { + "lint": { + "cache": false + }, + "lint:fix": { + "cache": false + }, + "build": { + "outputMode": "new-only", + "dependsOn": ["^build"], + "inputs": [ + "./*.json", + "./*.mjs", + "./src/**/*" + ], + "outputs": [ + "dist/**", + "lib/**", + "artifacts/**" + ] + }, + "dev": { + "cache": false, + "persistent": true + }, + "clean": { + "cache": false + } + } +} diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index f3fb4cd..0000000 --- a/yarn.lock +++ /dev/null @@ -1,3456 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.11", "@babel/code-frame@^7.5.5": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - -"@babel/compat-data@^7.12.5", "@babel/compat-data@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.7.tgz" - integrity sha512-YaxPMGs/XIWtYqrdEOZOCPsVWfEoriXopnsz3/i7apYPXQ3698UFhS6dVT1KN5qOsWmVgw/FOrmQgpRaZayGsw== - -"@babel/core@^7.9.0": - version "7.12.10" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz" - integrity sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.12.10" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helpers" "^7.12.5" - "@babel/parser" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.10" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.19" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/generator@^7.12.10", "@babel/generator@^7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz" - integrity sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA== - dependencies: - "@babel/types" "^7.12.11" - jsesc "^2.5.1" - source-map "^0.5.0" - -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.12.10" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz" - integrity sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz" - integrity sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helper-compilation-targets@^7.12.5": - version "7.12.5" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz" - integrity sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw== - dependencies: - "@babel/compat-data" "^7.12.5" - "@babel/helper-validator-option" "^7.12.1" - browserslist "^4.14.5" - semver "^5.5.0" - -"@babel/helper-create-class-features-plugin@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz" - integrity sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-member-expression-to-functions" "^7.12.1" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - -"@babel/helper-create-regexp-features-plugin@^7.12.1": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz" - integrity sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - regexpu-core "^4.7.1" - -"@babel/helper-define-map@^7.10.4": - version "7.10.5" - resolved "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz" - integrity sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/types" "^7.10.5" - lodash "^4.17.19" - -"@babel/helper-explode-assignable-expression@^7.10.4": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz" - integrity sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-function-name@^7.10.4", "@babel/helper-function-name@^7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz" - integrity sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA== - dependencies: - "@babel/helper-get-function-arity" "^7.12.10" - "@babel/template" "^7.12.7" - "@babel/types" "^7.12.11" - -"@babel/helper-get-function-arity@^7.12.10": - version "7.12.10" - resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz" - integrity sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-hoist-variables@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz" - integrity sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-member-expression-to-functions@^7.12.1", "@babel/helper-member-expression-to-functions@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz" - integrity sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw== - dependencies: - "@babel/types" "^7.12.7" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.0.0-beta.49", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.5": - version "7.12.5" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz" - integrity sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA== - dependencies: - "@babel/types" "^7.12.5" - -"@babel/helper-module-transforms@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz" - integrity sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-simple-access" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.11.0" - "@babel/helper-validator-identifier" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.1" - "@babel/types" "^7.12.1" - lodash "^4.17.19" - -"@babel/helper-optimise-call-expression@^7.10.4", "@babel/helper-optimise-call-expression@^7.12.10": - version "7.12.10" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz" - integrity sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ== - dependencies: - "@babel/types" "^7.12.10" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-remap-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz" - integrity sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-wrap-function" "^7.10.4" - "@babel/types" "^7.12.1" - -"@babel/helper-replace-supers@^7.12.1": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz" - integrity sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.12.7" - "@babel/helper-optimise-call-expression" "^7.12.10" - "@babel/traverse" "^7.12.10" - "@babel/types" "^7.12.11" - -"@babel/helper-simple-access@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz" - integrity sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz" - integrity sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA== - dependencies: - "@babel/types" "^7.12.1" - -"@babel/helper-split-export-declaration@^7.10.4", "@babel/helper-split-export-declaration@^7.11.0", "@babel/helper-split-export-declaration@^7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz" - integrity sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g== - dependencies: - "@babel/types" "^7.12.11" - -"@babel/helper-validator-identifier@^7.10.4", "@babel/helper-validator-identifier@^7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz" - integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== - -"@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.11.tgz" - integrity sha512-TBFCyj939mFSdeX7U7DDj32WtzYY7fDcalgq8v3fBZMNOJQNn7nOYzMaUCiPxPYfCup69mtIpqlKgMZLvQ8Xhw== - -"@babel/helper-wrap-function@^7.10.4": - version "7.12.3" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz" - integrity sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/helpers@^7.12.5": - version "7.12.5" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz" - integrity sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA== - dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.12.5" - "@babel/types" "^7.12.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.12.10", "@babel/parser@^7.12.11", "@babel/parser@^7.12.5", "@babel/parser@^7.12.7": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz" - integrity sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg== - -"@babel/plugin-proposal-async-generator-functions@^7.12.1": - version "7.12.12" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz" - integrity sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - -"@babel/plugin-proposal-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz" - integrity sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-dynamic-import@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz" - integrity sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - -"@babel/plugin-proposal-export-namespace-from@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz" - integrity sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz" - integrity sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.0" - -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz" - integrity sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz" - integrity sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - -"@babel/plugin-proposal-numeric-separator@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.7.tgz" - integrity sha512-8c+uy0qmnRTeukiGsjLGy6uVs/TFjJchGXUeBqlG4VWYOdJWkhhVPdQ3uHwbmalfJwv2JsV0qffXP4asRfL2SQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz" - integrity sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-transform-parameters" "^7.12.1" - -"@babel/plugin-proposal-optional-catch-binding@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz" - integrity sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - -"@babel/plugin-proposal-optional-chaining@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.7.tgz" - integrity sha512-4ovylXZ0PWmwoOvhU2vhnzVNnm88/Sm9nx7V8BPgMvAzn5zDou3/Awy0EjglyubVHasJj+XCEkr/r1X3P5elCA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - -"@babel/plugin-proposal-private-methods@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz" - integrity sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz" - integrity sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-async-generators@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz" - integrity sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-dynamic-import@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-json-strings@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.0": - 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== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-top-level-await@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz" - integrity sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-typescript@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.12.1.tgz" - integrity sha512-UZNEcCY+4Dp9yYRCAHrHDU+9ZXLYaY9MgBXSRLkB9WjYFRR6quJBumfVrEkUxrePPBwFcpWfNKXqVRQQtm7mMA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-arrow-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz" - integrity sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-async-to-generator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz" - integrity sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A== - dependencies: - "@babel/helper-module-imports" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-remap-async-to-generator" "^7.12.1" - -"@babel/plugin-transform-block-scoped-functions@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz" - integrity sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-block-scoping@^7.12.11": - version "7.12.12" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz" - integrity sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-classes@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz" - integrity sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-define-map" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - "@babel/helper-split-export-declaration" "^7.10.4" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz" - integrity sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-destructuring@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz" - integrity sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz" - integrity sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz" - integrity sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-exponentiation-operator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz" - integrity sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-for-of@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz" - integrity sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-function-name@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz" - integrity sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw== - dependencies: - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz" - integrity sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-member-expression-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz" - integrity sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-modules-amd@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz" - integrity sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-commonjs@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz" - integrity sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-simple-access" "^7.12.1" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-systemjs@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz" - integrity sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q== - dependencies: - "@babel/helper-hoist-variables" "^7.10.4" - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-identifier" "^7.10.4" - babel-plugin-dynamic-import-node "^2.3.3" - -"@babel/plugin-transform-modules-umd@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz" - integrity sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q== - dependencies: - "@babel/helper-module-transforms" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz" - integrity sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - -"@babel/plugin-transform-new-target@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz" - integrity sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-object-super@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz" - integrity sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-replace-supers" "^7.12.1" - -"@babel/plugin-transform-parameters@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz" - integrity sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-property-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz" - integrity sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-regenerator@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz" - integrity sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng== - dependencies: - regenerator-transform "^0.14.2" - -"@babel/plugin-transform-reserved-words@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz" - integrity sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-shorthand-properties@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz" - integrity sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-spread@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz" - integrity sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" - -"@babel/plugin-transform-sticky-regex@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz" - integrity sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-template-literals@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz" - integrity sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typeof-symbol@^7.12.10": - version "7.12.10" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz" - integrity sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-typescript@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.12.1.tgz" - integrity sha512-VrsBByqAIntM+EYMqSm59SiMEf7qkmI9dqMt6RbD/wlwueWmYcI0FFK5Fj47pP6DRZm+3teXjosKlwcZJ5lIMw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-typescript" "^7.12.1" - -"@babel/plugin-transform-unicode-escapes@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz" - integrity sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-unicode-regex@^7.12.1": - version "7.12.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz" - integrity sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.12.1" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/preset-env@^7.9.5": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.11.tgz" - integrity sha512-j8Tb+KKIXKYlDBQyIOy4BLxzv1NUOwlHfZ74rvW+Z0Gp4/cI2IMDPBWAgWceGcE7aep9oL/0K9mlzlMGxA8yNw== - dependencies: - "@babel/compat-data" "^7.12.7" - "@babel/helper-compilation-targets" "^7.12.5" - "@babel/helper-module-imports" "^7.12.5" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.11" - "@babel/plugin-proposal-async-generator-functions" "^7.12.1" - "@babel/plugin-proposal-class-properties" "^7.12.1" - "@babel/plugin-proposal-dynamic-import" "^7.12.1" - "@babel/plugin-proposal-export-namespace-from" "^7.12.1" - "@babel/plugin-proposal-json-strings" "^7.12.1" - "@babel/plugin-proposal-logical-assignment-operators" "^7.12.1" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.12.1" - "@babel/plugin-proposal-numeric-separator" "^7.12.7" - "@babel/plugin-proposal-object-rest-spread" "^7.12.1" - "@babel/plugin-proposal-optional-catch-binding" "^7.12.1" - "@babel/plugin-proposal-optional-chaining" "^7.12.7" - "@babel/plugin-proposal-private-methods" "^7.12.1" - "@babel/plugin-proposal-unicode-property-regex" "^7.12.1" - "@babel/plugin-syntax-async-generators" "^7.8.0" - "@babel/plugin-syntax-class-properties" "^7.12.1" - "@babel/plugin-syntax-dynamic-import" "^7.8.0" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.0" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.0" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.0" - "@babel/plugin-syntax-top-level-await" "^7.12.1" - "@babel/plugin-transform-arrow-functions" "^7.12.1" - "@babel/plugin-transform-async-to-generator" "^7.12.1" - "@babel/plugin-transform-block-scoped-functions" "^7.12.1" - "@babel/plugin-transform-block-scoping" "^7.12.11" - "@babel/plugin-transform-classes" "^7.12.1" - "@babel/plugin-transform-computed-properties" "^7.12.1" - "@babel/plugin-transform-destructuring" "^7.12.1" - "@babel/plugin-transform-dotall-regex" "^7.12.1" - "@babel/plugin-transform-duplicate-keys" "^7.12.1" - "@babel/plugin-transform-exponentiation-operator" "^7.12.1" - "@babel/plugin-transform-for-of" "^7.12.1" - "@babel/plugin-transform-function-name" "^7.12.1" - "@babel/plugin-transform-literals" "^7.12.1" - "@babel/plugin-transform-member-expression-literals" "^7.12.1" - "@babel/plugin-transform-modules-amd" "^7.12.1" - "@babel/plugin-transform-modules-commonjs" "^7.12.1" - "@babel/plugin-transform-modules-systemjs" "^7.12.1" - "@babel/plugin-transform-modules-umd" "^7.12.1" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.12.1" - "@babel/plugin-transform-new-target" "^7.12.1" - "@babel/plugin-transform-object-super" "^7.12.1" - "@babel/plugin-transform-parameters" "^7.12.1" - "@babel/plugin-transform-property-literals" "^7.12.1" - "@babel/plugin-transform-regenerator" "^7.12.1" - "@babel/plugin-transform-reserved-words" "^7.12.1" - "@babel/plugin-transform-shorthand-properties" "^7.12.1" - "@babel/plugin-transform-spread" "^7.12.1" - "@babel/plugin-transform-sticky-regex" "^7.12.7" - "@babel/plugin-transform-template-literals" "^7.12.1" - "@babel/plugin-transform-typeof-symbol" "^7.12.10" - "@babel/plugin-transform-unicode-escapes" "^7.12.1" - "@babel/plugin-transform-unicode-regex" "^7.12.1" - "@babel/preset-modules" "^0.1.3" - "@babel/types" "^7.12.11" - core-js-compat "^3.8.0" - semver "^5.5.0" - -"@babel/preset-modules@^0.1.3": - version "0.1.4" - resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== - 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" - -"@babel/preset-typescript@^7.9.0": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.12.7.tgz" - integrity sha512-nOoIqIqBmHBSEgBXWR4Dv/XBehtIFcw9PqZw6rFYuKrzsZmOQm3PR5siLBnKZFEsDb03IegG8nSjU/iXXXYRmw== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/helper-validator-option" "^7.12.1" - "@babel/plugin-transform-typescript" "^7.12.1" - -"@babel/runtime@^7.0.0-beta.55", "@babel/runtime@^7.8.4": - version "7.12.5" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz" - integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.10.4", "@babel/template@^7.12.7": - version "7.12.7" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz" - integrity sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.12.7" - "@babel/types" "^7.12.7" - -"@babel/traverse@^7.10.4", "@babel/traverse@^7.12.1", "@babel/traverse@^7.12.10", "@babel/traverse@^7.12.5": - version "7.12.12" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz" - integrity sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w== - dependencies: - "@babel/code-frame" "^7.12.11" - "@babel/generator" "^7.12.11" - "@babel/helper-function-name" "^7.12.11" - "@babel/helper-split-export-declaration" "^7.12.11" - "@babel/parser" "^7.12.11" - "@babel/types" "^7.12.12" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.19" - -"@babel/types@^7.0.0-beta.49", "@babel/types@^7.10.4", "@babel/types@^7.10.5", "@babel/types@^7.12.1", "@babel/types@^7.12.10", "@babel/types@^7.12.11", "@babel/types@^7.12.12", "@babel/types@^7.12.5", "@babel/types@^7.12.7", "@babel/types@^7.4.4": - version "7.12.12" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz" - integrity sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ== - dependencies: - "@babel/helper-validator-identifier" "^7.12.11" - lodash "^4.17.19" - to-fast-properties "^2.0.0" - -"@eslint/eslintrc@^0.3.0": - version "0.3.0" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz" - integrity sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^12.1.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - lodash "^4.17.20" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - -"@nodelib/fs.scandir@2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz" - integrity sha512-33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA== - dependencies: - "@nodelib/fs.stat" "2.0.4" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.4", "@nodelib/fs.stat@^2.0.2": - version "2.0.4" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz" - integrity sha512-IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q== - -"@nodelib/fs.walk@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz" - integrity sha512-8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow== - dependencies: - "@nodelib/fs.scandir" "2.1.4" - fastq "^1.6.0" - -"@rollup/plugin-commonjs@^11.1.0": - version "11.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-11.1.0.tgz" - integrity sha512-Ycr12N3ZPN96Fw2STurD21jMqzKwL9QuFhms3SD7KKRK7oaXUsBU9Zt0jL/rOPHiPYisI21/rXGO3jr9BnLHUA== - dependencies: - "@rollup/pluginutils" "^3.0.8" - commondir "^1.0.1" - estree-walker "^1.0.1" - glob "^7.1.2" - is-reference "^1.1.2" - magic-string "^0.25.2" - resolve "^1.11.0" - -"@rollup/plugin-json@^4.0.3": - version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz" - integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== - dependencies: - "@rollup/pluginutils" "^3.0.8" - -"@rollup/plugin-node-resolve@^7.1.3": - version "7.1.3" - resolved "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-7.1.3.tgz" - integrity sha512-RxtSL3XmdTAE2byxekYLnx+98kEUOrPHF/KRVjLH+DEIHy6kjIw7YINQzn+NXiH/NTrQLAwYs0GWB+csWygA9Q== - dependencies: - "@rollup/pluginutils" "^3.0.8" - "@types/resolve" "0.0.8" - builtin-modules "^3.1.0" - is-module "^1.0.0" - resolve "^1.14.2" - -"@rollup/pluginutils@^3.0.8": - version "3.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz" - integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== - dependencies: - "@types/estree" "0.0.39" - estree-walker "^1.0.1" - picomatch "^2.2.2" - -"@rollup/pluginutils@^4.1.0": - version "4.1.0" - resolved "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-4.1.0.tgz" - integrity sha512-TrBhfJkFxA+ER+ew2U2/fHbebhLT/l/2pRk0hfj9KusXUuRXd2v0R58AfaZK9VXDQ4TogOSEmICVrQAA3zFnHQ== - dependencies: - estree-walker "^2.0.1" - picomatch "^2.2.2" - -"@types/eslint-visitor-keys@^1.0.0": - version "1.0.0" - resolved "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz" - integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== - -"@types/estree@*": - version "0.0.46" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz" - integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg== - -"@types/estree@0.0.39": - version "0.0.39" - resolved "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz" - integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== - -"@types/json-schema@^7.0.3": - version "7.0.7" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" - integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= - -"@types/k6@^0.42.0": - version "0.42.0" - resolved "https://registry.npmjs.org/@types/k6/-/k6-0.42.0.tgz" - integrity sha512-btIVh1X3aC3iiYHL3J6vnWx65tFhTZyA6c3RjsizlVRAk80a83mL9ybwClUpxo/gl8C7nii1NGMGmmN7yH5doQ== - -"@types/lodash@^4.14.165": - version "4.14.168" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz" - integrity sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q== - -"@types/minimatch@^3.0.3": - version "3.0.3" - resolved "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== - -"@types/node@*": - version "14.14.22" - resolved "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz" - integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw== - -"@types/parse-json@^4.0.0": - version "4.0.0" - resolved "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz" - integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== - -"@types/resolve@0.0.8": - version "0.0.8" - resolved "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz" - integrity sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ== - dependencies: - "@types/node" "*" - -"@types/xmldom@^0.1.30": - version "0.1.30" - resolved "https://registry.npmjs.org/@types/xmldom/-/xmldom-0.1.30.tgz" - integrity sha512-edqgAFXMEtVvaBZ3YnhamvmrHjoYpuxETmnb0lbTZmf/dXpAsO9ZKotUO4K2rn2SIZBDFCMOuA7fOe0H6dRZcA== - -"@typescript-eslint/eslint-plugin@^4.9.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.14.0.tgz" - integrity sha512-IJ5e2W7uFNfg4qh9eHkHRUCbgZ8VKtGwD07kannJvM5t/GU8P8+24NX8gi3Hf5jST5oWPY8kyV1s/WtfiZ4+Ww== - dependencies: - "@typescript-eslint/experimental-utils" "4.14.0" - "@typescript-eslint/scope-manager" "4.14.0" - debug "^4.1.1" - functional-red-black-tree "^1.0.1" - lodash "^4.17.15" - regexpp "^3.0.0" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/experimental-utils@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz" - integrity sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/experimental-utils@4.14.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-4.14.0.tgz" - integrity sha512-6i6eAoiPlXMKRbXzvoQD5Yn9L7k9ezzGRvzC/x1V3650rUk3c3AOjQyGYyF9BDxQQDK2ElmKOZRD0CbtdkMzQQ== - dependencies: - "@types/json-schema" "^7.0.3" - "@typescript-eslint/scope-manager" "4.14.0" - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/typescript-estree" "4.14.0" - eslint-scope "^5.0.0" - eslint-utils "^2.0.0" - -"@typescript-eslint/parser@^3.0.0": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz" - integrity sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw== - dependencies: - "@types/eslint-visitor-keys" "^1.0.0" - "@typescript-eslint/experimental-utils" "3.10.1" - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/typescript-estree" "3.10.1" - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/parser@^4.9.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.14.0.tgz" - integrity sha512-sUDeuCjBU+ZF3Lzw0hphTyScmDDJ5QVkyE21pRoBo8iDl7WBtVFS+WDN3blY1CH3SBt7EmYCw6wfmJjF0l/uYg== - dependencies: - "@typescript-eslint/scope-manager" "4.14.0" - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/typescript-estree" "4.14.0" - debug "^4.1.1" - -"@typescript-eslint/scope-manager@4.14.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.14.0.tgz" - integrity sha512-/J+LlRMdbPh4RdL4hfP1eCwHN5bAhFAGOTsvE6SxsrM/47XQiPSgF5MDgLyp/i9kbZV9Lx80DW0OpPkzL+uf8Q== - dependencies: - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/visitor-keys" "4.14.0" - -"@typescript-eslint/types@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz" - integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== - -"@typescript-eslint/types@4.14.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.14.0.tgz" - integrity sha512-VsQE4VvpldHrTFuVPY1ZnHn/Txw6cZGjL48e+iBxTi2ksa9DmebKjAeFmTVAYoSkTk7gjA7UqJ7pIsyifTsI4A== - -"@typescript-eslint/typescript-estree@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz" - integrity sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w== - dependencies: - "@typescript-eslint/types" "3.10.1" - "@typescript-eslint/visitor-keys" "3.10.1" - debug "^4.1.1" - glob "^7.1.6" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/typescript-estree@4.14.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.14.0.tgz" - integrity sha512-wRjZ5qLao+bvS2F7pX4qi2oLcOONIB+ru8RGBieDptq/SudYwshveORwCVU4/yMAd4GK7Fsf8Uq1tjV838erag== - dependencies: - "@typescript-eslint/types" "4.14.0" - "@typescript-eslint/visitor-keys" "4.14.0" - debug "^4.1.1" - globby "^11.0.1" - is-glob "^4.0.1" - lodash "^4.17.15" - semver "^7.3.2" - tsutils "^3.17.1" - -"@typescript-eslint/visitor-keys@3.10.1": - version "3.10.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz" - integrity sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ== - dependencies: - eslint-visitor-keys "^1.1.0" - -"@typescript-eslint/visitor-keys@4.14.0": - version "4.14.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.14.0.tgz" - integrity sha512-MeHHzUyRI50DuiPgV9+LxcM52FCJFYjJiWHtXlbyC27b80mfOwKeiKI+MHOTEpcpfmoPFm/vvQS88bYIx6PZTA== - dependencies: - "@typescript-eslint/types" "4.14.0" - eslint-visitor-keys "^2.0.0" - -acorn-jsx@^5.2.0, acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== - -acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv@^6.10.0, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - 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" - -ajv@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/ajv/-/ajv-7.0.3.tgz" - integrity sha512-R50QRlXSxqXcQP5SvKUrw8VZeypvo12i2IX0EeR5PiZ7bEKeHWgzgo264LDadUsCU42lTJVhFikTqJwNeH34gQ== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-escapes@^4.3.0: - version "4.3.1" - resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8= - -ansi-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - integrity sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= - -ansi-styles@^3.2.0, ansi-styles@^3.2.1: - 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== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -array-differ@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz" - integrity sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg== - -array-includes@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz" - integrity sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - get-intrinsic "^1.0.1" - is-string "^1.0.5" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.2.3: - version "1.2.4" - resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - -arrify@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz" - integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== - -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - -babel-plugin-dynamic-import-node@^2.3.3: - 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== - dependencies: - object.assign "^4.1.0" - -babel-plugin-lodash@^3.3.4: - version "3.3.4" - resolved "https://registry.npmjs.org/babel-plugin-lodash/-/babel-plugin-lodash-3.3.4.tgz" - integrity sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg== - dependencies: - "@babel/helper-module-imports" "^7.0.0-beta.49" - "@babel/types" "^7.0.0-beta.49" - glob "^7.1.1" - lodash "^4.17.10" - require-package-name "^2.0.1" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.1, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.14.5, browserslist@^4.16.1: - version "4.16.1" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz" - integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== - dependencies: - caniuse-lite "^1.0.30001173" - colorette "^1.2.1" - electron-to-chromium "^1.3.634" - escalade "^3.1.1" - node-releases "^1.1.69" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builtin-modules@^3.1.0: - version "3.2.0" - resolved "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.2.0.tgz" - integrity sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== - -caniuse-lite@^1.0.30001173: - version "1.0.30001468" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz" - integrity sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A== - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - integrity sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -"chokidar@>=2.0.0 <4.0.0": - version "3.5.1" - resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - 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" - optionalDependencies: - fsevents "~2.3.1" - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - -cli-truncate@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" - integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== - dependencies: - slice-ansi "^3.0.0" - string-width "^4.2.0" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -commander@^2.20.0: - 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== - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -common-tags@^1.4.0: - version "1.8.0" - resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.0.tgz" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz" - integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -contains-path@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz" - integrity sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo= - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -core-js-compat@^3.8.0: - version "3.8.3" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.8.3.tgz" - integrity sha512-1sCb0wBXnBIL16pfFG1Gkvei6UzvKyTNYpiC41yrdjEv0UoJoq9E/abTMzyYJ6JpTkAj15dLjbqifIzEBDVvog== - dependencies: - browserslist "^4.16.1" - semver "7.0.0" - -core-js@3, core-js@^3.1.3: - version "3.8.3" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz" - integrity sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q== - -cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== - 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" - -cross-spawn@^7.0.0, cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -de-indent@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz" - integrity sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0= - -debug@^2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0: - version "4.3.1" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz" - integrity sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw= - -deep-is@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -depcheck@^1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/depcheck/-/depcheck-1.3.1.tgz" - integrity sha512-lLMfqX2J+ZF3xUEqHpgCNk+dA8erAfW6XURGNAIyUS4KL2i3lezXGYDevYk3G0rWCwy/3CpxE8ek10NrURFOtQ== - dependencies: - "@babel/parser" "^7.12.5" - "@babel/traverse" "^7.12.5" - builtin-modules "^3.1.0" - camelcase "^6.2.0" - cosmiconfig "^7.0.0" - debug "^4.2.0" - deps-regex "^0.1.4" - ignore "^5.1.8" - js-yaml "^3.14.0" - json5 "^2.1.3" - lodash "^4.17.20" - minimatch "^3.0.4" - multimatch "^5.0.0" - please-upgrade-node "^3.2.0" - query-ast "^1.0.3" - readdirp "^3.5.0" - require-package-name "^2.0.1" - resolve "^1.18.1" - sass "^1.29.0" - scss-parser "^1.0.4" - semver "^7.3.2" - vue-template-compiler "^2.6.12" - yargs "^16.1.0" - -deps-regex@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/deps-regex/-/deps-regex-0.1.4.tgz" - integrity sha1-UYZnt2kUYKXn4KNBvnbrfOgJAYQ= - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz" - integrity sha1-N53Ocw9hZvds76TmcHoVmwLFpvo= - dependencies: - esutils "^2.0.2" - isarray "^1.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -electron-to-chromium@^1.3.634: - version "1.3.644" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.644.tgz" - integrity sha512-N7FLvjDPADxad+OXXBuYfcvDvCBG0aW8ZZGr7G91sZMviYbnQJFxdSvUus4SJ0K7Q8dzMxE+Wx1d/CrJIIJ0sw== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - 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== - dependencies: - once "^1.4.0" - -enquirer@^2.3.5, enquirer@^2.3.6: - version "2.3.6" - resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -error-ex@^1.2.0, error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.18.0-next.1: - version "1.18.0-next.2" - resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz" - integrity sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.2" - is-negative-zero "^2.0.1" - is-regex "^1.1.1" - object-inspect "^1.9.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.3" - string.prototype.trimstart "^1.0.3" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -eslint-config-prettier@^6.15.0: - version "6.15.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-6.15.0.tgz" - integrity sha512-a1+kOYLR8wMGustcgAjdydMsQ2A/2ipRPwRKUmfYaSxc9ZPcrku080Ctl6zrZzZNs/U82MjSv+qKREkoq3bJaw== - dependencies: - get-stdin "^6.0.0" - -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.0: - version "2.6.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz" - integrity sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA== - dependencies: - debug "^2.6.9" - pkg-dir "^2.0.0" - -eslint-plugin-import@^2.22.1: - version "2.22.1" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz" - integrity sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw== - dependencies: - array-includes "^3.1.1" - array.prototype.flat "^1.2.3" - contains-path "^0.1.0" - debug "^2.6.9" - doctrine "1.5.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.0" - has "^1.0.3" - minimatch "^3.0.4" - object.values "^1.1.1" - read-pkg-up "^2.0.0" - resolve "^1.17.0" - tsconfig-paths "^3.9.0" - -eslint-plugin-prettier@^3.2.0: - version "3.3.1" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz" - integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ== - dependencies: - prettier-linter-helpers "^1.0.0" - -eslint-plugin-simple-import-sort@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-6.0.1.tgz" - integrity sha512-RfFnoi7fQtv7z9sZNJidIcZgWc0ZJe8uOPC3ldmatai4Igr5iDpzTmSUDEZKYm4TnrR01N0X32kfKvax7bivHQ== - -eslint-scope@^5.0.0, eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - 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== - -eslint-visitor-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz" - integrity sha512-QudtT6av5WXels9WjIM7qz1XD1cWGvX4gGXvp/zBn9nXG02D0utdU3Em2m/QjTnrsk6bBjmCygl3rmj118msQQ== - -eslint@^7.14.0, eslint@^7.9.0: - version "7.18.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-7.18.0.tgz" - integrity sha512-fbgTiE8BfUJZuBeq2Yi7J3RB3WGUQ9PNuNbmgi6jt9Iv8qrkxfy19Ds3OpL1Pm7zg3BtTVhvcUZbIRQ0wmSjAQ== - dependencies: - "@babel/code-frame" "^7.0.0" - "@eslint/eslintrc" "^0.3.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" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.2.0" - esutils "^2.0.2" - file-entry-cache "^6.0.0" - functional-red-black-tree "^1.0.1" - glob-parent "^5.0.0" - globals "^12.1.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 "^4.17.20" - 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.4" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - -espree@^6.2.1: - version "6.2.1" - resolved "https://registry.npmjs.org/espree/-/espree-6.2.1.tgz" - integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw== - dependencies: - acorn "^7.1.1" - acorn-jsx "^5.2.0" - eslint-visitor-keys "^1.1.0" - -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - -esprima@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.0.1, esquery@^1.2.0: - version "1.3.1" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz" - integrity sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== - -estree-walker@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz" - integrity sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w== - -estree-walker@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz" - integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== - -estree-walker@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - 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" - -fast-deep-equal@^3.1.1: - 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== - -fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - -fast-glob@^3.0.0, fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" - merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" - -fast-json-stable-stringify@^2.0.0: - 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== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fastq@^1.6.0: - version "1.10.0" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.10.0.tgz" - integrity sha512-NL2Qc5L3iQEsyYzweq7qfgy5OtXCmGzGvhElGEd/SoFWEMOEczNh5s5ocaF01HDetxz+p8ecjNPA6cZxxIHmzA== - dependencies: - reusify "^1.0.4" - -figures@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz" - integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== - dependencies: - escape-string-regexp "^1.0.5" - -file-entry-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.0.tgz" - integrity sha512-fqoO76jZ3ZnYrXLDRxBR1YvOvc0k844kcOg40bgsPrE25LAb/PDqTY+ho64Xh2c8ZXgIKldchCFHczG2UVRcWA== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" - integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= - dependencies: - locate-path "^2.0.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.1.1.tgz" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.1.2: - version "2.1.3" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz" - integrity sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ== - -fsevents@~2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz" - integrity sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" - integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= - -gensync@^1.0.0-beta.1: - 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== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-intrinsic@^1.0.1, get-intrinsic@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz" - integrity sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-own-enumerable-property-symbols@^3.0.0: - 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== - -get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/get-stdin/-/get-stdin-6.0.0.tgz" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - -get-stream@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -glob-parent@^5.0.0, glob-parent@^5.1.0, glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - -glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== - 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" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^12.1.0: - version "12.4.0" - resolved "https://registry.npmjs.org/globals/-/globals-12.4.0.tgz" - integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg== - dependencies: - type-fest "^0.8.1" - -globby@^11.0.1: - version "11.0.2" - resolved "https://registry.npmjs.org/globby/-/globby-11.0.2.tgz" - integrity sha512-2ZThXDvvV8fYFRVIxnrMQBipZQDr7MxKAmQK1vujaj9/7eF0efG7BPUKJ7jP7G5SLF37xKDXvO4S/KKLj/Z0og== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.1.1" - ignore "^5.1.4" - merge2 "^1.3.0" - slash "^3.0.0" - -graceful-fs@^4.1.2: - version "4.2.4" - resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - integrity sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= - dependencies: - ansi-regex "^2.0.0" - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" - integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -he@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/he/-/he-1.2.0.tgz" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== - -ignore@^5.1.8: - version "5.2.4" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -invariant@2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.2.tgz" - integrity sha1-nh9WrArNtr8wMwbzOL47IErmA2A= - dependencies: - loose-envify "^1.0.0" - -invariant@2.2.4: - version "2.2.4" - resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" - integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-callable@^1.1.4, is-callable@^1.2.2: - version "1.2.2" - resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz" - integrity sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA== - -is-core-module@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz" - integrity sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -is-fullwidth-code-point@^3.0.0: - 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== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-module@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz" - integrity sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= - -is-negative-zero@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz" - integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-obj@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-reference@^1.1.2: - version "1.2.1" - resolved "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz" - integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== - dependencies: - "@types/estree" "*" - -is-regex@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz" - integrity sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg== - dependencies: - has-symbols "^1.0.1" - -is-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz" - integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk= - -is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== - -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -isarray@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz" - integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -jest-worker@^24.9.0: - version "24.9.0" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - -"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^3.13.1, js-yaml@^3.14.0: - version "3.14.1" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-even-better-errors@^2.3.0: - 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== - -json-schema-traverse@^0.4.1: - 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== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - 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= - -json5@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz" - integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== - dependencies: - minimist "^1.2.0" - -json5@^2.1.2, json5@^2.1.3: - version "2.1.3" - resolved "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== - dependencies: - minimist "^1.2.5" - -k6@^0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/k6/-/k6-0.0.0.tgz" - integrity sha1-jJIyAL4KaMV46PWjK+lrHYBlzDs= - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.1.6" - resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz" - integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= - -lint-staged@^10.1.7: - version "10.5.3" - resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-10.5.3.tgz" - integrity sha512-TanwFfuqUBLufxCc3RUtFEkFraSPNR3WzWcGF39R3f2J7S9+iF9W0KTVLfSy09lYGmZS5NDCxjNvhGMSJyFCWg== - 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" - -listr2@^3.2.2: - version "3.3.0" - resolved "https://registry.npmjs.org/listr2/-/listr2-3.3.0.tgz" - integrity sha512-G9IFI/m65icgVlifS0wMQnvn35/8VJGzEb3crpE4NnaegQYQOn/wP7yqi9TTJQ/eoxme4UaPbffBK1XqKP/DOg== - dependencies: - chalk "^4.1.0" - cli-truncate "^2.1.0" - figures "^3.2.0" - indent-string "^4.0.0" - log-update "^4.0.0" - p-map "^4.0.0" - rxjs "^6.6.3" - through "^2.3.8" - wrap-ansi "^7.0.0" - -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz" - integrity sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg= - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" - integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lodash.merge@^4.6.0: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.4: - version "4.17.20" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz" - integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== - -log-symbols@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz" - integrity sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA== - dependencies: - chalk "^4.0.0" - -log-update@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" - integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== - dependencies: - ansi-escapes "^4.3.0" - cli-cursor "^3.1.0" - slice-ansi "^4.0.0" - wrap-ansi "^6.2.0" - -loglevel-colored-level-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz" - integrity sha1-akAhj9x64V/HbD0PPmdsRlOIYD4= - dependencies: - chalk "^1.1.3" - loglevel "^1.4.1" - -loglevel@^1.4.1: - version "1.7.1" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== - -loose-envify@^1.0.0: - version "1.4.0" - resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.25.2: - version "0.25.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz" - integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== - dependencies: - sourcemap-codec "^1.4.4" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz" - integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== - dependencies: - braces "^3.0.1" - picomatch "^2.0.5" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -minimist@^1.2.0, minimist@^1.2.5: - version "1.2.5" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz" - integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multimatch@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz" - integrity sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA== - dependencies: - "@types/minimatch" "^3.0.3" - array-differ "^3.0.0" - array-union "^2.1.0" - arrify "^2.0.1" - minimatch "^3.0.4" - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -node-releases@^1.1.69: - version "1.1.70" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz" - integrity sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw== - -normalize-package-data@^2.3.2: - 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== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-inspect@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz" - integrity sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw== - -object-keys@^1.0.12, object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.0, object.assign@^4.1.2: - version "4.1.2" - resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.values@^1.1.1: - version "1.1.2" - resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz" - integrity sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - has "^1.0.3" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - 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" - -p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" - integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= - dependencies: - p-limit "^1.1.0" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" - integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= - -parent-module@^1.0.0: - 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== - dependencies: - callsites "^3.0.0" - -parse-json@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz" - integrity sha1-9ID0BDTvgHQfhGkJn43qGPVaTck= - dependencies: - error-ex "^1.2.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - 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" - -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" - integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== - -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz" - integrity sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM= - dependencies: - pify "^2.0.0" - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -pify@^2.0.0: - version "2.3.0" - resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" - integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= - -pkg-dir@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz" - integrity sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s= - dependencies: - find-up "^2.1.0" - -please-upgrade-node@^3.2.0: - version "3.2.0" - resolved "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz" - integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg== - dependencies: - semver-compare "^1.0.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-eslint@^12.0.0: - version "12.0.0" - resolved "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-12.0.0.tgz" - integrity sha512-N8SGGQwAosISXTNl1E57sBbtnqUGlyRWjcfIUxyD3HF4ynehA9GZ8IfJgiep/OfYvCof/JEpy9ZqSl250Wia7A== - dependencies: - "@typescript-eslint/parser" "^3.0.0" - common-tags "^1.4.0" - dlv "^1.1.0" - eslint "^7.9.0" - indent-string "^4.0.0" - lodash.merge "^4.6.0" - loglevel-colored-level-prefix "^1.0.0" - prettier "^2.0.0" - pretty-format "^23.0.1" - require-relative "^0.8.7" - typescript "^3.9.3" - vue-eslint-parser "~7.1.0" - -prettier-linter-helpers@^1.0.0: - 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== - dependencies: - fast-diff "^1.1.2" - -prettier@^2.0.0, prettier@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-2.2.1.tgz" - integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q== - -pretty-format@^23.0.1: - version "23.6.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz" - integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw== - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.1.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -query-ast@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/query-ast/-/query-ast-1.0.3.tgz" - integrity sha512-k7z4jilpZCujhiJ+QeKSwYXHc9HxqiVKlVE7/em0zBfPpcqnXKUP8F7ld7XaAkO6oXeAD7yonqcNJWqOF2pSGA== - dependencies: - invariant "2.2.2" - lodash "^4.17.15" - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz" - integrity sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4= - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz" - integrity sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg= - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -readdirp@^3.5.0, readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.2" - resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.4: - version "0.13.7" - resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== - -regenerator-transform@^0.14.2: - version "0.14.5" - resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz" - integrity sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== - dependencies: - "@babel/runtime" "^7.8.4" - -regexpp@^3.0.0, regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.1.0.tgz" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.6" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz" - integrity sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ== - dependencies: - jsesc "~0.5.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - 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== - -require-package-name@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/require-package-name/-/require-package-name-2.0.1.tgz" - integrity sha1-wR6XJ2tluOKSP3Xav1+y7ww4Qbk= - -require-relative@^0.8.7: - version "0.8.7" - resolved "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz" - integrity sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4= - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.10.0, resolve@^1.11.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1: - version "1.19.0" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz" - integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== - dependencies: - is-core-module "^2.1.0" - path-parse "^1.0.6" - -restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup-plugin-babel@^4.4.0: - version "4.4.0" - resolved "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.4.0.tgz" - integrity sha512-Lek/TYp1+7g7I+uMfJnnSJ7YWoD58ajo6Oarhlex7lvUce+RCKRuGRSgztDO3/MF/PuGKmUL5iTHKf208UNszw== - dependencies: - "@babel/helper-module-imports" "^7.0.0" - rollup-pluginutils "^2.8.1" - -rollup-plugin-multi-input@^1.1.1: - version "1.2.0" - resolved "https://registry.npmjs.org/rollup-plugin-multi-input/-/rollup-plugin-multi-input-1.2.0.tgz" - integrity sha512-jLmVLYpIB9sFk3JmzwKFryPqZYv1Dib/GzQEy708hfD/xauwgOyKWk7qhKMQp71mbGTuF59neUst/cnveIii+A== - dependencies: - "@babel/runtime" "^7.0.0-beta.55" - core-js "^3.1.3" - fast-glob "^3.0.0" - lodash "^4.17.11" - -rollup-plugin-terser@^5.3.0: - version "5.3.1" - resolved "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.3.1.tgz" - integrity sha512-1pkwkervMJQGFYvM9nscrUoncPwiKR/K+bHdjv6PFgRo3cgPHoRT83y2Aa3GvINj4539S15t/tpFPb775TDs6w== - dependencies: - "@babel/code-frame" "^7.5.5" - jest-worker "^24.9.0" - rollup-pluginutils "^2.8.2" - serialize-javascript "^4.0.0" - terser "^4.6.2" - -rollup-pluginutils@^2.8.1, rollup-pluginutils@^2.8.2: - version "2.8.2" - resolved "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz" - integrity sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ== - dependencies: - estree-walker "^0.6.1" - -rollup@^2.7.2: - version "2.38.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-2.38.0.tgz" - integrity sha512-ay9zDiNitZK/LNE/EM2+v5CZ7drkB2xyDljvb1fQJCGnq43ZWRkhxN145oV8GmoW1YNi4sA/1Jdkr2LfawJoXw== - optionalDependencies: - fsevents "~2.1.2" - -run-parallel@^1.1.9: - version "1.1.10" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz" - integrity sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw== - -rxjs@^6.6.3: - version "6.6.3" - resolved "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz" - integrity sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ== - dependencies: - tslib "^1.9.0" - -safe-buffer@^5.1.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -sass@^1.29.0: - version "1.32.5" - resolved "https://registry.npmjs.org/sass/-/sass-1.32.5.tgz" - integrity sha512-kU1yJ5zUAmPxr7f3q0YXTAd1oZjSR1g3tYyv+xu0HZSl5JiNOaE987eiz7wCUvbm4I9fGWGU2TgApTtcP4GMNQ== - dependencies: - chokidar ">=2.0.0 <4.0.0" - -scss-parser@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/scss-parser/-/scss-parser-1.0.4.tgz" - integrity sha512-oDZwDfY2JhnDrHNZPcdcPNVTpAXsJBY2/uhFfN0IzMy1xExAfJDcI1Yl/VXhfRsdQL3wLeg6/Oxt3cafBOuMzQ== - dependencies: - invariant "2.2.4" - lodash "^4.17.4" - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" - integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w= - -"semver@2 || 3 || 4 || 5", semver@^5.4.1, semver@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - -semver@^7.2.1, semver@^7.3.2: - version "7.3.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz" - integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz" - integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== - dependencies: - randombytes "^2.1.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slice-ansi@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" - integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - -source-map-support@~0.5.12: - version "0.5.19" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.5.0: - version "0.5.7" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" - integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= - -source-map@^0.6.0, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -sourcemap-codec@^1.4.4: - version "1.4.8" - resolved "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz" - integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== - -spdx-correct@^3.0.0: - version "3.1.1" - resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" - integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.7" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz" - integrity sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -string-argv@0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" - integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.trimend@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz" - integrity sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz" - integrity sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -stringify-object@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz" - integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== - dependencies: - get-own-enumerable-property-symbols "^3.0.0" - is-obj "^1.0.1" - is-regexp "^1.0.0" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.0.0" - -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" - integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - 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== - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - integrity sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -table@^6.0.4: - version "6.0.7" - resolved "https://registry.npmjs.org/table/-/table-6.0.7.tgz" - integrity sha512-rxZevLGTUzWna/qBLObOe16kB2RTnnbhciwgPbMMlazz1yZGVEgnZK762xyVdVznhqxrfCeBMmMkgOOaPwjH7g== - dependencies: - ajv "^7.0.2" - lodash "^4.17.20" - slice-ansi "^4.0.0" - string-width "^4.2.0" - -terser@^4.6.2: - version "4.8.0" - resolved "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz" - integrity sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== - dependencies: - commander "^2.20.0" - source-map "~0.6.1" - source-map-support "~0.5.12" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -through@^2.3.8: - version "2.3.8" - resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" - integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" - integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.1" - minimist "^1.2.0" - strip-bom "^3.0.0" - -tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.17.1: - version "3.19.1" - resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.19.1.tgz" - integrity sha512-GEdoBf5XI324lu7ycad7s6laADfnAqCw6wLGI+knxvw9vsIYBaJfYdmeCEG3FMMUiSm3OGgNb+m6utsWf5h9Vw== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typescript@^3.9.3: - version "3.9.7" - resolved "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz" - integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== - -typescript@^4.1.2: - version "4.1.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz" - integrity sha512-B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg== - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -v8-compile-cache@^2.0.3: - version "2.2.0" - resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.2.0.tgz" - integrity sha512-gTpR5XQNKFwOd4clxfnhaqvfqMpqEwr4tOtCyz4MtYZX2JYhfr1JvBFKdS+7K/9rfpZR3VLX+YWBbKoxCgS43Q== - -validate-npm-package-license@^3.0.1: - 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== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vue-eslint-parser@~7.1.0: - version "7.1.1" - resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.1.tgz" - integrity sha512-8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA== - dependencies: - debug "^4.1.1" - eslint-scope "^5.0.0" - eslint-visitor-keys "^1.1.0" - espree "^6.2.1" - esquery "^1.0.1" - lodash "^4.17.15" - -vue-template-compiler@^2.6.12: - version "2.6.12" - resolved "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz" - integrity sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg== - dependencies: - de-indent "^1.0.2" - he "^1.1.0" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -word-wrap@^1.2.3: - 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== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -xmldom@^0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/xmldom/-/xmldom-0.4.0.tgz" - integrity sha512-2E93k08T30Ugs+34HBSTQLVtpi6mCddaY8uO+pMNk1pqSjV5vElzn4mmh6KLxN3hki8rNcHSYzILoh3TEWORvA== - -y18n@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz" - integrity sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@^1.10.0: - version "1.10.0" - resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - -yargs-parser@^20.2.2: - version "20.2.4" - resolved "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs@^16.1.0: - version "16.2.0" - resolved "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - 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"