@equinor/fusion-framework-cli 15.2.0 → 15.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/bin/build/bin.mjs +1 -1
- package/bin/build/cli.mjs +2 -2
- package/dist/esm/lib/app/{schemas.js → api-app-config-schema.js} +1 -1
- package/dist/esm/lib/app/api-app-config-schema.js.map +1 -0
- package/dist/esm/lib/app/{create-app-manifest.js → create-app-manifest-from-package.js} +10 -8
- package/dist/esm/lib/app/create-app-manifest-from-package.js.map +1 -0
- package/dist/esm/lib/app/{app-config.js → define-app-config.js} +1 -1
- package/dist/esm/lib/app/define-app-config.js.map +1 -0
- package/dist/esm/lib/app/{app-manifest.js → define-app-manifest.js} +1 -1
- package/dist/esm/lib/app/define-app-manifest.js.map +1 -0
- package/dist/esm/lib/app/define-app-package.js +11 -0
- package/dist/esm/lib/app/define-app-package.js.map +1 -0
- package/dist/esm/lib/app/index.js +5 -5
- package/dist/esm/lib/app/index.js.map +1 -1
- package/dist/esm/lib/app/load-app-config.js +1 -1
- package/dist/esm/lib/app/load-app-config.js.map +1 -1
- package/dist/esm/lib/app/load-app-manifest.js +1 -1
- package/dist/esm/lib/app/load-app-manifest.js.map +1 -1
- package/dist/esm/lib/app/merge-app-config.js +1 -0
- package/dist/esm/lib/app/merge-app-config.js.map +1 -1
- package/dist/esm/lib/app/{merge-app-manifest.js → merge-app-manifests.js} +2 -2
- package/dist/esm/lib/app/merge-app-manifests.js.map +1 -0
- package/dist/esm/lib/app/resolve-app-key.js +17 -0
- package/dist/esm/lib/app/resolve-app-key.js.map +1 -0
- package/dist/esm/lib/define-app-config.js +20 -0
- package/dist/esm/lib/define-app-config.js.map +1 -0
- package/dist/esm/lib/define-app-manifest.js +20 -0
- package/dist/esm/lib/define-app-manifest.js.map +1 -0
- package/dist/esm/lib/define-dev-server-config.js +7 -0
- package/dist/esm/lib/define-dev-server-config.js.map +1 -0
- package/dist/esm/lib/{fusion-cli-config.js → define-fusion-cli.js} +1 -1
- package/dist/esm/lib/define-fusion-cli.js.map +1 -0
- package/dist/esm/lib/dev-server.js +2 -1
- package/dist/esm/lib/dev-server.js.map +1 -1
- package/dist/esm/lib/index.js +7 -5
- package/dist/esm/lib/index.js.map +1 -1
- package/dist/esm/lib/load-dev-server-config.js +2 -7
- package/dist/esm/lib/load-dev-server-config.js.map +1 -1
- package/dist/esm/lib/merge-dev-server-config.js +4 -0
- package/dist/esm/lib/merge-dev-server-config.js.map +1 -1
- package/dist/esm/lib/portal/{create-portal-manifest.js → create-portal-manifest-from-package.js} +11 -6
- package/dist/esm/lib/portal/create-portal-manifest-from-package.js.map +1 -0
- package/dist/esm/lib/portal/{portal-config.js → define-portal-config.js} +1 -1
- package/dist/esm/lib/portal/define-portal-config.js.map +1 -0
- package/dist/esm/lib/portal/{portal-manifest.js → define-portal-manifest.js} +5 -17
- package/dist/esm/lib/portal/define-portal-manifest.js.map +1 -0
- package/dist/esm/lib/portal/define-portal-schema.js +8 -0
- package/dist/esm/lib/portal/define-portal-schema.js.map +1 -0
- package/dist/esm/lib/portal/index.js +4 -3
- package/dist/esm/lib/portal/index.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-manifest.js +7 -2
- package/dist/esm/lib/portal/load-portal-manifest.js.map +1 -1
- package/dist/esm/lib/portal/load-portal-schema.js +0 -7
- package/dist/esm/lib/portal/load-portal-schema.js.map +1 -1
- package/dist/esm/lib/portal/{portal-manifest.schema.js → portal-manifest-build-schema.js} +5 -30
- package/dist/esm/lib/portal/portal-manifest-build-schema.js.map +1 -0
- package/dist/esm/lib/portal/portal-manifest-schema.js +31 -0
- package/dist/esm/lib/portal/portal-manifest-schema.js.map +1 -0
- package/dist/esm/lib/portal/validate-portal-manifest.js +15 -0
- package/dist/esm/lib/portal/validate-portal-manifest.js.map +1 -0
- package/dist/esm/lib/static.js +3 -1
- package/dist/esm/lib/static.js.map +1 -1
- package/dist/esm/lib/utils/assert-object.js +25 -0
- package/dist/esm/lib/utils/assert-object.js.map +1 -0
- package/dist/esm/lib/utils/assert.js +1 -135
- package/dist/esm/lib/utils/assert.js.map +1 -1
- package/dist/esm/lib/utils/{extension-filter.js → create-extension-filter-pattern.js} +6 -2
- package/dist/esm/lib/utils/create-extension-filter-pattern.js.map +1 -0
- package/dist/esm/lib/utils/fetch-latest-version.js +26 -0
- package/dist/esm/lib/utils/fetch-latest-version.js.map +1 -0
- package/dist/esm/lib/utils/fetch-package-info.js +65 -0
- package/dist/esm/lib/utils/fetch-package-info.js.map +1 -0
- package/dist/esm/lib/utils/file-exists-sync.js +29 -0
- package/dist/esm/lib/utils/file-exists-sync.js.map +1 -0
- package/dist/esm/lib/utils/file-exists.js +2 -27
- package/dist/esm/lib/utils/file-exists.js.map +1 -1
- package/dist/esm/lib/utils/{snapshot.js → generate-snapshot-version.js} +2 -1
- package/dist/esm/lib/utils/generate-snapshot-version.js.map +1 -0
- package/dist/esm/lib/utils/index.js +4 -3
- package/dist/esm/lib/utils/index.js.map +1 -1
- package/dist/esm/lib/utils/is-git-dir.js +1 -0
- package/dist/esm/lib/utils/is-git-dir.js.map +1 -1
- package/dist/esm/lib/utils/{parse-json-request.js → parse-json-from-request.js} +1 -1
- package/dist/esm/lib/utils/parse-json-from-request.js.map +1 -0
- package/dist/esm/lib/utils/resolve-annotations.js +3 -0
- package/dist/esm/lib/utils/resolve-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-devops-annotations.js +1 -0
- package/dist/esm/lib/utils/resolve-devops-annotations.js.map +1 -1
- package/dist/esm/lib/utils/{resolve-source-entry-point.js → resolve-entry-point.js} +3 -2
- package/dist/esm/lib/utils/resolve-entry-point.js.map +1 -0
- package/dist/esm/lib/utils/resolve-git-commit-sha.js +1 -1
- package/dist/esm/lib/utils/resolve-git-commit-sha.js.map +1 -1
- package/dist/esm/lib/utils/resolve-git-remote-url.js +1 -1
- package/dist/esm/lib/utils/resolve-git-remote-url.js.map +1 -1
- package/dist/esm/lib/utils/resolve-github-annotations.js +4 -0
- package/dist/esm/lib/utils/resolve-github-annotations.js.map +1 -1
- package/dist/esm/lib/utils/resolve-package.js +1 -0
- package/dist/esm/lib/utils/resolve-package.js.map +1 -1
- package/dist/esm/lib/utils/{resolve-package-repo.js → resolve-repo-from-package.js} +2 -1
- package/dist/esm/lib/utils/resolve-repo-from-package.js.map +1 -0
- package/dist/esm/lib/utils/safe-rm-sync.js +20 -0
- package/dist/esm/lib/utils/safe-rm-sync.js.map +1 -0
- package/dist/esm/lib/utils/{path-security.js → validate-safe-path.js} +3 -19
- package/dist/esm/lib/utils/validate-safe-path.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/bin/{portal-build.d.ts → build-portal.d.ts} +1 -1
- package/dist/types/bin/{app-check.d.ts → check-app.d.ts} +2 -1
- package/dist/types/bin/configure-framework.d.ts +58 -0
- package/dist/types/bin/fusion-env.d.ts +24 -0
- package/dist/types/bin/{portal-config.d.ts → generate-portal-config.d.ts} +1 -1
- package/dist/types/bin/helpers/ProjectTemplate.d.ts +7 -1
- package/dist/types/bin/helpers/ProjectTemplateRepository.d.ts +15 -0
- package/dist/types/bin/helpers/install-package-dependencies.d.ts +1 -0
- package/dist/types/bin/helpers/parse-templates-manifest.d.ts +20 -0
- package/dist/types/bin/helpers/resolve-app-from-artifact.d.ts +1 -1
- package/dist/types/bin/helpers/{project-templates.schema.d.ts → template.schemas.d.ts} +7 -26
- package/dist/types/bin/index.d.ts +23 -20
- package/dist/types/bin/initialize-framework.d.ts +39 -0
- package/dist/types/bin/{app-config-publish.d.ts → publish-app-config.d.ts} +2 -2
- package/dist/types/bin/{portal-config-publish.d.ts → publish-portal-config.d.ts} +2 -1
- package/dist/types/bin/resolve-default-env.d.ts +8 -0
- package/dist/types/bin/{portal-tag.d.ts → tag-portal.d.ts} +1 -1
- package/dist/types/bin/{app-upload.d.ts → upload-application.d.ts} +1 -1
- package/dist/types/bin/{portal-upload.d.ts → upload-portal-bundle.d.ts} +1 -1
- package/dist/types/bin/utils/ConsoleLogger.d.ts +1 -1
- package/dist/types/bin/utils/{spinner.d.ts → Spinner.d.ts} +8 -0
- package/dist/types/bin/utils/auth-error-docs.d.ts +7 -0
- package/dist/types/bin/utils/create-dev-server-config.d.ts +47 -0
- package/dist/types/bin/utils/create-dev-server.d.ts +2 -47
- package/dist/types/bin/utils/env-token-hint.d.ts +7 -0
- package/dist/types/bin/utils/format-auth-error.d.ts +0 -17
- package/dist/types/bin/utils/format-byte-size.d.ts +16 -0
- package/dist/types/bin/utils/format-path.d.ts +16 -0
- package/dist/types/bin/utils/format-token-acquisition-error.d.ts +17 -0
- package/dist/types/bin/utils/index.d.ts +9 -5
- package/dist/types/bin/utils/normalize-dev-server-config.d.ts +24 -0
- package/dist/types/cli/commands/app/default-archive.d.ts +4 -0
- package/dist/types/cli/commands/app/{pack.d.ts → pack.command.d.ts} +0 -1
- package/dist/types/cli/commands/create/_helpers/check-target-directory.d.ts +1 -0
- package/dist/types/cli/options/{env.d.ts → create-env-option.d.ts} +0 -5
- package/dist/types/cli/options/options.d.ts +20 -0
- package/dist/types/cli/options/{auth.d.ts → with-auth-options.d.ts} +0 -20
- package/dist/types/cli/plugins/load-plugins.d.ts +9 -0
- package/dist/types/lib/app/{app-config.d.ts → define-app-config.d.ts} +2 -2
- package/dist/types/lib/app/define-app-package.d.ts +26 -0
- package/dist/types/lib/app/index.d.ts +5 -5
- package/dist/types/lib/app/load-app-config.d.ts +2 -2
- package/dist/types/lib/app/load-app-manifest.d.ts +1 -1
- package/dist/types/lib/app/resolve-app-key.d.ts +11 -0
- package/dist/types/lib/define-app-config.d.ts +12 -0
- package/dist/types/lib/define-app-manifest.d.ts +12 -0
- package/dist/types/lib/define-dev-server-config.d.ts +21 -0
- package/dist/types/lib/dev-server.d.ts +2 -1
- package/dist/types/lib/index.d.ts +6 -4
- package/dist/types/lib/load-dev-server-config.d.ts +1 -20
- package/dist/types/lib/portal/{create-portal-manifest.d.ts → create-portal-manifest-from-package.d.ts} +1 -1
- package/dist/types/lib/portal/{portal-manifest.d.ts → define-portal-manifest.d.ts} +5 -13
- package/dist/types/lib/portal/define-portal-schema.d.ts +24 -0
- package/dist/types/lib/portal/index.d.ts +4 -3
- package/dist/types/lib/portal/load-portal-config.d.ts +1 -1
- package/dist/types/lib/portal/load-portal-manifest.d.ts +1 -1
- package/dist/types/lib/portal/load-portal-schema.d.ts +1 -23
- package/dist/types/lib/portal/portal-manifest-build-schema.d.ts +32 -0
- package/dist/types/lib/portal/{portal-manifest.schema.d.ts → portal-manifest-schema.d.ts} +0 -31
- package/dist/types/lib/portal/validate-portal-manifest.d.ts +11 -0
- package/dist/types/lib/static.d.ts +0 -9
- package/dist/types/lib/utils/assert-object.d.ts +20 -0
- package/dist/types/lib/utils/assert.d.ts +1 -100
- package/dist/types/lib/utils/fetch-latest-version.d.ts +20 -0
- package/dist/types/lib/utils/{package-info.d.ts → fetch-package-info.d.ts} +0 -45
- package/dist/types/lib/utils/file-exists-sync.d.ts +21 -0
- package/dist/types/lib/utils/file-exists.d.ts +0 -15
- package/dist/types/lib/utils/index.d.ts +4 -3
- package/dist/types/lib/utils/safe-rm-sync.d.ts +15 -0
- package/dist/types/lib/utils/{path-security.d.ts → validate-safe-path.d.ts} +0 -15
- package/dist/types/version.d.ts +1 -1
- package/package.json +11 -11
- package/dist/esm/lib/app/app-config.js.map +0 -1
- package/dist/esm/lib/app/app-manifest.js.map +0 -1
- package/dist/esm/lib/app/app-package.js +0 -92
- package/dist/esm/lib/app/app-package.js.map +0 -1
- package/dist/esm/lib/app/create-app-manifest.js.map +0 -1
- package/dist/esm/lib/app/merge-app-manifest.js.map +0 -1
- package/dist/esm/lib/app/schemas.js.map +0 -1
- package/dist/esm/lib/fusion-cli-config.js.map +0 -1
- package/dist/esm/lib/legacy.js +0 -38
- package/dist/esm/lib/legacy.js.map +0 -1
- package/dist/esm/lib/portal/create-portal-manifest.js.map +0 -1
- package/dist/esm/lib/portal/portal-config.js.map +0 -1
- package/dist/esm/lib/portal/portal-manifest.js.map +0 -1
- package/dist/esm/lib/portal/portal-manifest.schema.js.map +0 -1
- package/dist/esm/lib/utils/extension-filter.js.map +0 -1
- package/dist/esm/lib/utils/package-info.js +0 -135
- package/dist/esm/lib/utils/package-info.js.map +0 -1
- package/dist/esm/lib/utils/parse-json-request.js.map +0 -1
- package/dist/esm/lib/utils/path-security.js.map +0 -1
- package/dist/esm/lib/utils/resolve-package-repo.js.map +0 -1
- package/dist/esm/lib/utils/resolve-source-entry-point.js.map +0 -1
- package/dist/esm/lib/utils/snapshot.js.map +0 -1
- package/dist/types/bin/framework.node.d.ts +0 -123
- package/dist/types/bin/utils/format.d.ts +0 -35
- package/dist/types/cli/plugins/loader.d.ts +0 -2
- package/dist/types/lib/app/app-package.d.ts +0 -76
- package/dist/types/lib/legacy.d.ts +0 -24
- /package/dist/types/bin/{app-build.d.ts → build-application.d.ts} +0 -0
- /package/dist/types/bin/{app-pack.d.ts → bundle-app.d.ts} +0 -0
- /package/dist/types/bin/{portal-pack.d.ts → bundle-portal.d.ts} +0 -0
- /package/dist/types/bin/{app-config.d.ts → generate-application-config.d.ts} +0 -0
- /package/dist/types/bin/helpers/{load-bundle-metadata.d.ts → load-metadata.d.ts} +0 -0
- /package/dist/types/bin/{app-manifest.d.ts → load-app-manifest.d.ts} +0 -0
- /package/dist/types/bin/{portal-manifest.d.ts → load-portal-manifest.d.ts} +0 -0
- /package/dist/types/bin/{app-serve.d.ts → serve-application.d.ts} +0 -0
- /package/dist/types/bin/{portal-serve.d.ts → serve-portal.d.ts} +0 -0
- /package/dist/types/bin/{app-dev.d.ts → start-app-dev-server.d.ts} +0 -0
- /package/dist/types/bin/{portal-dev.d.ts → start-portal-dev-server.d.ts} +0 -0
- /package/dist/types/bin/{app-tag.d.ts → tag-application.d.ts} +0 -0
- /package/dist/types/bin/utils/{defaultHeaders.d.ts → default-headers.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{build.d.ts → build.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{check.d.ts → check.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{config.d.ts → config.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{dev.d.ts → dev.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{manifest.d.ts → manifest.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{publish.d.ts → publish.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{serve.d.ts → serve.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{tag.d.ts → tag.command.d.ts} +0 -0
- /package/dist/types/cli/commands/app/{upload.d.ts → upload.command.d.ts} +0 -0
- /package/dist/types/cli/commands/auth/{login.d.ts → login.command.d.ts} +0 -0
- /package/dist/types/cli/commands/auth/{logout.d.ts → logout.command.d.ts} +0 -0
- /package/dist/types/cli/commands/auth/{token.d.ts → token.command.d.ts} +0 -0
- /package/dist/types/cli/commands/create/_helpers/{resolve-workspace-dependencies.d.ts → resolve-package-json-workspace-dependencies.d.ts} +0 -0
- /package/dist/types/cli/commands/create/{app.d.ts → create-app-command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{build.d.ts → build.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{config.d.ts → config.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{dev.d.ts → dev.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{manifest.d.ts → manifest.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{pack.d.ts → pack.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{publish.d.ts → publish.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{schema.d.ts → schema.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{serve.d.ts → serve.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{tag.d.ts → tag.command.d.ts} +0 -0
- /package/dist/types/cli/commands/portal/{upload.d.ts → upload.command.d.ts} +0 -0
- /package/dist/types/lib/app/{schemas.d.ts → api-app-config-schema.d.ts} +0 -0
- /package/dist/types/lib/app/{create-app-manifest.d.ts → create-app-manifest-from-package.d.ts} +0 -0
- /package/dist/types/lib/app/{app-manifest.d.ts → define-app-manifest.d.ts} +0 -0
- /package/dist/types/lib/app/{merge-app-manifest.d.ts → merge-app-manifests.d.ts} +0 -0
- /package/dist/types/lib/{fusion-cli-config.d.ts → define-fusion-cli.d.ts} +0 -0
- /package/dist/types/lib/portal/{portal-config.d.ts → define-portal-config.d.ts} +0 -0
- /package/dist/types/lib/utils/{extension-filter.d.ts → create-extension-filter-pattern.d.ts} +0 -0
- /package/dist/types/lib/utils/{snapshot.d.ts → generate-snapshot-version.d.ts} +0 -0
- /package/dist/types/lib/utils/{parse-json-request.d.ts → parse-json-from-request.d.ts} +0 -0
- /package/dist/types/lib/utils/{resolve-source-entry-point.d.ts → resolve-entry-point.d.ts} +0 -0
- /package/dist/types/lib/utils/{resolve-package-repo.d.ts → resolve-repo-from-package.d.ts} +0 -0
package/bin/build/bin.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{loadConfigFromFile as e,mergeConfig as t,build as n}from"vite";import r from"chalk";import i from"vite-tsconfig-paths";import o,{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"node:module";import m from"util";import g,{accessSync as v,constants as y,readFileSync as E,statSync as b,existsSync as w,mkdirSync as L,writeFileSync as I}from"node:fs";import{stat as S,mkdir as C}from"node:fs/promises";import{importConfig as _,FileNotFoundError as D}from"@equinor/fusion-imports";import P from"deepmerge";import{rawImportsPlugin as N}from"@equinor/fusion-framework-vite-plugin-raw-imports";import O from"node:assert";import{execSync as A}from"node:child_process";import{coerce as $,SemVer as R,satisfies as T}from"semver";import x,{z as F}from"zod";import k from"fs";import U from"path";import B from"zlib";import M from"crypto";import G from"ora";import{createDevServer as j,processServices as z}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as H}from"@equinor/fusion-framework-module-azure-identity";function q(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V,W,Z,K;function Y(){if(W)return V;W=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return V=e}function X(){if(K)return Z;K=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Z={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var J,Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe={exports:{}};function pe(){return J||(J=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=X(),o=Y(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(fe,fe.exports)),fe.exports}function de(){if(ie)return re;ie=1;const e=Y(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=X(),{safeRe:r,t:i}=pe(),o=function(){if(ee)return Q;ee=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return Q=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(ne)return te;ne=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return te={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return re=a}function he(){if(se)return oe;se=1;const e=de();return oe=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},oe}var me,ge,ve,ye,Ee,be,we,Le,Ie,Se,Ce=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","ALGLIB-Documentation","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Advanced-Cryptics-Dictionary","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BOLA-1.1","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-Tso","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Mark-Modifications","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","Buddy","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CAPEC-tou","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","ESA-PL-permissive-2.4","ESA-PL-strong-copyleft-2.4","ESA-PL-weak-copyleft-2.4","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-SMC","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HPND-sell-variant-critical-systems","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ISO-permission","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-STK","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MMPL-1.0.1","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-TNT","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSC-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OSSP","OpenMDW-1.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","ParaType-Free-Font-1.3","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGMLUG-PM","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TekHVC","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","UnRAR","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","Vixie-Cron","W3C","W3C-19980720","W3C-20150513","WTFNMFPL","WTFPL","Watcom-1.0","Widget-Workshop","WordNet","Wsuipa","X11","X11-distribute-modifications-variant","X11-no-permit-persons","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","hyphen-bulgarian","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],_e=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],De=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Pe(){if(ge)return me;ge=1;var e=[].concat(Ce).concat(_e),t=De;return me=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Ne(){return ye?ve:(ye=1,ve=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Oe(){if(be)return Ee;be=1;var e=Pe(),t=Ne();return Ee=function(n){return t(e(n))}}function Ae(){if(Se)return Ie;Se=1;var e=Oe(),t=function(){if(Le)return we;Le=1;var e=Oe(),t=Ce;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return we=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Ie=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var $e,Re,Te,xe,Fe,ke,Ue,Be,Me,Ge,je,ze={};function He(){if($e)return ze;$e=1;var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),t=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t={hasSubscribers:!1};e.metrics=t,e.tracing=t}),n=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultPerf=void 0,e.defaultPerf="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date});Object.defineProperty(ze,"__esModule",{value:!0}),ze.LRUCache=void 0;var r=t(),i=n(),o=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},p=class e{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#I;#S;#C;#_;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#P(t,n,r,i),moveToTail:t=>e.#N(t),indexes:t=>e.#O(t),rindexes:t=>e.#A(t),isStale:t=>e.#$(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:u,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:I,memoMethod:S,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:P,ignoreFetchAbort:N,perf:O}=t;if(void 0!==O&&"function"!=typeof O?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=O??i.defaultPerf,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let A=n?l(n):Array;if(!A)throw new Error("invalid max value: "+n);if(this.#e=n,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==I&&"function"!=typeof I)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=I,this.#S=!!I,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new A(n),this.#h=new A(n),this.#m=0,this.#g=0,this.#v=f.create(n),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#I=!!this.#n,this.#_=!!this.#r,this.#C=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!P,this.ignoreFetchAbort=!!N,0!==this.maxEntrySize){if(0!==this.#t&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#R()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(o)||0===o?o:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#F=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let r=setTimeout(()=>{this.#$(e)&&this.#k(this.#f[e],"expire")},t+1);r.unref&&r.unref(),n[e]=r}}:()=>{};this.#U=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=n=>{let r=this.#u.get(n);if(void 0===r)return 0;let s=e[r],a=t[r];return s&&a?s-((i||o())-a):1/0},this.#$=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#U=()=>{};#x=()=>{};#$=()=>!1;#R(){let e=new u(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#M=(e,t,n,r)=>{if(this.#D(t))return 0;if(!c(n)){if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!c(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#G=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#G=(e,t,n)=>{};#M=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#O({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#z(t)&&((e||!this.#$(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#z(t)&&((e||!this.#$(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#z(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#O())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#O()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#O())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.#H(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#$(t)&&(this.#k(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#O({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t),i.cache=this);let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n,r){let{ttl:i=this.ttl,start:o,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:c}=n;if(void 0===t)return c&&(c.set="deleted"),this.delete(e),this;let{noUpdateTTL:l=this.noUpdateTTL}=n,u=this.#D(t);c&&!u&&(c.value=t);let f=this.#M(e,t,n.size||0,a,c);if(this.maxEntrySize&&f>this.maxEntrySize)return this.#k(e,"set"),c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this;let p=0===this.#c?void 0:this.#u.get(e);if(void 0===p)p=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[p]=e,this.#p[p]=t,this.#u.set(e,p),this.#d[this.#g]=p,this.#h[p]=this.#g,this.#g=p,this.#c++,this.#G(p,f,c),c&&(c.set="add"),l=!1,this.#_&&!u&&this.#r?.(t,e,"add");else{this.#N(p);let n=this.#p[p];if(t!==n){if(!s)if(this.#D(n)){n!==r&&n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:i}=n;void 0!==i&&i!==t&&(this.#I&&this.#n?.(i,e,"set"),this.#C&&this.#y?.push([i,e,"set"]))}else this.#I&&this.#n?.(n,e,"set"),this.#C&&this.#y?.push([n,e,"set"]);if(this.#B(p),this.#G(p,f,c),this.#p[p]=t,!u){let r=n&&this.#D(n)?n.__staleWhileFetching:n,i=void 0===r?"add":t!==r?"replace":"update";c&&(c.set=i,void 0!==r&&(c.oldValue=r)),this.#_&&this.onInsert?.(t,e,i)}}else u||(c&&(c.set="update"),this.#_&&this.onInsert?.(t,e,"update"))}if(0!==i&&!this.#w&&this.#T(),this.#w&&(l||this.#x(p,i,o),c&&this.#U(c,p)),!s&&this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t],i=this.#D(r);i&&r.__abortController.abort(new Error("evicted"));let o=i?r.__staleWhileFetching:r;return(this.#I||this.#C)&&void 0!==o&&(this.#I&&this.#n?.(o,n,"evict"),this.#C&&this.#y?.push([o,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e,n.cache=this);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#$(i))return n&&this.#F(i),r&&(r.has="hit",this.#U(r,i)),!0;r&&(r.has="stale",this.#U(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{status:n=(o()?{}:void 0)}=t;n&&(n.op="peek",n.key=e,n.cache=this),t.status=n;let i=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#$(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#P(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#k(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options,p))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#k(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),s&&s instanceof Promise?s.then(e=>t(void 0===e?void 0:e),r):void 0!==s&&t(s)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#Z(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#Z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0),g.cache=this),!this.#S)return g&&(g.fetch="get"),this.#H(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#P(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#$(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#N(E),r&&this.#F(E),g&&this.#U(g,E),t;let o=this.#P(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#K(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#K(e,t={}){let n=await this.#Z(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context),n.cache=this);let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#H(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e,n.cache=this);let i=this.#H(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#H(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0===s)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#U(o,s),this.#$(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#k(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#N(s),r&&this.#F(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#N(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#k(e,"delete")}#k(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e,cache:this});let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L?.[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#I||this.#C)&&(this.#I&&this.#n?.(n,e,t),this.#C&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#C&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#J("delete")}#J(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#I&&this.#n?.(n,r,e),this.#C&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return ze.LRUCache=p,ze}function qe(){if(Fe)return xe;Fe=1;const e=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},t=e=>{try{return new URL(e)}catch{}};return xe=(n,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(n,r):n;return t(i)||t((t=>{const n=e(t,"@","#"),r=e(t,":","#");return r>n&&(t=t.slice(0,r)+"/"+t.slice(r+1)),-1===e(t,":","#")&&-1===t.indexOf("//")&&(t=`git+ssh://${t}`),t})(i))}}function Ve(){if(Ue)return ke;Ue=1;const e=qe();return ke=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function We(){if(Me)return Be;Me=1;const{LRUCache:e}=He(),t=function(){if(Te)return Re;Te=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/api/v4/projects/${t(n+"/"+r)}/repository/archive.tar.gz?sha=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return Re=i}(),n=Ve(),r=qe(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#Q,protocols:o.#ee});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#te(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Be=o}var Ze,Ke,Ye={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Xe(){if(Ke)return Ze;Ke=1;var{URL:e}=p,t=function(){if(ce)return ae;ce=1;const e=he();return ae=(t,n)=>{const r=e(t,n);return r?r.version:null},ae}(),n=function(){if(ue)return le;ue=1;const e=he();return le=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},le}(),r=Ae(),i=We(),{isBuiltin:o}=h,s=["dependencies","devDependencies","optionalDependencies"],a=je?Ge:(je=1,Ge=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Ye,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ze={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ze}var Je,Qe,et,tt,nt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function rt(){if(Qe)return Je;Qe=1;var e=m,t=nt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Je=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Je}var it=function(){if(tt)return et;tt=1,et=r;var e=Xe();r.fixer=e;var t=rt(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),et}(),ot=q(it);const st=(e,t)=>{try{return v(e,y.F_OK),!0}catch(e){return!1}},at=["index.ts","index.tsx","main.ts","main.tsx"],ct=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=at,o=i.map(e=>a(r,e)).find(e=>st(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},lt=(e,t)=>P(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ut=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,ft=/\b(route|index|layout|prefix)\s*\(/g,pt=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,dt=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,ht=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,mt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,gt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,vt=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,yt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,Et=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,bt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,wt=/\bprefix\s*\(\s*([^,]+)\s*,\s*\[/g,Lt=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"];?\s*/g,It=/export\s+const\s+\w+\s*=\s*/g,St=/^import\s+.*?;$/gm,Ct=/export\s+default|export\s*{\s*default\s*}/,_t=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Dt=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Pt(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(g.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(g.existsSync(t))return t}return null}(e,o.dirname(t));if(!i)return n&&console.warn(`[fusion:react-router] File not found: ${e} (resolved from: ${t})`),r;const s=g.readFileSync(i,"utf-8");s.match(Ct)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback","shouldRevalidate"];for(const e of a)(s.match(_t(e))||s.match(Dt(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function Nt(e){const t=[];return e.availableExports.has("default")&&t.push(`Component: ${e.component}`),e.clientLoader&&t.push(`loader: ${e.clientLoader}`),e.action&&t.push(`action: ${e.action}`),e.handle&&t.push(`handle: ${e.handle}`),e.errorElement&&t.push(`errorElement: ${e.errorElement}`),e.hydrateFallback&&t.push(`HydrateFallback: ${e.hydrateFallback}`),e.shouldRevalidate&&t.push(`shouldRevalidate: ${e.shouldRevalidate}`),t.join(",\n ")}function Ot(e,t,n,r){let i=1,o=t+1;for(;o<e.length&&i>0;){if(e[o]===n&&i++,e[o]===r&&i--,0===i)return o;o++}return null}const At=(e={})=>{const{debug:t=!1}=e;let n;return{name:"fusion:react-router",config(e){n=e.root??process.cwd(),t&&console.log("[fusion:react-router] Project root:",n)},transform(e,r){try{if(!n||!r.startsWith(n)||r.includes("node_modules"))return null;if(!e.match(ut))return null;if(!e.match(ft))return t&&console.log("[fusion:react-router] File has DSL imports but no route calls, skipping transformation"),null;t&&console.log("[fusion:react-router] Transforming file:",r.replace(n,""));const i=function(e){const t=new Set,n=e=>{var n;e&&((n=e).startsWith("./")||n.startsWith("../"))&&t.add(e)};let r=pt.exec(e);for(;null!==r;)n(r[1]),r=pt.exec(e);for(r=dt.exec(e);null!==r;)n(r[2]),r=dt.exec(e);for(r=ht.exec(e);null!==r;)n(r[1]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[1]),r=mt.exec(e);for(r=gt.exec(e);null!==r;)n(r[1]),r=gt.exec(e);return t}(e);if(0===i.size)return null;const s=new Map;i.forEach(e=>{const n=function(e){const t=o.basename(e,o.extname(e));return t.charAt(0).toUpperCase()+t.slice(1).replace(/[-_](.)/g,(e,t)=>t.toUpperCase())}(e),i=Pt(e,r,t);s.set(e,{component:n,clientLoader:i.has("clientLoader")?`clientLoader${n}`:void 0,action:i.has("action")?`action${n}`:void 0,handle:i.has("handle")?`handle${n}`:void 0,errorElement:i.has("ErrorElement")?`ErrorElement${n}`:void 0,hydrateFallback:i.has("HydrateFallback")?`HydrateFallback${n}`:void 0,shouldRevalidate:i.has("shouldRevalidate")?`shouldRevalidate${n}`:void 0,availableExports:i})});const a=function(e,t){const n=[];return t&&n.push("import React from 'react';","import { useLoaderData, useActionData, useRouteError, useRouterContext, routerContext } from '@equinor/fusion-framework-react-router';"),e.forEach((e,t)=>{const r=[];e.availableExports.has("default")&&r.push(`default as ${e.component}`),e.clientLoader&&r.push(`clientLoader as ${e.clientLoader}`),e.action&&r.push(`action as ${e.action}`),e.handle&&r.push(`handle as ${e.handle}`),e.errorElement&&r.push(`ErrorElement as ${e.errorElement}`),e.hydrateFallback&&r.push(`HydrateFallback as ${e.hydrateFallback}`),e.shouldRevalidate&&r.push(`shouldRevalidate as ${e.shouldRevalidate}`),r.length>0&&n.push(`import {\n ${r.join(",\n ")}\n} from '${t}';`)}),n}(s,i.size>0);let c=e;return c=c.replace(pt,'"$1"'),c=c.replace(vt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n index: true,\n ${Nt(n)}\n }`}),c=c.replace(yt,(e,t)=>{const n=s.get(t);if(!n)return e;return`{\n ${Nt(n)}\n }`}),c=function(e,t,n,r,i){let o=e,s=!0;for(;s;){s=!1;const e=Array.from(o.matchAll(t));for(const t of e){const e=t.index??-1;if(e<0)continue;const a=t[1],c=e+t[0].length,l=o.indexOf("(",e);if(-1===l)continue;const u=Ot(o,l,"(",")");if(null===u)continue;const f=o.slice(c,u).trim();if(n.test(f))continue;const p=r(a,f,i.get(a));if(null!==p){const t=o.slice(0,e),n=o.slice(u+1);o=t+p+n,s=!0;break}}}return o}(c,Et,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${Nt(n)},\n children: ${t}\n }`},s),c=c.replace(bt,(e,t,n)=>{const r=s.get(n);if(!r)return e;return`{\n path: ${t},\n ${Nt(r)}\n }`}),c=function(e){let t=e,n=!0;for(;n;){n=!1;let e=wt.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=Ot(t,o,"[","]");if(null===s){e=wt.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=wt.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=wt.exec(t);continue}const l=t.slice(0,r),u=t.slice(c+1);t=`${l}{\n path: ${i},\n children: [${a}]\n }${u}`,n=!0;break}}return t}(c),c=c.replace(Lt,""),c=function(e){let t=e,n=It.exec(t);for(;null!==n;){const e=n.index+n[0].length;let r=e;for(;r<t.length&&/\s/.test(t[r]);)r++;if("{"===t[r]){const i=Ot(t,r,"{","}");if(null!==i){const o=t.slice(r,i+1);if(o.includes("Component:")&&!t.slice(e,r).trim().startsWith("[")){const r=t.slice(0,e),s=t.slice(i+1);t=`${r}[${o}]${s}`,It.lastIndex=0,n=It.exec(t);continue}}}n=It.exec(t)}return t}(c),c=function(e,t){const n=e.match(St);if(n&&n.length>0){const r=n[n.length-1],i=e.lastIndexOf(r)+r.length;return e.slice(0,i)+"\n"+t.join("\n")+"\n"+e.slice(i)}return`${t.join("\n")}\n${e}`}(c,a),c}catch(t){return console.error("[fusion:react-router] Error during transformation:",t),e}}}},$t=async(n,r)=>{const{packageJson:o,root:a}=r,{config:u}=await e(n)??{},f=o.main??o.module??"./dist/bundle.js",p=ct(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[i(),At({debug:!0}),N({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function Rt(e,t){O("object"==typeof e,t)}const Tt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},xt=()=>{try{return A("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},Ft=(e="HEAD")=>{try{return A(`git rev-parse ${e}`).toString().trim()}catch(e){return}},kt=()=>{try{return A("git branch --show-current").toString().trim()||void 0}catch{return}},Ut="15.2.0",Bt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},Mt=()=>{const e={cliVersion:Ut,source:"local",reason:"manual"};if("true"===process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=E(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:{...n,branch:Bt(t.ref??process.env.GITHUB_REF)}}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return{...e,branch:kt()}},Gt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const jt=(e,t,n)=>{Rt(t,"expected packageJson"),O(t.name,"expected [name] in packageJson"),O(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":ct(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=$(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=Tt(t)??xt();return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:Ft(),annotations:Mt(),projectPage:t.homepage,allowedExtensions:Gt.map(e=>`.${e}`)}}},zt=(e,t)=>P(e,t),Ht=F.object({environment:F.record(F.string(),F.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:F.record(F.string(),F.object({url:F.string({message:"The endpoint URL. This field is required."}),scopes:F.array(F.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),qt=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Vt=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],Wt=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],Zt=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Kt=(e,t,n)=>{let r=e;return"string"==typeof t||Array.isArray(t)?r=e.toLocaleString(t,n):!0!==t&&void 0===n||(r=e.toLocaleString(void 0,n)),r},Yt=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Xt=(e,t)=>{if(void 0===t)return e;if("number"!=typeof t||!Number.isSafeInteger(t)||t<0)throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof t}: ${t}`);return 0===t?e:e.length<t?e.padStart(t," "):e};function Jt(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);const n=(t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).bits?t.binary?Zt:Wt:t.binary?Vt:qt,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Xt(` 0${r}${n[0]}`,t.fixedWidth)}const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);const a=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n)return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}})(t);let c;if(e<1){c=s+Kt(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):Yt(l)*Math.log(10))/Math.log(1024):Yt(e)/3),n.length-1);if(e=((e,t)=>{if("number"==typeof e)return e/t;const n=e/BigInt(t),r=e%BigInt(t);return Number(n)+Number(r)/t})(e,(t.binary?1024:1e3)**i),!a){const t=Math.max(3,Math.floor(e).toString().length);e=e.toPrecision(t)}c=s+Kt(Number(e),t.locale,a)+r+n[i]}var l;return Xt(c,t.fixedWidth)}const Qt=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),en=e=>"string"==typeof e?en(b(e).size):r.yellowBright(Jt(e)),tn=async(e,t,n)=>{const i=jt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:r}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await _(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return zt(r,t??{})}return zt(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:i,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",Qt(r,{relative:!0})),t}catch(e){if(e instanceof D){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${Qt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?Qt(n?.manifestPath):""}`),e}};async function nn(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return ot(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("📦",r.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("🏠",r.blueBright(t.root)),t}catch(t){throw e?.fail("☠️","failed to resolve project package"),t}}const rn=async e=>{const{log:t}=e??{},n=await nn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await tn(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},on=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await rn({log:t,manifest:e?.manifest,snapshot:i});t?.start("loading vite config...");const c=await $t(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("🤞🏻","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed 😘");return{pkg:s,manifest:o,outDir:c.build.outDir}};var sn,an,cn={exports:{}};function ln(){return an?sn:(an=1,sn={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var un,fn,pn,dn,hn,mn,gn,vn,yn={};function En(){return un||(un=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(yn)),yn}function bn(){return vn||(vn=1,cn.exports=function(){if(pn)return fn;pn=1;const e=k,t=U,n=ln(),r=En(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return fn=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){if(!e.message||!e.message.startsWith("ENOENT"))throw e;t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){if(!t)try{s.makeDir(l)}catch(e){return o(!1)}const r=function(t){s.fs.write(t,n,0,n.length,0,function(n){s.fs.close(t,function(){if(n)return o(!1);s.fs.chmod(e,i||438,function(){o(!0)})})})};s.fs.open(e,"w",438,function(t,n){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(e,t){if(e||!t)return o(!1);r(t)})}):n?r(n):o(!1)})})})})},a.prototype.findFiles=function(e){const n=this;return function e(r,i,o,s){let a=[];return n.fs.readdirSync(r).forEach(function(c){const l=t.join(r,c),u=n.fs.statSync(l);if(a.push(t.normalize(l)+(u.isDirectory()?n.sep:"")),u.isDirectory()&&o){const t=n.fs.realpathSync(l);s.has(t)||(s.add(t),a=a.concat(e(l,i,o,s)))}}),a}(e,void 0,!0,new Set([n.fs.realpathSync(e)]))},a.prototype.findFilesAsync=function(e,n){const r=this,i=[];let o=!1;const s=function(e){o||(o=!0,n(e,e?void 0:i))},a=function(e,n,o){r.fs.readdir(e,function(s,c){if(s)return o(s);let l=c.length;if(!l)return o();c.forEach(function(s){const c=t.join(e,s);r.fs.stat(c,function(e,s){if(e)return o(e);s?(i.push(t.normalize(c)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.fs.realpath(c,function(e,t){if(e)return o(e);n.has(t)?--l||o():(n.add(t),a(c,n,function(e){if(e)return o(e);--l||o()}))}):--l||o()):--l||o()})})})};r.fs.realpath(e,function(t,n){if(t)return s(t);a(e,new Set([n]),s)})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(s===e||s.startsWith(e+t.sep))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t);return 4294967296*e.readUInt32LE(t+4)+n},a.writeBigUInt64LE=function(e,t,n){const r=t>>>0,i=Math.floor(t/4294967296)>>>0;e.writeUInt32LE(r,n),e.writeUInt32LE(i,n+4)},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,fn}(),cn.exports.Constants=ln(),cn.exports.Errors=En(),cn.exports.FileAttr=function(){if(hn)return dn;hn=1;const e=U;return dn=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},dn}(),cn.exports.decoder=gn?mn:(gn=1,mn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),cn.exports}var wn,Ln,In,Sn,Cn,_n={};function Dn(){if(Ln)return wn;Ln=1;var e=bn(),t=e.Constants;return wn=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;break;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){t=new Date(t),this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&4095},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.flags_desc=(v.flags&t.FLG_DESC)>0,v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i&~t.FLG_DESC,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i&~t.FLG_DESC,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function Pn(){return Cn||(Cn=1,_n.EntryHeader=Dn(),_n.MainHeader=function(){if(Sn)return In;Sn=1;var e=bn(),t=e.Constants;return In=function(){var n=0,r=0,i=0,o=0,s=0;const a=()=>n>t.EF_ZIP64_OR_16||r>t.EF_ZIP64_OR_16||i>t.EF_ZIP64_OR_32||o>t.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return(a()?t.ZIP64HDR+t.END64HDR:0)+t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZB),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var c;if(!a())return(c=Buffer.alloc(t.ENDHDR+s)).writeUInt32LE(t.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(n,t.ENDSUB),c.writeUInt16LE(r,t.ENDTOT),c.writeUInt32LE(i,t.ENDSIZ),c.writeUInt32LE(o,t.ENDOFF),c.writeUInt16LE(s,t.ENDCOM),c.fill(" ",t.ENDHDR),c;let l=0;(c=Buffer.alloc(this.mainHeaderSize)).writeUInt32LE(t.ZIP64SIG,l),e.writeBigUInt64LE(c,t.ZIP64HDR-t.ZIP64LEAD,l+t.ZIP64SIZE),c.writeUInt16LE(45,l+t.ZIP64VEM),c.writeUInt16LE(45,l+t.ZIP64VER),c.writeUInt32LE(0,l+t.ZIP64DSK),c.writeUInt32LE(0,l+t.ZIP64DSKDIR),e.writeBigUInt64LE(c,n,l+t.ZIP64SUB),e.writeBigUInt64LE(c,r,l+t.ZIP64TOT),e.writeBigUInt64LE(c,i,l+t.ZIP64SIZB),e.writeBigUInt64LE(c,o,l+t.ZIP64OFF);const u=o+i;return l+=t.ZIP64HDR,c.writeUInt32LE(t.END64SIG,l),c.writeUInt32LE(0,l+t.END64START),e.writeBigUInt64LE(c,u,l+t.END64OFF),c.writeUInt32LE(1,l+t.END64NUMDISKS),l+=t.END64HDR,c.writeUInt32LE(t.ENDSIG,l),c.writeUInt32LE(0,l+4),c.writeUInt16LE(Math.min(n,t.EF_ZIP64_OR_16),l+t.ENDSUB),c.writeUInt16LE(Math.min(r,t.EF_ZIP64_OR_16),l+t.ENDTOT),c.writeUInt32LE(Math.min(i,t.EF_ZIP64_OR_32),l+t.ENDSIZ),c.writeUInt32LE(Math.min(o,t.EF_ZIP64_OR_32),l+t.ENDOFF),c.writeUInt16LE(s,l+t.ENDCOM),c.fill(" ",l+t.ENDHDR),c},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),_n}var Nn,On,An,$n,Rn,Tn,xn,Fn,kn,Un,Bn,Mn,Gn,jn={};function zn(){if(Tn)return Rn;Tn=1;const{randomFillSync:e}=M,t=En(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},Rn={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function Hn(){return xn||(xn=1,jn.Deflater=On?Nn:(On=1,Nn=function(e){var t=B,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),jn.Inflater=function(){if($n)return An;$n=1;const e=+(process?.versions?.node??"").split(".")[0]||0;return An=function(t,n){var r=B;const i=e>=15&&n>0?{maxOutputLength:n}:{};return{inflate:function(){return r.inflateRawSync(t,i)},inflateAsync:function(e){var n=r.createInflateRaw(i),o=[],s=0;n.on("data",function(e){o.push(e),s+=e.length}),n.on("end",function(){var t=Buffer.alloc(s),n=0;t.fill(0);for(var r=0;r<o.length;r++){var i=o[r];i.copy(t,n),n+=i.length}e&&e(t)}),n.end(t)}}}}(),jn.ZipCrypto=zn()),jn}function qn(){if(kn)return Fn;kn=1;var e=bn(),t=Pn(),n=e.Constants,r=Hn();return Fn=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){return o&&o instanceof Uint8Array?(p=s.loadLocalHeaderFromBinary(o),o.slice(s.realDataOffset,s.realDataOffset+s.compressedSize)):Buffer.alloc(0)}function v(t){const n=s.flags_desc||s.localHeader.flags_desc?s.crc:s.localHeader.crc;return e.crc32(t)===n}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o,c=g();if(0===c.length)return t&&n&&n(c),c;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();c=r.ZipCrypto.decrypt(c,s,i)}switch(s.method){case e.Constants.STORED:if(o=Buffer.alloc(c.length),c.copy(o),v(o))return t&&n&&n(o),o;throw t&&n&&n(o,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(c,s.size);if(!t){if(!v(o=u.inflate()))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return o}u.inflateAsync(function(t){n&&(v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(t,n){return e.readBigUInt64LE(t,n)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){const e=m.decode(a);return l?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},Fn}function Vn(){if(Bn)return Un;Bn=1;const e=qn(),t=Pn(),n=bn();return Un=function(r,i){var o=[],s=Object.create(null),a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s=Object.create(null),c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&(o=o.map(e=>({entry:e,key:e.entryName.toLowerCase()})).sort((e,t)=>e.key.localeCompare(t.key)).map(e=>e.entry))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let n=0,i=0;c.size=0,c.offset=0;let o=0;for(const r of this.entries){const s=r.getCompressedData();r.header.offset=i;const a=r.packLocalHeader(),l=a.length+s.length;i+=l,e.push(a),e.push(s);const u=r.packCentralHeader();t.push(u),c.size+=u.length,n+=l+u.length,o++}n+=c.mainHeaderSize,c.offset=i,c.totalEntries=o,i=0;const s=Buffer.alloc(n);for(const t of e)t.copy(s,i),i+=t.length;for(const e of t)e.copy(s,i),i+=e.length;const u=c.toBinary();return a&&a.copy(u,u.length-a.length),u.copy(s,i),r=s,l=!1,s},toAsyncBuffer:function(e,t,n,i){try{l||h(),m();const t=[],o=[];let s=0,u=0,f=0;c.size=0,c.offset=0;const p=function(d){if(d.length>0){const e=d.shift(),r=e.entryName+e.extra.toString();n&&n(r),e.getCompressedDataAsync(function(n){i&&i(r),e.header.offset=u;const a=e.packLocalHeader(),l=a.length+n.length;u+=l,t.push(a),t.push(n);const h=e.packCentralHeader();o.push(h),c.size+=h.length,s+=l+h.length,f++,p(d)})}else{s+=c.mainHeaderSize,c.offset=u,c.totalEntries=f,u=0;const n=Buffer.alloc(s);t.forEach(function(e){e.copy(n,u),u+=e.length}),o.forEach(function(e){e.copy(n,u),u+=e.length});const i=c.toBinary();a&&a.copy(i,i.length-a.length),i.copy(n,u),r=n,l=!1,e(n)}};p(Array.from(this.entries))}catch(e){t(e)}}}},Un}var Wn=function(){if(Gn)return Mn;Gn=1;const e=bn(),t=U,n=qn(),r=Vn(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return Mn=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u),p=e=>{e.filter(e=>e.attr).sort((e,t)=>t.path.length-e.path.length).forEach(e=>f.fs.chmodSync(e.path,e.attr))};if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const d=new r(l,u),{canonical:h,sanitize:m,zipnamefix:g}=e;function v(e){var n;if(e&&d&&("string"==typeof e&&(n=d.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=d.getEntry(e.entryName)),n))return n;return null}function y(e){const{join:n,normalize:r,sep:i}=t.posix;return n(t.isAbsolute(e)?"/":".",r(i+e.split("\\").join(i)+i))}function E(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const b=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=v(e);return n&&n.getData(t)||null},childCount:function(e){const t=v(e);if(t)return d.getChildCount(t)},readFileAsync:function(e,t){var n=v(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=v(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=v(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=v(e);n&&d.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=v(e);t&&d.deleteEntry(t.entryName)},addZipComment:function(e){d.comment=e},getZipComment:function(){return d.comment||""},addZipEntryComment:function(e,t){var n=v(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=v(e);return t&&t.comment||""},updateFile:function(e,t){var n=v(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?y(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?y(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=E(i),r=r?y(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,b(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=E(o),i=i?y(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=b(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n};const o=t.resolve(y(n.localPath));let{zipPath:s,filter:a,namefix:c}=n;var l;a instanceof RegExp?(l=a,a=function(e){return l.test(e)}):"function"!=typeof a&&(a=function(){return!0}),s=s?y(s):"","latin1"===c&&(c=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof c&&(c=e=>e);const u=e=>t.join(s,c(b(o,e))),p=e=>t.win32.basename(t.win32.normalize(c(e)));f.fs.open(o,"r",function(n){n&&"ENOENT"===n.code?r(void 0,e.Errors.FILE_NOT_FOUND(o)):n?r(void 0,n):f.findFilesAsync(o,function(e,n){if(e)return r(e);(n=n.filter(e=>a(u(e)))).length||r(void 0,!1),setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(u(n)),zipName:p(n)},e)}},r))})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{e&&r(e),t&&n(this)})})},addFile:function(e,t,r,i){let o=v(e=g(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||d.setEntry(o),o},getEntries:function(e){return d.password=e,d?d.entries:[]},getEntry:function(e){return v(e)},getEntryCount:function(){return d.getEntryCount()},forEach:function(e){return d.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=v(n);if(!u)throw e.Errors.NO_ENTRY();var p=h(u.entryName),g=m(r,l&&!u.isDirectory?h(l):s?p:t.basename(p));if(u.isDirectory)return d.getEntryChildren(u).forEach(function(t){if(t.isDirectory)return;var n=t.getData();if(!n)throw e.Errors.CANT_EXTRACT_FILE();var i=h(s?t.entryName:t.entryName.substring(u.entryName.length)),o=m(r,i);const l=c?t.header.fileAttr:void 0;f.writeFileTo(o,n,a,l)}),!0;var y=u.getData(d.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.fs.existsSync(g)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(g,y,a,E),!0},test:function(e){if(!d)return!1;for(var t of d.entries)try{if(t.isDirectory)continue;if(!t.getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!d)throw e.Errors.NO_ZIP();const a=[];d.entries.forEach(function(i){var o=m(t,h(i.entryName));if(i.isDirectory)return f.makeDir(o),void(r&&a.push({path:o,attr:i.header.fileAttr}));var c=i.getData(s);if(!c)throw e.Errors.CANT_EXTRACT_FILE();const l=r?i.header.fileAttr:void 0;f.writeFileTo(o,c,n,l);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(e){}}),p(a)},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!d)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>m(n,t.normalize(h(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];d.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});const g=[];for(const e of l){const t=a(e),n=o?e.header.fileAttr:void 0;try{f.makeDir(t)}catch(e){s(c("Unable to create folder",t));continue}n&&g.push({path:t,attr:n});try{f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(h(s.entryName)),l=m(n,a);s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){if(!e)return i(c("Unable to write file",l));f.fs.utimes(l,s.header.time,s.header.time,function(){i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},e=>{if(!e)try{p(g)}catch(e){return s(c("Unable to set folder permissions",e.path||""))}s(e)})()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=d.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{d.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(d.toAsyncBuffer(e,t,n,r),null):d.compressToBuffer()}}},Mn}(),Zn=q(Wn);class Kn{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Jn}static Global(e){return Yn=new Kn(e),Yn}static Clone(e){const{prefixText:t}=e||Yn;return new Kn({prefixText:t})}static get Current(){return Yn}static set Current(e){Yn=e}constructor(e){this.#ne=G(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Xn(e))}succeed(...e){this.#ne.succeed(Xn(e))}start(...e){this.#ne.start(Xn(e))}fail(...e){this.#ne.fail(Xn(e))}warn(...e){this.#ne.warn(Xn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let Yn=new Kn;const Xn=e=>e.length?e.join(" "):void 0,Jn=console;class Qn{spinner;debugMode;constructor(e,t){this.spinner=new Kn({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const er=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes}),tr=e=>{const t={spa:{templateEnv:(n=e.template,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true"},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...n})},api:{serviceDiscoveryUrl:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",processServices:(e,t)=>{const{data:n,routes:r}=z(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var n;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.portal.manifest,e.portal.config),t},nr=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=tr(t);i?.debug("\nBase dev server config:",er(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>_("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return lt(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",er(n));const s=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(t,i),a={...r,plugins:[...r?.plugins??[],s]};return j(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),j(o,r)}},rr="fusion-framework-cli",ir={"X-Fusion-CLI-Name":rr,"X-Fusion-CLI-Version":Ut,"User-Agent":`${rr}/${Ut}`},or="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",sr="https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md";function ar(){if(process.env.FUSION_TOKEN)return[r.bold("💡 FUSION_TOKEN detected"),r.dim(" The CLI is using this token instead of your interactive login session."),r.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}function cr(e,t){switch(e){case 401:return function(e){const t=["",r.redBright(`🚫 Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=ar();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} For CI/CD, verify that ${r.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${r.cyan("2.")} For local development, run ${r.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(or)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(sr)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",r.redBright(`🚫 Authorization failed: not permitted to ${e}`),"","⚠️ Your token is valid but does not have the required permissions for this operation.",""],n=ar();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${r.cyan("2.")} Check that the token's ${r.bold("scope / audience")} matches the target environment.`,` ${r.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(or)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(sr)}`,""),t.join("\n")}(t);default:return}}function lr(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,i=e.response?e.response.status:void 0,o=401===i||403===i;let s=!1,a=e.cause;for(let e=0;e<5&&a&&a instanceof Error;e++){if("SilentTokenAcquisitionError"===a.name){s=!0;break}a=a.cause}if(!n&&!o&&!s)return;if(o&&!n&&!s)return cr(i,t);const c=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),l=["",r.redBright(`🔑 Token acquisition failed: unable to ${t}`),"",r.yellow(`⚠️ ${c??"The CLI could not silently acquire an access token for this operation."}`),""],u=ar();return u&&l.push(u,""),l.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Run ${r.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${r.cyan("2.")} For CI/CD, set a fresh ${r.bold("FUSION_TOKEN")} — cached refresh tokens may have expired.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(or)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(sr)}`,""),l.join("\n")}const ur=(e,t,n)=>{const r=s(String(e));w(r)||L(r,{recursive:!0}),I(e,t,n)},fr=["package.json","LICENSE.md","README.md","CHANGELOG.md"],pr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await S(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Zn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("📄",Qt(e,{relative:!0}));i?.info("📂",Qt(l,{relative:!0}));for(const t of fr.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));st(e)?(u.addLocalFile(e,n),i?.info("📄",Qt(e,{relative:!0}))):i?.warn(r.dim("📄",Qt(e,{relative:!0})))}return n&&(st(s(n))||await C(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("📚",Qt(n,{relative:!0}),en(n))),u},dr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await on({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await pr(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},hr=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return _(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return Ht.parse(t??r)}return Ht.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("⚙️ generated config from ",Qt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof D){if(!t.config)return n?.succeed(r.dim("⚙️ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${Qt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},mr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await nn(null),t?.succeed("📦",r.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("🏠",r.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const i=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:i,...e?.env},s=await hr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await ur(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",Qt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class gr extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class vr extends gr{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=vr.Name,this.data=n?.data}}class yr extends gr{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=yr.Name}}const Er=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("🌎","Executing request to:",Qt(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:ir});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof vr)switch(e.response.status){case 410:t?.fail("🤬",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("🤬",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=cr(e.response.status,`publish config for ${r}`);t?.fail("🔒","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("🤬","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=lr(e,`publish config for ${r}`);n&&(t?.fail("🔒",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("🤬","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},br=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await nn(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await tn(o,i,{log:n,manifestPath:e?.manifest}),c=await hr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));st(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await $t(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c}};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await nr(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},wr=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await nn(n);n?.start("Loading Vite config...");const u=await $t({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await tn(m,l,{log:n,manifestPath:e?.manifest}),v=await hr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!w(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const b=d(import.meta.resolve(c));st(b)?(y=b,E=await f({cwd:b}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const L=await $t(m,l),I=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${I.join("\n")}\n`);const S=t(L,{server:{port:i,host:o||L.server?.host||"localhost",fs:{allow:I}}}),C={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(C.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",C),n?.start("Starting preview server with dev-portal...");try{const e=await nr(m,C,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class Lr extends R{satisfies(e){return T(this,e)}}var Ir=function(e,t){return Ir=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Ir(e,t)};function Sr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Ir(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Cr=function(){return Cr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Cr.apply(this,arguments)};function _r(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function Dr(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function Pr(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Nr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function Or(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function Ar(e){return this instanceof Ar?(this.v=e,this):new Ar(e)}function $r(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof Ar?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Rr(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=Pr(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function Tr(e){return"function"==typeof e}function xr(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var Fr=xr(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function kr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var Ur=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=Pr(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(Tr(c))try{c()}catch(e){i=e instanceof Fr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=Pr(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{Gr(p)}catch(e){i=null!=i?i:[],e instanceof Fr?i=Or(Or([],Nr(i)),Nr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new Fr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)Gr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&kr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&kr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),Br=Ur.EMPTY;function Mr(e){return e instanceof Ur||e&&"closed"in e&&Tr(e.remove)&&Tr(e.add)&&Tr(e.unsubscribe)}function Gr(e){Tr(e)?e():e.unsubscribe()}var jr={Promise:void 0},zr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Or([e,t],Nr(n)))};function Hr(e){zr(function(){throw e})}function qr(){}function Vr(e){e()}var Wr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Mr(t)&&t.add(n)):n.destination=Xr,n}return Sr(t,e),t.create=function(e,t,n){return new Kr(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(Ur),Zr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){Yr(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){Yr(e)}else Yr(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){Yr(e)}},e}(),Kr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=Tr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Zr(i),o}return Sr(t,e),t}(Wr);function Yr(e){Hr(e)}var Xr={closed:!0,next:qr,error:function(e){throw e},complete:qr},Jr="function"==typeof Symbol&&Symbol.observable||"@@observable";function Qr(e){return e}var ei=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Wr||function(e){return e&&Tr(e.next)&&Tr(e.error)&&Tr(e.complete)}(r)&&Mr(r)?e:new Kr(e,t,n);return Vr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=ti(t))(function(t,r){var i=new Kr({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[Jr]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?Qr:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=ti(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function ti(e){var t;return null!==(t=null!=e?e:jr.Promise)&&void 0!==t?t:Promise}function ni(e){return function(t){if(function(e){return Tr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function ri(e,t,n,r,i){return new ii(e,t,n,r,i)}var ii=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return Sr(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Wr),oi=xr(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),si=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return Sr(t,e),t.prototype.lift=function(e){var t=new ai(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new oi},t.prototype.next=function(e){var t=this;Vr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=Pr(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Vr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Vr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?Br:(this.currentObservers=null,o.push(e),new Ur(function(){t.currentObservers=null,kr(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new ei;return e.source=this,e},t.create=function(e,t){return new ai(e,t)},t}(ei),ai=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Sr(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:Br},t}(si),ci=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Sr(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(si),li={now:function(){return(li.delegate||Date).now()},delegate:void 0},ui=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=li);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return Sr(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(si),fi=function(e){function t(t,n){return e.call(this)||this}return Sr(t,e),t.prototype.schedule=function(e,t){return this},t}(Ur),pi=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Or([e,t],Nr(n)))},di=function(e){return clearInterval(e)},hi=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Sr(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),pi(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&di(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,kr(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(fi),mi=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=li.now,e}(),gi=function(e){function t(t,n){void 0===n&&(n=mi.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Sr(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(mi),vi=new gi(hi),yi=vi,Ei=new ei(function(e){return e.complete()});function bi(e){return e&&Tr(e.schedule)}function wi(e){return e[e.length-1]}var Li=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function Ii(e){return Tr(null==e?void 0:e.then)}function Si(e){return Tr(e[Jr])}function Ci(e){return Symbol.asyncIterator&&Tr(null==e?void 0:e[Symbol.asyncIterator])}function _i(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var Di="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function Pi(e){return Tr(null==e?void 0:e[Di])}function Ni(e){return $r(this,arguments,function(){var t,n,r;return Dr(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,Ar(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,Ar(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,Ar(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Oi(e){return Tr(null==e?void 0:e.getReader)}function Ai(e){if(e instanceof ei)return e;if(null!=e){if(Si(e))return i=e,new ei(function(e){var t=i[Jr]();if(Tr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(Li(e))return r=e,new ei(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(Ii(e))return n=e,new ei(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Hr)});if(Ci(e))return $i(e);if(Pi(e))return t=e,new ei(function(e){var n,r;try{for(var i=Pr(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(Oi(e))return $i(Ni(e))}var t,n,r,i;throw _i(e)}function $i(e){return new ei(function(t){(function(e,t){var n,r,i,o;return _r(this,void 0,void 0,function(){var s,a;return Dr(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=Rr(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function Ri(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function Ti(e,t){return void 0===t&&(t=0),ni(function(n,r){n.subscribe(ri(r,function(n){return Ri(r,e,function(){return r.next(n)},t)},function(){return Ri(r,e,function(){return r.complete()},t)},function(n){return Ri(r,e,function(){return r.error(n)},t)}))})}function xi(e,t){return void 0===t&&(t=0),ni(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function Fi(e,t){if(!e)throw new Error("Iterable cannot be null");return new ei(function(n){Ri(n,t,function(){var r=e[Symbol.asyncIterator]();Ri(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function ki(e,t){if(null!=e){if(Si(e))return function(e,t){return Ai(e).pipe(xi(t),Ti(t))}(e,t);if(Li(e))return function(e,t){return new ei(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(Ii(e))return function(e,t){return Ai(e).pipe(xi(t),Ti(t))}(e,t);if(Ci(e))return Fi(e,t);if(Pi(e))return function(e,t){return new ei(function(n){var r;return Ri(n,t,function(){r=e[Di](),Ri(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return Tr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(Oi(e))return function(e,t){return Fi(Ni(e),t)}(e,t)}throw _i(e)}function Ui(e,t){return t?ki(e,t):Ai(e)}function Bi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return bi(wi(e))?e.pop():void 0}(e);return Ui(e,n)}var Mi=xr(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function Gi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Mi)}})})}function ji(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Kr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Mi)}});e.subscribe(o)})}function zi(e){return e instanceof Date&&!isNaN(e)}var Hi=xr(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function qi(e){throw new Hi(e)}function Vi(e,t){return ni(function(n,r){var i=0;n.subscribe(ri(r,function(n){r.next(e.call(t,n,i++))}))})}var Wi=Array.isArray;function Zi(e){return Vi(function(t){return function(e,t){return Wi(t)?e.apply(void 0,Or([],Nr(t))):e(t)}(e,t)})}function Ki(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;Ai(n(e,u++)).subscribe(ri(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(ri(t,d,function(){f=!0,p()})),function(){null==a||a()}}function Yi(e,t,n){return void 0===n&&(n=1/0),Tr(t)?Yi(function(n,r){return Vi(function(e,i){return t(n,e,r,i)})(Ai(e(n,r)))},n):("number"==typeof t&&(n=t),ni(function(t,r){return Ki(t,r,e,n)}))}var Xi=["addListener","removeListener"],Ji=["addEventListener","removeEventListener"],Qi=["on","off"];function eo(e,t,n,r){if(Tr(n)&&(r=n,n=void 0),r)return eo(e,t,n).pipe(Zi(r));var i=Nr(function(e){return Tr(e.addEventListener)&&Tr(e.removeEventListener)}(e)?Ji.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return Tr(e.addListener)&&Tr(e.removeListener)}(e)?Xi.map(to(e,t)):function(e){return Tr(e.on)&&Tr(e.off)}(e)?Qi.map(to(e,t)):[],2),o=i[0],s=i[1];if(!o&&Li(e))return Yi(function(e){return eo(e,t,n)})(Ai(e));if(!o)throw new TypeError("Invalid event target");return new ei(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function to(e,t){return function(n){return function(r){return e[n](t,r)}}}function no(e,t,n){void 0===e&&(e=0),void 0===n&&(n=yi);var r=-1;return null!=t&&(bi(t)?n=t:r=t),new ei(function(t){var i=zi(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function ro(e,t){return ni(function(n,r){var i=0;n.subscribe(ri(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function io(e){return ni(function(t,n){var r,i=null,o=!1;i=t.subscribe(ri(n,void 0,void 0,function(s){r=Ai(e(s,io(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function oo(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(ri(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function so(e,t){return ni(oo(e,t,arguments.length>=2,!1,!0))}function ao(e){return ni(function(t,n){var r=!1;t.subscribe(ri(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function co(e,t){return void 0===t&&(t=Qr),e=null!=e?e:lo,ni(function(n,r){var i,o=!0;n.subscribe(ri(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function lo(e,t){return e===t}function uo(e){return void 0===e&&(e=fo),ni(function(t,n){var r=!1;t.subscribe(ri(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function fo(){return new Mi}function po(e){return ni(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function ho(e,t){var n=arguments.length>=2;return function(e){return e.pipe(Qr,(r=1)<=0?function(){return Ei}:ni(function(e,t){var n=[];e.subscribe(ri(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=Pr(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?ao(t):uo(function(){return new Mi}));var r}}function mo(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Kr({next:function(){i.unsubscribe(),e()}});return Ai(t.apply(void 0,Or([],Nr(n)))).subscribe(i)}}else e()}function go(e,t){return ni(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(ri(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;Ai(e(n,c)).subscribe(i=ri(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function vo(e){return ni(function(t,n){Ai(e).subscribe(ri(n,function(){return n.complete()},qr)),!n.closed&&t.subscribe(n)})}function yo(e,t,n){var r=Tr(e)||t||n?{next:e,error:t,complete:n}:e;return r?ni(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(ri(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):Qr}function Eo(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=Tr(wi(n=e))?n.pop():void 0;return ni(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){Ai(e[t]).subscribe(ri(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(Qr))&&(s=null))},qr))},l=0;l<i;l++)c(l);t.subscribe(ri(n,function(e){if(a){var t=Or([e],Nr(o));n.next(r?r.apply(void 0,Or([],Nr(t))):t)}}))})}const bo=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?bo(e[i],r,n):Object.assign(e,{[i]:n})),e};class wo{#re={};createConfig(e,t){return Ui(this._createConfig(e,t))}async createConfigAsync(e,t){return Gi(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return Ui(this._buildConfig(e,t)).pipe(go(t=>this._processConfig(t,e)))}_buildConfig(e,t){return Ui(Object.entries(this.#re)).pipe(Yi(([t,n])=>Ui(n(e)).pipe(ro(e=>void 0!==e),Vi(e=>({target:t,value:e})),io(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),Ei)))),so((e,{target:t,value:n})=>bo(e,t,n),t??{}))}_processConfig(e,t){return Bi(e)}}class Lo extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}const Io="ModuleConfigurator",So={ModuleConfigAdded:`${Io}.module.configAdded`,OnConfiguredAdded:`${Io}.onConfigured.added`,OnInitializedAdded:`${Io}.onInitialized.added`,PluginAdded:`${Io}.plugin.added`,InitializeConfigLoaded:`${Io}.config.loaded`,InitializeInstanceInitialized:`${Io}.instance.initialized`,Initialize:`${Io}.initialize.complete`,ConfiguratorCreated:`${Io}.configurator.created`,ConfiguratorFailed:`${Io}.configurator.failed`,ModulePostConfigured:`${Io}.module.postConfigured`,ModulePostConfigureError:`${Io}.module.postConfigureError`,PostConfigureHooks:`${Io}.postConfigureHooks.started`,PostConfigureHooksComplete:`${Io}.postConfigureHooks.complete`,PostConfigureHooksError:`${Io}.postConfigureHooks.error`,ModuleInitializeError:`${Io}.module.initializeError`,ModuleInitializing:`${Io}.module.initializing`,ProviderNotBaseModuleProvider:`${Io}.provider.invalidBase`,ProviderVersionWarning:`${Io}.provider.versionMissing`,ModuleInitialized:`${Io}.module.initialized`,RequireInstanceModuleNotDefined:`${Io}.requireInstance.moduleNotDefined`,RequireInstanceModuleAlreadyInitialized:`${Io}.requireInstance.moduleAlreadyInitialized`,RequireInstanceAwaitingModule:`${Io}.requireInstance.awaitingModule`,RequireInstanceTimeout:`${Io}.requireInstance.timeout`,RequireInstanceModuleResolved:`${Io}.requireInstance.moduleResolved`,ModuleInitializeComplete:`${Io}.modules.initializeComplete`,InitializeComplete:`${Io}.initialize.instanceComplete`,ConfiguratorPostInitializeStart:`${Io}.postInitialize.started`,ModulePostInitializeStart:`${Io}.modulePostInitialize.started`,ModulePostInitializeComplete:`${Io}.modulePostInitialize.complete`,ModulePostInitializeError:`${Io}.modulePostInitialize.error`,PostInitializeComplete:`${Io}.postInitialize.complete`,PostInitializeCompleteNoHooks:`${Io}.postInitialize.noHooks`,PostInitializeHooks:`${Io}.postInitializeHooks.started`,PostInitializeHooksComplete:`${Io}.postInitializeHooks.complete`,PostInitializeHooksError:`${Io}.postInitializeHooks.error`,PluginsRegister:`${Io}.plugins.registering`,PluginRegistered:`${Io}.plugin.registered`,PluginRegisterError:`${Io}.plugin.registerError`,PluginsRegistered:`${Io}.plugins.registered`,Dispose:`${Io}.dispose.started`,PluginsDisposing:`${Io}.plugins.disposing`,PluginDisposed:`${Io}.plugin.disposed`,PluginDisposeError:`${Io}.plugin.disposeError`,ModulesDispose:`${Io}.modules.disposing`,ModuleDisposed:`${Io}.module.disposed`,ModuleDisposeError:`${Io}.module.disposeError`,ModulesDisposed:`${Io}.modules.disposed`};var Co;async function _o(e,t){const n=await async function(e,t){const{modules:n,afterConfiguration:r,afterInit:i,registerEvent:o}=e;return Gi(Ui(n).pipe(Yi(async e=>{const n=performance.now();try{const r=await(e.configure?.(t)),i=Math.round(performance.now()-n);return o({level:Co.Debug,name:So.ConfiguratorCreated,message:`Configurator created for ${e.name} in ${i}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[e.name]:r}}catch(t){throw o({level:Co.Error,name:So.ConfiguratorFailed,message:`Failed to create configurator for ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:t}),t}}),so((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){r.push(e)},onAfterInit(e){i.push(e)}})))}(e,t);return await Promise.all(e.configs.map(e=>Promise.resolve(e(n,t)))),await async function(e,t){const{modules:n,afterConfiguration:r,registerEvent:i}=e;if(await Promise.allSettled(n.filter(e=>!!e.postConfigure).map(async e=>{try{const n=performance.now();await(e.postConfigure?.(t)),i({level:Co.Debug,name:So.ModulePostConfigured,message:`Module ${e.name} post-configured successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(t){i({level:Co.Warning,name:So.ModulePostConfigureError,message:`Module ${e.name} post-configure failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),r.length)try{i({level:Co.Debug,name:So.PostConfigureHooks,message:`Post configure hooks [${r.length}] called`});const e=performance.now();await Promise.allSettled(r.map(e=>Promise.resolve(e(t))));const n=Math.round(performance.now()-e);i({level:Co.Debug,name:So.PostConfigureHooksComplete,message:"Post configure hooks complete",properties:{count:r.length,postConfigHooksTime:n},metric:n})}catch(e){i({level:Co.Warning,name:So.PostConfigureHooksError,message:"Post configure hook failed",error:e})}}(e,n),n}!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(Co||(Co={}));class Do{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=$(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new Lr(t),this.#oe=new Ur}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}function Po(e,t,n){return function(r,i=60){if(!e.includes(r)){const e=new Error(`Cannot require [${String(r)}] since module is not defined!`);throw e.name="ModuleNotDefinedError",n({level:Co.Error,name:So.RequireInstanceModuleNotDefined,message:e.message,properties:{moduleName:String(r),wait:i},error:e}),e}if(t.value[r])return n({level:Co.Debug,name:So.RequireInstanceModuleAlreadyInitialized,message:`Module [${String(r)}] is already initialized, skipping queue`,properties:{moduleName:String(r),wait:i}}),Promise.resolve(t.value[r]);const o=performance.now();return n({level:Co.Debug,name:So.RequireInstanceAwaitingModule,message:`Awaiting module [${String(r)}] initialization, timeout ${i}s`,properties:{moduleName:String(r),wait:i}}),ji(t.pipe(ro(e=>!!e[r]),Vi(e=>e[r]),function(e){var t=zi(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?qi:i,s=t.scheduler,a=void 0===s?vi:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return ni(function(e,t){var i,s,c=null,u=0,f=function(e){s=Ri(t,a,function(){try{i.unsubscribe(),Ai(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(ri(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*i,with:()=>{return t=Tr(e=()=>{const e=new Lo;return n({level:Co.Error,name:So.RequireInstanceTimeout,message:`Module [${String(r)}] initialization timed out after ${i}s`,properties:{moduleName:String(r),wait:i},error:e}),e})?e:function(){return e},new ei(function(e){return e.error(t())});var e,t}}),yo(()=>{const e=Math.round(performance.now()-o);n({level:Co.Debug,name:So.RequireInstanceModuleResolved,message:`Module [${String(r)}] required in ${e}ms`,properties:{moduleName:String(r),wait:i,requireTime:e},metric:e})})))}}async function No(e,t,n){const{modules:r,registerEvent:i}=e;if(0===r.length)return Object.seal({});const o=r.map(e=>e.name),s=new ci({}),a=e=>o.includes(e),c=Po(o,s,i),l=Ui(r).pipe(Yi(e=>async function(e,t){const{config:n,ref:r,requireInstance:i,hasModule:o,registerEvent:s}=t,a=e.name;if(!e.initialize){const t=new Error(`Module ${e.name} does not have initialize method`);throw t.name="ModuleInitializeError",s({level:Co.Error,name:So.ModuleInitializeError,message:t.message,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),t}s({level:Co.Debug,name:So.ModuleInitializing,message:`Initializing module ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const c=performance.now(),l=await e.initialize({ref:r,config:n[a],requireInstance:i,hasModule:o});l instanceof Do||s({level:Co.Warning,name:So.ProviderNotBaseModuleProvider,message:`Provider for module ${e.name} does not extend BaseModuleProvider`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const u=l;u.version||s({level:Co.Warning,name:So.ProviderVersionWarning,message:`Provider for module ${e.name} does not expose version`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const f=Math.round(performance.now()-c);return s({level:Co.Debug,name:So.ModuleInitialized,message:`Module ${e.name} initialized in ${f}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",providerName:typeof l,providerVersion:u.version?.toString()||"unknown",moduleInitTime:f},metric:f}),[a,l]}(e,{config:t,ref:n,requireInstance:c,hasModule:a,registerEvent:i}))),u=performance.now();l.subscribe({next:([e,t])=>{s.next(Object.assign(s.value,{[e]:t}))},error:e=>{i({level:Co.Error,name:So.ModuleInitializeError,message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),s.error(e)},complete:()=>{const e=Math.round(performance.now()-u);i({level:Co.Debug,name:So.ModuleInitializeComplete,message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(s.value).join(", "),loadTime:e},metric:e}),s.complete()}});const f=performance.now(),p=await Gi(s),d=Math.round(performance.now()-f);return i({level:Co.Debug,name:So.InitializeComplete,message:`Modules instance created in ${d}ms`,properties:{modules:Object.keys(p).join(", "),initTime:d},metric:d}),Object.seal(p),p}function Oo(e){return"function"==typeof e?e.name||"anonymous":"dispose"}async function Ao(e){"function"!=typeof e?await e.dispose():await e()}class $o{static className="ModulesConfigurator";get version(){return"6.1.0"}#se=new ui(100);get event$(){return this.#se.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_plugins=[];_pluginTeardowns=[];_modules;constructor(e){this._modules=new Set(e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e;this._modules.add(t),this._registerEvent({level:Co.Debug,name:So.ModuleConfigAdded,message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i&&this._configs.push((e,n)=>i(e[t.name],n)),n&&this._afterConfiguration.push(e=>n(e[t.name])),r&&this._afterInit.push(e=>r(e[t.name]))}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:Co.Debug,name:So.OnConfiguredAdded,message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:Co.Debug,name:So.OnInitializedAdded,message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}registerPlugin(e){this._plugins.push(e),this._registerEvent({level:Co.Debug,name:So.PluginAdded,message:"Added plugin callback",properties:{count:this._plugins.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t);this._registerEvent({level:Co.Debug,name:So.InitializeConfigLoaded,message:`Modules configured in ${r}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:r},metric:r});const i=performance.now(),o=await this._initialize(n,e),s=Math.round(performance.now()-i);this._registerEvent({level:Co.Debug,name:So.InitializeInstanceInitialized,message:`Modules initialized in ${s}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),count:this.modules.length,loadTime:s},metric:s});const a=r+s;this._registerEvent({level:Co.Information,name:So.Initialize,message:`initialize in ${a}ms`,properties:{modules:this.modules.map(e=>e.name).join(", "),configLoadTime:r,instanceLoadTime:s,totalLoadTime:a},metric:a}),await this._postInitialize(o,e);const c=Object.seal(Object.assign({},o,{dispose:()=>this.dispose(o)}));return await this._registerPlugins(c,e),c}_registerEvent(e){const t=e.name.split("::");this.#se.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){return _o({modules:this.modules,configs:this._configs,afterConfiguration:this._afterConfiguration,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e)}async _initialize(e,t){return No({modules:this.modules,registerEvent:this._registerEvent.bind(this)},e,t)}async _postInitialize(e,t){return async function(e,t,n){const{modules:r,afterInit:i,registerEvent:o}=e;o({level:Co.Debug,name:So.ConfiguratorPostInitializeStart,message:`Post-initializing all modules [${Object.keys(t).length}]`,properties:{modules:Object.keys(t).join(", ")}});const s=Ui(r).pipe(ro(e=>!!e.postInitialize),yo(e=>{o({level:Co.Debug,name:So.ModulePostInitializeStart,message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),Yi(e=>{const r=performance.now();return Ui(e.postInitialize({ref:n,modules:t,instance:t[e.name]})).pipe(yo(()=>{const t=Math.round(performance.now()-r);o({level:Co.Debug,name:So.ModulePostInitializeComplete,message:`Module ${e.name} has been post-initialized in ${t}ms`,metric:t,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postInitTime:t}})}),ao(null),io(t=>(o({level:Co.Warning,name:So.ModulePostInitializeError,message:`Module ${e.name} post-initialize failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),Ei)))}),ao(null)),a=performance.now();await Gi(s);const c=Math.round(performance.now()-a);if(o({level:Co.Debug,name:So.PostInitializeComplete,message:`Post-initialization of all modules completed in ${c}ms`,properties:{modules:Object.keys(t).join(", "),postInitTime:c},metric:c}),!i.length)return void o({level:Co.Debug,name:So.PostInitializeCompleteNoHooks,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:c}});try{o({level:Co.Debug,name:So.PostInitializeHooks,message:`Executing post-initialize hooks [${i.length}]`,properties:{hooks:i.map(e=>e.name||"anonymous").join(", ")}});const e=performance.now();await Promise.allSettled(i.map(e=>Promise.resolve(e(t))));const n=Math.round(performance.now()-e);o({level:Co.Debug,name:So.PostInitializeHooksComplete,message:`Post-initialize hooks completed in ${n}ms`,properties:{hooks:i.map(e=>e.name||"anonymous").join(", "),afterInitTime:n},metric:n})}catch(e){o({level:Co.Warning,name:So.PostInitializeHooksError,message:"Post-initialize hooks failed",properties:{hooks:i.map(e=>e.name||"anonymous").join(", ")},error:e})}const l=Math.round(performance.now()-a);o({level:Co.Debug,name:So.PostInitializeComplete,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:l}})}({modules:this.modules,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e,t)}async _registerPlugins(e,t){return async function(e,t,n){const{plugins:r,teardowns:i,registerEvent:o}=e;if(!r.length)return;o({level:Co.Debug,name:So.PluginsRegister,message:`Registering plugins [${r.length}]`,properties:{count:r.length}});const s=await Promise.all(r.map(async e=>{const r=performance.now(),i=e.name||"anonymous";try{const a=await e({modules:t,ref:n}),c=Math.round(performance.now()-r);return o({level:Co.Debug,name:So.PluginRegistered,message:`Plugin ${i} registered in ${c}ms`,properties:{name:i,pluginTime:c},metric:c}),"function"==typeof(s=a)||"object"==typeof s&&null!==s&&"dispose"in s&&"function"==typeof s.dispose?a:void 0}catch(e){return void o({level:Co.Warning,name:So.PluginRegisterError,message:`Plugin ${i} registration failed`,properties:{name:i},error:e})}var s}));for(const e of s)e&&i.push(e);o({level:Co.Debug,name:So.PluginsRegistered,message:"Plugin registration complete",properties:{count:r.length,teardowns:i.length}})}({plugins:this._plugins,teardowns:this._pluginTeardowns,registerEvent:this._registerEvent.bind(this)},e,t)}async dispose(e,t){return async function(e,t,n){const{modules:r,registerEvent:i,event$:o,pluginTeardowns:s=[]}=e;if(i({level:Co.Debug,name:So.Dispose,message:"Disposing modules instance",properties:{modules:Object.keys(t).join(", ")}}),s.length){i({level:Co.Debug,name:So.PluginsDisposing,message:`Disposing plugins [${s.length}]`,properties:{count:s.length}});for(const e of s.splice(0).reverse()){const t=Oo(e);try{await Ao(e),i({level:Co.Debug,name:So.PluginDisposed,message:`Plugin ${t} disposed successfully`,properties:{name:t}})}catch(e){i({level:Co.Warning,name:So.PluginDisposeError,message:`Plugin ${t} dispose failed`,properties:{name:t},error:e})}}}i({level:Co.Debug,name:So.ModulesDispose,message:"Disposing modules",properties:{count:r.length}}),await Promise.allSettled(r.filter(e=>!!e.dispose).map(async e=>{if(e.dispose)try{await e.dispose({ref:n,modules:t,instance:t[e.name]}),i({level:Co.Debug,name:So.ModuleDisposed,message:`Module ${e.name} disposed successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}catch(t){i({level:Co.Warning,name:So.ModuleDisposeError,message:`Module ${e.name} dispose failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),i({level:Co.Debug,name:So.ModulesDisposed,message:"Module dispose complete",properties:{count:r.length}}),o.complete()}({modules:this.modules,registerEvent:this._registerEvent.bind(this),event$:this.#se,pluginTeardowns:this._pluginTeardowns},e,t)}}class Ro{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?Ui(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,ni(function(e,i){var o=n;return Ki(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),ho()):Bi(e);var t,n,r}}class To extends Ro{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set("header-"+e,n)}}class xo extends Ro{}const Fo=F.object({attributionReporting:F.object({eventSourceEligible:F.boolean().optional(),triggerEligible:F.boolean().optional()}).optional(),body:F.union([F.string(),F.instanceof(Blob),F.instanceof(ArrayBuffer),F.instanceof(FormData),F.instanceof(URLSearchParams),F.instanceof(ReadableStream)]).optional(),browsingTopics:F.boolean().optional(),cache:F.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:F.enum(["omit","same-origin","include"]).optional(),headers:F.record(F.string(),F.string()).optional().or(F.instanceof(Headers)),integrity:F.string().optional(),keepalive:F.boolean().optional(),method:F.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:F.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:F.enum(["low","high","auto"]).optional(),redirect:F.enum(["follow","error","manual"]).optional(),referrer:F.string().optional(),referrerPolicy:F.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:F.instanceof(AbortSignal).optional()}).extend({uri:F.string(),path:F.string().optional()}),ko=e=>e=>{const{error:t,success:n,data:r}=F.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},Uo=e=>e=>{const{strict:t,parse:n}={},r=t?Fo:Fo.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},Bo=e=>{try{return JSON.parse(e)}catch{return e}};function*Mo(e,t){const n=e.split("\n\n"),r=t?.dataParser||Bo;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const Go=e=>t=>{if(!t.ok)throw new yr(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new yr("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new yr("Response is not a text/event-stream",t);const n=t.body.getReader();return Ui(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=Mo(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(vo(e?.abortSignal?eo(e.abortSignal,"abort"):Ei),po(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class jo{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new To({"capitalize-method":ko(),"request-validation":Uo()});constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}class zo extends Error{}const Ho=["http:","https:","ws:","wss:"];class qo extends Do{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.3",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a}=t,c=new o(n||"",{requestHandler:s,responseHandler:a});return Object.assign(c,{defaultScopes:r}),i?.(c),c}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return Ho.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new zo(`No registered http client for key [${e}]`);return n}var t;return e}}function Vo(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new ei(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=Cr(Cr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?Ai(n(e)).subscribe(ri(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const Wo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new vr("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof vr)throw t;throw new vr("failed to parse response",e,{cause:t})}},Zo=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class Ko{uri;requestHandler;responseHandler;_request$=new si;_response$=new si;_abort$=new si;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new To(t?.requestHandler),this.responseHandler=new xo(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return ji(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??Wo,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return ji(this.json$(e,t))}blob$(e,t){const n=t?.selector??Zo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return ji(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=Go({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{};return Bi({...r,path:e,uri:this._resolveUrl(e)}).pipe(go(e=>this._prepareRequest(e)),yo(e=>this._request$.next(e)),go(({uri:e,path:t,...n})=>Vo(e,n)),go(e=>this._prepareResponse(e)),yo(e=>this._response$.next(e)),go(e=>{if(n)try{return n(e)}catch(t){throw new gr("failed to execute response selector",e,{cause:t})}return Bi(e)}),vo(this._abort$))}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class Yo extends Ko{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const Xo={name:"http",configure:()=>new jo(Yo),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new qo(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},Jo=(...e)=>t=>t.pipe(function(e,t){return Tr(t)?Yi(e,t,1):Yi(e,1)}(...e)),Qo=(...e)=>t=>t.pipe(Yi(...e)),es=(...e)=>t=>t.pipe(go(...e)),ts=e=>e.pipe(Vi(e=>e.value));var ns=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function rs(e){if(!function(e){return"string"==typeof e&&ns.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const is=[];for(let e=0;e<256;++e)is.push((e+256).toString(16).slice(1));function os(e,t=0){return(is[e[t+0]]+is[e[t+1]]+is[e[t+2]]+is[e[t+3]]+"-"+is[e[t+4]]+is[e[t+5]]+"-"+is[e[t+6]]+is[e[t+7]]+"-"+is[e[t+8]]+is[e[t+9]]+"-"+is[e[t+10]]+is[e[t+11]]+is[e[t+12]]+is[e[t+13]]+is[e[t+14]]+is[e[t+15]]).toLowerCase()}const ss=new Uint8Array(16);function as(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?rs(r):r;if("string"==typeof r&&(r=rs(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return os(c)}function cs(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(ss);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,os(t)}(e)}function ls(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function us(e,t){return e<<t|e>>>32-t}function fs(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/2**32,s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=us(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=us(i,5)+ls(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=us(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function ps(e,t,n,r){return as(80,fs,e,t,n,r)}ps.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",ps.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class ds extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var hs=Symbol.for("immer-nothing"),ms=Symbol.for("immer-draftable"),gs=Symbol.for("immer-state"),vs="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function ys(e,...t){if("production"!==process.env.NODE_ENV){const n=vs[e],r=Gs(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Es=Object,bs=Es.getPrototypeOf,ws="constructor",Ls="prototype",Is="configurable",Ss="enumerable",Cs="writable",_s="value",Ds=e=>!!e&&!!e[gs];function Ps(e){return!!e&&(As(e)||ks(e)||!!e[ms]||!!e[ws]?.[ms]||Us(e)||Bs(e))}var Ns=Es[Ls][ws].toString(),Os=new WeakMap;function As(e){if(!e||!Ms(e))return!1;const t=bs(e);if(null===t||t===Es[Ls])return!0;const n=Es.hasOwnProperty.call(t,ws)&&t[ws];if(n===Object)return!0;if(!Gs(n))return!1;let r=Os.get(n);return void 0===r&&(r=Function.toString.call(n),Os.set(n,r)),r===Ns}function $s(e,t,n=!0){if(0===Rs(e)){(n?Reflect.ownKeys(e):Es.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function Rs(e){const t=e[gs];return t?t.type_:ks(e)?1:Us(e)?2:Bs(e)?3:0}var Ts=(e,t,n=Rs(e))=>2===n?e.has(t):Es[Ls].hasOwnProperty.call(e,t),xs=(e,t,n=Rs(e))=>2===n?e.get(t):e[t],Fs=(e,t,n,r=Rs(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var ks=Array.isArray,Us=e=>e instanceof Map,Bs=e=>e instanceof Set,Ms=e=>"object"==typeof e,Gs=e=>"function"==typeof e,js=e=>"boolean"==typeof e;var zs=e=>e.copy_||e.base_,Hs=e=>e.modified_?e.copy_:e.base_;function qs(e,t){if(Us(e))return new Map(e);if(Bs(e))return new Set(e);if(ks(e))return Array[Ls].slice.call(e);const n=As(e);if(!0===t||"class_only"===t&&!n){const t=Es.getOwnPropertyDescriptors(e);delete t[gs];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[Cs]&&(o[Cs]=!0,o[Is]=!0),(o.get||o.set)&&(t[i]={[Is]:!0,[Cs]:!0,[Ss]:o[Ss],[_s]:e[i]})}return Es.create(bs(e),t)}{const t=bs(e);if(null!==t&&n)return{...e};const r=Es.create(t);return Es.assign(r,e)}}function Vs(e,t=!1){return Zs(e)||Ds(e)||!Ps(e)||(Rs(e)>1&&Es.defineProperties(e,{set:Ws,add:Ws,clear:Ws,delete:Ws}),Es.freeze(e),t&&$s(e,(e,t)=>{Vs(t,!0)},!1)),e}var Ws={[_s]:function(){ys(2)}};function Zs(e){return null===e||!Ms(e)||Es.isFrozen(e)}var Ks="MapSet",Ys="Patches",Xs="ArrayMethods",Js={};function Qs(e){const t=Js[e];return t||ys(0,e),t}var ea,ta=e=>!!Js[e],na=()=>ea;function ra(e,t){t&&(e.patchPlugin_=Qs(Ys),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ia(e){oa(e),e.drafts_.forEach(aa),e.drafts_=null}function oa(e){e===ea&&(ea=e.parent_)}var sa=e=>ea={drafts_:[],parent_:ea,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ta(Ks)?Qs(Ks):void 0,arrayMethodsPlugin_:ta(Xs)?Qs(Xs):void 0};function aa(e){const t=e[gs];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function ca(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[gs].modified_&&(ia(t),ys(4)),Ps(e)&&(e=la(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[gs].base_,e,t)}else e=la(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Vs(t,n)}(t,e,!0),ia(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==hs?e:void 0}function la(e,t){if(Zs(t))return t;const n=t[gs];if(!n){return ma(t,e.handledSet_,e)}if(!fa(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}ha(n,e)}return n.copy_}function ua(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var fa=(e,t)=>e.scope_===t,pa=[];function da(e,t,n,r){const i=zs(e),o=e.type_;if(void 0!==r){if(xs(i,r,o)===t)return void Fs(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;$s(i,(e,n)=>{if(Ds(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??pa;for(const e of s)Fs(i,e,n,o)}function ha(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}ua(e)}}function ma(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Ds(e)||t.has(e)||!Ps(e)||Zs(e)||(t.add(e),$s(e,(r,i)=>{if(Ds(i)){const t=i[gs];if(fa(t,n)){const n=Hs(t);Fs(e,r,n,e.type_),ua(t)}}else Ps(i)&&ma(i,t,n)})),e}var ga={get(e,t){if(t===gs)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=zs(e);if(!Ts(i,t,e.type_))return function(e,t,n){const r=Ea(t,n);return r?_s in r?r[_s]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!Ps(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===ya(e.base_,t)||function(e,t,n){if(1!==e.type_||!e.allIndicesReassigned_||e.assigned_?.get(t)||!Ps(n)||n[gs])return!1;return e.baseRefs_.has(n)}(e,t,o)){wa(e);const n=1===e.type_?+t:t,r=La(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in zs(e),ownKeys:e=>Reflect.ownKeys(zs(e)),set(e,t,n){const r=Ea(zs(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=ya(zs(e),t),s=r?.[gs];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||Ts(e.base_,t,e.type_)))return!0;wa(e),ba(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||Ts(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Ds(n)){const i=n[gs];fa(i,r)&&i.callbacks_.push(function(){wa(e);const r=Hs(i);da(e,n,r,t)})}else Ps(n)&&e.callbacks_.push(function(){const i=zs(e);3===e.type_?i.has(n)&&ma(n,r.handledSet_,r):xs(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&ma(xs(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(wa(e),void 0!==ya(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),ba(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=zs(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Cs]:!0,[Is]:1!==e.type_||"length"!==t,[Ss]:r[Ss],[_s]:n[t]}:r},defineProperty(){ys(11)},getPrototypeOf:e=>bs(e.base_),setPrototypeOf(){ys(12)}},va={};for(let e in ga){let t=ga[e];va[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function ya(e,t){const n=e[gs];return(n?zs(n):e)[t]}function Ea(e,t){if(!(t in e))return;let n=bs(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=bs(n)}}function ba(e){e.modified_||(e.modified_=!0,e.parent_&&ba(e.parent_))}function wa(e){e.copy_||(e.assigned_=new Map,e.copy_=qs(e.base_,e.scope_.immer_.useStrictShallowCopy_))}va.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&ys(13),va.set.call(this,e,t,void 0)},va.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&ys(14),ga.set.call(this,e[0],t,n,e[0])};function La(e,t,n,r){const[i,o]=Us(t)?Qs(Ks).proxyMap_(t,n):Bs(t)?Qs(Ks).proxySet_(t,n):function(e,t){const n=ks(e),r={type_:n?1:0,scope_:t?t.scope_:na(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=ga;n&&(i=[r],o=va);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??na()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!fa(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Hs(i);da(e,i.draft_??i,o,n),ha(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function Ia(e){if(!Ps(e)||Zs(e))return e;const t=e[gs];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=qs(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=qs(e,!0);return $s(n,(e,t)=>{Fs(n,e,Ia(t))},r),t&&(t.finalized_=!1),n}var Sa=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Gs(e)&&!Gs(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(Gs(t)||ys(6),void 0===n||Gs(n)||ys(7),Ps(e)){const i=sa(this),o=La(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?ia(i):oa(i)}return ra(i,n),ca(r,i)}if(!e||!Ms(e)){if(r=t(e),void 0===r&&(r=e),r===hs&&(r=void 0),this.autoFreeze_&&Vs(r,!0),n){const t=[],i=[];Qs(Ys).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ys(1,e)},this.produceWithPatches=(e,t)=>{if(Gs(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},js(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),js(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),js(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){Ps(e)||ys(8),Ds(e)&&(e=function(e){Ds(e)||ys(10,e);return Ia(e)}(e));const t=sa(this),n=La(t,e,void 0);return n[gs].isManual_=!0,oa(t),n}finishDraft(e,t){const n=e&&e[gs];n&&n.isManual_||ys(9);const{scope_:r}=n;return ra(r,t),ca(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=Qs(Ys).applyPatches_;return Ds(e)?r(e,t):this.produce(e,e=>r(e,t))}},Ca=Sa.produce;const _a=(...e)=>ro(t=>e.includes(t.type));class Da extends ei{#ae=new si;#ce;get action$(){return this.#ae.asObservable()}get value(){return this.#ce.value}get closed(){return this.#ce.closed||this.#ae.closed}constructor(e,t){super(e=>this.#ce.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#ce=new ci(n),this.#ae.pipe(function(e,t){return ni(oo(e,t,arguments.length>=2,!0))}(e,n),co()).subscribe(this.#ce),this.reset=()=>this.#ce.next(n)}reset;next(e){this.#ae.next(e)}select(e,t){return this.#ce.pipe(Vi(e),co(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(_a(...e)):this.action$.pipe(_a(e)),r=t||e;return n.pipe(Yi(e=>Ui(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(io(e=>(console.warn("unhandled effect",e),Ei)))),ro(e=>!!e),Ti(vi)).subscribe(this.#ae)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(io(e=>(console.trace("unhandled exception, epic closed!",e),Ei)),Ti(vi)).subscribe(this.#ae)}unsubscribe(){this.#ae.unsubscribe(),this.#ce.unsubscribe()}complete(){this.#ae.complete(),this.#ce.complete()}asObservable(){return this.#ce.asObservable()}}function Pa(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}const Na="::";function Oa(e,t,n,r){const i=Pa([e,"request"].join(Na),t);return n&&Object.assign(i,{success:Pa([e,"success"].join(Na),n)}),r&&Object.assign(i,{failure:Pa([e,"failure"].join(Na),r)}),i}function Aa(e){return Ps(e)?Ca(e,()=>{}):e}function $a(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>Aa(e());else{const t=Aa(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];return i&&0===s.filter(e=>!!e).length&&(s=[i]),s.reduce((e,n)=>{if(n){if(Ds(e)){const r=n(e,t);return void 0===r?e:r}if(Ps(e))return Ca(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const Ra={request:Pa("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:cs(),created:Date.now()}})),execute:Oa("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:Pa("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:Pa("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Ta=e=>e.pipe(ro(Ra.request.match),Vi(e=>Ra.execute(e.meta.transaction)));class xa extends ei{#le=new ci("idle");get status(){return this.#le.value}get status$(){return this.#le.asObservable()}#ue;#fe;get transaction(){return this.#fe}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(ro(e=>e.meta.transaction===r));t.add(e.state$.pipe(ro(e=>!!e[r]),Vi(e=>e[r])).subscribe(e=>{this.#le.next(e.status)})),t.add(i.pipe(ro(Ra.execute.success.match),Vi(({payload:e})=>e)).subscribe(e=>{this.#le.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(ro(Ra.error.match),Vi(({payload:e})=>e)).subscribe(e=>{this.#le.next("error"),t.error(e.error)})),t.add(i.pipe(ro(Ra.cancel.match)).subscribe(e=>{this.#le.next("canceled"),t.error(new ds("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#ue.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(eo(n?.signal,"abort").pipe(Vi(()=>Ra.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#ue=e;const r=Ra.request(t,{ref:n?.ref,retry:n?.retry});this.#fe=r.meta.transaction,this.#ue.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#ue.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class Fa{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class ka extends ei{#ce;#pe;#de;_registerEvent(e,t,n){this.#de.next(new Fa(e,t,n))}get closed(){return this.#ce.closed}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}get event$(){return this.#de.asObservable()}get success$(){return this.action$.pipe(ro(Ra.execute.success.match),Vi(({payload:e})=>e))}get error$(){return this.action$.pipe(_a("client/error"),Eo(this.#ce),Vi(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new ds("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#ce.subscribe(e)),this.#ce=new Da(((e={})=>$a(e,e=>{e.addCase(Ra.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(Ra.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(Ra.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(Ra.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(Ra.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(Ra.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#pe=new Ur(()=>{this.#ce.complete(),this.#de.complete()}),this.#de=new si,this.#pe.add(this.#ce.addFlow(Ta)),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(ro(Ra.execute.match),Eo(n),Yi(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(ro(Ra.cancel.match),ro(e=>e.payload.transaction===i),yo(()=>{s.signal.aborted||s.abort()}));try{return Ui(e(o.args,s.signal)).pipe(Vi(e=>Ra.execute.success({...o,status:"complete",completed:Date.now(),value:e})),io(e=>Bi(Ra.execute.failure(e,i))),vo(a))}catch(e){return Bi(Ra.execute.failure(e,i))}})))(e))),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(ro(Ra.execute.failure.match),Eo(n),Yi(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return Bi(Ra.error(i,new ds("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new ds("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new ds("error",{message:"maximum retries executed!",cause:o.errors,request:o});return Bi(Ra.error(i,e))}return("function"==typeof a.delay?Ui(a.delay(c)).pipe(io(e=>Bi(Ra.error(i,new ds("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):no(a.delay)).pipe(Eo(n),ro(([e,t])=>!!t[i]),yo(([,e])=>{if(!e[i])throw new ds("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Vi(()=>Ra.execute(i)))})))(Object.assign({count:0,delay:0},t?.retry)))),this.#ce.addEffect(Ra.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#ce.addEffect(Ra.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#ce.addEffect(Ra.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#ce.addEffect(Ra.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#ce.addEffect(Ra.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#ce.addEffect(Ra.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#ce.next(e)}query(e,t){const n=new xa(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new si}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return ni(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=mo(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Kr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=mo(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=mo(p,s),m.complete()}}),Ai(e).subscribe(t))})(e)}}({connector:()=>new ui,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return ji(this.query(e,t))}getRequest(e){return this.#ce.value[e]}getRequestByRef(e){return Object.values(this.#ce.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#ce.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#ce.next(Ra.cancel(e,t)));else for(const e of Object.keys(this.#ce.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#ce.addEffect(Ra[e].type,e=>{t(e,this)})}complete(){this.#pe.unsubscribe()}}const Ua={set:Pa("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:Pa("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:Pa("cache/remove",e=>({payload:e})),invalidate:Pa("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:Pa("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:Pa("cache/trim",e=>({payload:e}))},Ba=(e,t)=>(t.updated??0)-(e.updated??0);class Ma{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ga{#ce;#de;get state(){return this.#ce.value}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}_registerEvent(e,t){this.#de.next(new Ma(e,t?.key,t?.data))}get event$(){return this.#de.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#ce=new Da(function(e,t={}){return $a(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??Ba,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(Ua,n)),t&&this.#ce.addEffect("cache/set",()=>this.#ce.next(Ua.trim(t))),this.#de=new si}has(e){return e in this.#ce.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#ce.next(Ua.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#ce.value[e]}removeItem(e){this.#ce.next(Ua.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#ce.value[e]:void 0;this.#ce.next(Ua.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#ce.value?this.#ce.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#ce.next(Ua.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#ce.next(Ua.set(e,n))}trim(e){const t=new Set(Object.keys(this.#ce.value));this.#ce.next(Ua.trim(e));const n=new Set(Object.keys(this.#ce.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#ce.reset(),this._registerEvent("query_cache_reset")}complete(){this.#ce.complete(),this.#de.complete()}}class ja extends si{key;args;options;#he=Date.now();get created(){return this.#he}#me=cs();get uuid(){return this.#me}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Vi(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),po(()=>{e.complete()})).subscribe(this)}}class za{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ha{static extractQueryValue=ts;#pe=new Ur;#ue;#ge;#ve=new si;#ye={};#Ee;#be;#we=cs();#se;get client(){return this.#ue}_registerEvent(e,t,n){this.#se.next(new za(e,t,n))}get cache(){return this.#ge}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new si,this.#Ee=t=>ps(e.key(t),this.#we),this.#be=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof ka?this.#ue=e.client:(this.#ue=new ka(e.client.fn,{...e.client.options}),this.#pe.add(()=>this.#ue.complete())),this.#pe.add(this.#ue.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof Ga?this.#ge=e.cache:(this.#ge=new Ga(e.cache||{}),this.#pe.add(()=>this.#ge.complete())),this.#pe.add(this.#ge.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return Jo;case"merge":return Qo;case"switch":return es;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#pe.add(()=>this.#ve.complete()),this.#pe.add(this.#ve.pipe(yo(e=>{this._registerEvent("query_queued",e)}),ro(e=>!!(e in this.#ye)),t(e=>{const t=this.#ye[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#ye[e],Ei;const o=this.#ue.query(n,{...r,ref:t.uuid});return new ei(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#ye[e]}),s.add((c=10,void 0===l&&(l=vi),no(c,c,l)).pipe(ro(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(Vi(e=>({result:e,task:t})),io(()=>Ei)).subscribe(s)})}),(n=()=>!this.#ue.closed,void 0===r&&(r=!1),ni(function(e,t){var i=0;e.subscribe(ri(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#ge.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?ji:Gi;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(uo())).then(n,o)})}persistentQuery(e,t){const n=this.#Ee(e),r=this._query(e,t);return new ei(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#be;i.add(this.cache.state$.pipe(ro(e=>n in e),Vi(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(co((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#Ee(e)}mutate(e,t,n){const r=this.#Ee(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:cs(),value:i})}return this.#ge.mutate(r,t)}invalidate(e){this.#ge.invalidate(e&&this.#Ee(e))}complete(){this.#pe.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ge.action$.pipe(_a("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ge.action$.pipe(_a("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#Ee(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new ei(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(eo(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ge.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#be)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#ye;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#ye[e]=new ja(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#ye[e].uuid,args:t,options:n}));const s=this.#ye[e];r.add(s.subscribe(r)),o||this.#ve.next(e)})}}const qa=x.object({key:x.string().describe("The key used to identify the service"),uri:x.string().describe("The URI of the service"),id:x.string().optional().describe("The ID of the service"),environment:x.string().optional().describe("The environment of the service"),name:x.string().optional().describe("The name of the service"),scopes:x.array(x.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:x.array(x.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Va=x.array(qa).describe("A list of services from the service discovery API");class Wa{#Le;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Le=new Ha({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=Ui(Wo(e)).pipe(Vi(e=>Va.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?ji:Gi)(Ha.extractQueryValue(this.#Le.query()))}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class Za extends wo{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return Gi(Ui(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await Gi(Ui(e(t)))??{};if(n)return new Wa({http:n,endpoint:r,postProcess:Vi(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Ka extends Do{config;_http;constructor(e,t){super({version:"10.0.1",config:e}),this.config=e,this._http=t}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:Xo,configure:e=>{e.configureClient(s,a)}}))}}const Ya={name:"serviceDiscovery",configure:()=>new Za,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Ka(r,i)}},Xa=(e,t)=>{e.addConfig((e=>({module:Ya,configure:t=>e(t)}))(()=>Promise.resolve()))};var Ja,Qa,ec,tc={},nc=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function rc(){return Ja||(Ja=1,function(e){const t=nc,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(tc)),tc}var ic=q(ec?Qa:(ec=1,Qa=rc().isCI));const oc=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"];var sc;!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(sc||(sc={}));const ac=e=>e&&!ic?sc.Development:sc.ContinuesIntegration,cc=e=>{const t=new $o,n=e.env??sc.ContinuesIntegration;t.addConfig({module:Xo,configure:t=>{const r=n===sc.Development?sc.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??oc;t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),Xa(t);const{auth:r}=e;return H(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");return void e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}ic?e.setDefaultCredential():e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},lc=async(e,t)=>{const n=cc(e);t&&t(n);return await n.initialize()},uc=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},fc=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("🗜️","Using artifact-based validation from bundle:",n);const e=new Zn(n),i=await(async e=>{const t=await uc(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("📦",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("🚫","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("📁","Using traditional validation from local project files");const e=await nn(t);r=(await tn({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await lc({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:ir});if(n.ok)return t?.succeed("😃",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("😞",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("😞",`Application ${r} is deleted from app store`),!1;const o=cr(n.status,`check registration for ${r}`);throw o&&(t?.fail("🔒",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=lr(e,`check registration for ${r}`);return n&&(t?.fail("🔒",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}};const pc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Zn(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await uc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("📦",`Uploading application bundle for ${r.bold(o)}`),t?.debug("Bundle contents:",(await i.getEntries()).map(e=>e.entryName));const s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...ir,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`🤯 error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=cr(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("🔒",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("🙅♂️",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",i);try{return{appKey:o,version:(await i.json()).version}}catch(e){t?.fail("🙅♂️",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=lr(e,`upload bundle for ${o}`);n&&(t?.fail("🔒",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},dc=async e=>{const{tag:t,appKey:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("🤪","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("🤪",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("🤪","Application key is required."),process.exit(1)),i||(s?.fail("🤪","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("🌎","Executing request to:",Qt(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:ir});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof vr)switch(e.response.status){case 410:s?.fail("🤬",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("🤬",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=cr(e.response.status,`tag ${n}@${i}`);s?.fail("🔒","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("🤬","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=lr(e,`tag ${n}@${i}`);t&&(s?.fail("🔒",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("🤬","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},hc=F.object({templateEntry:F.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:F.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:F.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:F.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:F.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:F.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:F.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:F.record(F.string(),F.string().nullish()).optional().transform(e=>{if(e)return Object.fromEntries(Object.entries(e).filter(([,e])=>void 0!==e))}).describe("Optional build annotations"),projectPage:F.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:F.array(F.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:F.record(F.string(),F.unknown()).optional().describe("Optional schema for the portal"),config:F.record(F.string(),F.unknown()).optional().describe("Optional configuration for the portal")}),mc=F.object({name:F.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:F.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:F.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:hc}),gc=(e,t)=>{Rt(t,"expected packageJson"),O(t.name,"expected [name] in packageJson"),O(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":ct(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=Tt(t)??xt(),a={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:Ft(),annotations:{...Mt()},projectPage:t.homepage,allowedExtensions:Gt.map(e=>`.${e}`)}},c=mc.safeParse(a);if(!c.success){const e=c.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return c.data},vc=async(e,t,n)=>{const i=gc(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await _(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?P(r,i):r}}}),i=r.config,o=mc.safeParse(i);if(!o.success)throw new Error(`Invalid portal manifest: ${o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ")}`);return{manifest:i,path:r.path,extension:r.extension}})(e,{base:i});return n?.log?.succeed("generated manifest from",Qt(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof D){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${Qt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?Qt(n?.manifestPath):""}`),e}},yc=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return _(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??x.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("⚙️ generated config from ",Qt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof D){if(!t.config)return n?.succeed(r.dim("⚙️ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${Qt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},Ec=async e=>{const{log:n}=e??{},r=await nn(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await vc(i,r,{log:n,manifestPath:e?.manifest}),s=await yc(i,{log:n,config:e?.config}),a=t(await $t(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await nr(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},bc=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await nn(n);n?.start("Loading Vite config...");const c=await $t({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await vc(f,s,{log:n,manifestPath:e?.manifest}),d=await yc(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!w(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await $t(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await nr(f,g,{overrides:m,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},wc=async e=>{const{log:t}=e??{},n=await nn(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await vc(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},Lc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await wc({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await $t(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("🤞🏻","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed 😘");return{pkg:o,manifest:i,outDir:a.build.outDir}},Ic=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await Lc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await _(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await pr(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},Sc=async e=>{const{log:t}=e??{},n=await nn(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await yc(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await ur(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",Qt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},Cc=async e=>{const{log:t,portal:n}=e,{config:i}=await Sc({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await lc({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("🌎","Executing request to:",Qt(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",r.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:i,headers:ir});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof vr)switch(e.response.status){case 410:t?.fail("🤬",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("🤬",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=cr(e.response.status,`publish config for portal ${n.name}`);t?.fail("🔒","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("🤬","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=lr(e,`publish config for portal ${n.name}`);r&&(t?.fail("🔒",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("🤬","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const _c=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Zn(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await uc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...ir,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`🤯 error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=cr(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("🔒",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("🙅♂️",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",i)}catch(e){const n=lr(e,`upload portal bundle for ${o}`);n&&(t?.fail("🔒",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},Dc=async e=>{const{tag:t,name:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("🤪","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("🤪",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("🤪","Portal name is required."),process.exit(1)),i||(s?.fail("🤪","Version is required."),process.exit(1)),s?.info("Tagging portal:",r.greenBright(`${n}@${t}`,i));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("🌎","Executing request to:",Qt(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:ir});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("🚀",JSON.stringify(r))}catch(e){if(e instanceof vr){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(r.red(`🤯 error: ${t.code}\n`),r.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`🤬 - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`🤬 - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=cr(o?.status??401,`tag portal ${n}@${i}`);s?.fail("🔒","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`🤬 - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=lr(e,`tag portal ${n}@${i}`);t&&(s?.fail("🔒",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("🤬","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}};export{Qn as ConsoleLogger,sc as FusionEnv,on as buildApplication,Lc as buildPortal,dr as bundleApp,Ic as bundlePortal,fc as checkApp,cc as configureFramework,mr as generateApplicationConfig,Sc as generatePortalConfig,lc as initializeFramework,rn as loadAppManifest,wc as loadPortalManifest,pr as pack,Er as publishAppConfig,Cc as publishPortalConfig,ac as resolveDefaultEnv,wr as serveApplication,bc as servePortal,br as startAppDevServer,Ec as startPortalDevServer,dc as tagApplication,Dc as tagPortal,pc as uploadApplication,_c as uploadPortalBundle};
|
|
1
|
+
import{loadConfigFromFile as e,mergeConfig as t,build as n}from"vite";import r from"chalk";import i from"vite-tsconfig-paths";import o,{dirname as s,resolve as a,basename as c,extname as l,relative as u}from"node:path";import{readPackageUp as f}from"read-package-up";import p,{fileURLToPath as d}from"node:url";import h from"node:module";import m from"util";import g,{accessSync as v,constants as y,readFileSync as E,statSync as b,existsSync as w,mkdirSync as L,writeFileSync as I}from"node:fs";import{importConfig as S,FileNotFoundError as C}from"@equinor/fusion-imports";import _ from"deepmerge";import{rawImportsPlugin as D}from"@equinor/fusion-framework-vite-plugin-raw-imports";import P from"node:assert";import{execSync as N}from"node:child_process";import{coerce as O,SemVer as A,satisfies as $}from"semver";import R,{z as T}from"zod";import x from"fs";import F from"path";import U from"zlib";import k from"crypto";import{stat as B,mkdir as M}from"node:fs/promises";import G from"ora";import{processServices as j,createDevServer as z}from"@equinor/fusion-framework-dev-server";import{enableAzureIdentityAuth as H}from"@equinor/fusion-framework-module-azure-identity";function q(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var V,W,Z,K;function Y(){if(W)return V;W=1;const e="object"==typeof process&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};return V=e}function X(){if(K)return Z;K=1;const e=Number.MAX_SAFE_INTEGER||9007199254740991;return Z={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_BUILD_LENGTH:250,MAX_SAFE_INTEGER:e,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}var J,Q,ee,te,ne,re,ie,oe,se,ae,ce,le,ue,fe={exports:{}};function pe(){return J||(J=1,function(e,t){const{MAX_SAFE_COMPONENT_LENGTH:n,MAX_SAFE_BUILD_LENGTH:r,MAX_LENGTH:i}=X(),o=Y(),s=(t=e.exports={}).re=[],a=t.safeRe=[],c=t.src=[],l=t.safeSrc=[],u=t.t={};let f=0;const p="[a-zA-Z0-9-]",d=[["\\s",1],["\\d",i],[p,r]],h=(e,t,n)=>{const r=(e=>{for(const[t,n]of d)e=e.split(`${t}*`).join(`${t}{0,${n}}`).split(`${t}+`).join(`${t}{1,${n}}`);return e})(t),i=f++;o(e,i,t),u[e]=i,c[i]=t,l[i]=r,s[i]=new RegExp(t,n?"g":void 0),a[i]=new RegExp(r,n?"g":void 0)};h("NUMERICIDENTIFIER","0|[1-9]\\d*"),h("NUMERICIDENTIFIERLOOSE","\\d+"),h("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${p}*`),h("MAINVERSION",`(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})\\.(${c[u.NUMERICIDENTIFIER]})`),h("MAINVERSIONLOOSE",`(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})\\.(${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASEIDENTIFIER",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIER]})`),h("PRERELEASEIDENTIFIERLOOSE",`(?:${c[u.NONNUMERICIDENTIFIER]}|${c[u.NUMERICIDENTIFIERLOOSE]})`),h("PRERELEASE",`(?:-(${c[u.PRERELEASEIDENTIFIER]}(?:\\.${c[u.PRERELEASEIDENTIFIER]})*))`),h("PRERELEASELOOSE",`(?:-?(${c[u.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[u.PRERELEASEIDENTIFIERLOOSE]})*))`),h("BUILDIDENTIFIER",`${p}+`),h("BUILD",`(?:\\+(${c[u.BUILDIDENTIFIER]}(?:\\.${c[u.BUILDIDENTIFIER]})*))`),h("FULLPLAIN",`v?${c[u.MAINVERSION]}${c[u.PRERELEASE]}?${c[u.BUILD]}?`),h("FULL",`^${c[u.FULLPLAIN]}$`),h("LOOSEPLAIN",`[v=\\s]*${c[u.MAINVERSIONLOOSE]}${c[u.PRERELEASELOOSE]}?${c[u.BUILD]}?`),h("LOOSE",`^${c[u.LOOSEPLAIN]}$`),h("GTLT","((?:<|>)?=?)"),h("XRANGEIDENTIFIERLOOSE",`${c[u.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),h("XRANGEIDENTIFIER",`${c[u.NUMERICIDENTIFIER]}|x|X|\\*`),h("XRANGEPLAIN",`[v=\\s]*(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:\\.(${c[u.XRANGEIDENTIFIER]})(?:${c[u.PRERELEASE]})?${c[u.BUILD]}?)?)?`),h("XRANGEPLAINLOOSE",`[v=\\s]*(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[u.XRANGEIDENTIFIERLOOSE]})(?:${c[u.PRERELEASELOOSE]})?${c[u.BUILD]}?)?)?`),h("XRANGE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAIN]}$`),h("XRANGELOOSE",`^${c[u.GTLT]}\\s*${c[u.XRANGEPLAINLOOSE]}$`),h("COERCEPLAIN",`(^|[^\\d])(\\d{1,${n}})(?:\\.(\\d{1,${n}}))?(?:\\.(\\d{1,${n}}))?`),h("COERCE",`${c[u.COERCEPLAIN]}(?:$|[^\\d])`),h("COERCEFULL",c[u.COERCEPLAIN]+`(?:${c[u.PRERELEASE]})?`+`(?:${c[u.BUILD]})?(?:$|[^\\d])`),h("COERCERTL",c[u.COERCE],!0),h("COERCERTLFULL",c[u.COERCEFULL],!0),h("LONETILDE","(?:~>?)"),h("TILDETRIM",`(\\s*)${c[u.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",h("TILDE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAIN]}$`),h("TILDELOOSE",`^${c[u.LONETILDE]}${c[u.XRANGEPLAINLOOSE]}$`),h("LONECARET","(?:\\^)"),h("CARETTRIM",`(\\s*)${c[u.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",h("CARET",`^${c[u.LONECARET]}${c[u.XRANGEPLAIN]}$`),h("CARETLOOSE",`^${c[u.LONECARET]}${c[u.XRANGEPLAINLOOSE]}$`),h("COMPARATORLOOSE",`^${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]})$|^$`),h("COMPARATOR",`^${c[u.GTLT]}\\s*(${c[u.FULLPLAIN]})$|^$`),h("COMPARATORTRIM",`(\\s*)${c[u.GTLT]}\\s*(${c[u.LOOSEPLAIN]}|${c[u.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",h("HYPHENRANGE",`^\\s*(${c[u.XRANGEPLAIN]})\\s+-\\s+(${c[u.XRANGEPLAIN]})\\s*$`),h("HYPHENRANGELOOSE",`^\\s*(${c[u.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[u.XRANGEPLAINLOOSE]})\\s*$`),h("STAR","(<|>)?=?\\s*\\*"),h("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),h("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}(fe,fe.exports)),fe.exports}function de(){if(ie)return re;ie=1;const e=Y(),{MAX_LENGTH:t,MAX_SAFE_INTEGER:n}=X(),{safeRe:r,t:i}=pe(),o=function(){if(ee)return Q;ee=1;const e=Object.freeze({loose:!0}),t=Object.freeze({});return Q=n=>n?"object"!=typeof n?e:n:t}(),{compareIdentifiers:s}=function(){if(ne)return te;ne=1;const e=/^[0-9]+$/,t=(t,n)=>{if("number"==typeof t&&"number"==typeof n)return t===n?0:t<n?-1:1;const r=e.test(t),i=e.test(n);return r&&i&&(t=+t,n=+n),t===n?0:r&&!i?-1:i&&!r?1:t<n?-1:1};return te={compareIdentifiers:t,rcompareIdentifiers:(e,n)=>t(n,e)}}();class a{constructor(s,c){if(c=o(c),s instanceof a){if(s.loose===!!c.loose&&s.includePrerelease===!!c.includePrerelease)return s;s=s.version}else if("string"!=typeof s)throw new TypeError(`Invalid version. Must be a string. Got type "${typeof s}".`);if(s.length>t)throw new TypeError(`version is longer than ${t} characters`);e("SemVer",s,c),this.options=c,this.loose=!!c.loose,this.includePrerelease=!!c.includePrerelease;const l=s.trim().match(c.loose?r[i.LOOSE]:r[i.FULL]);if(!l)throw new TypeError(`Invalid Version: ${s}`);if(this.raw=s,this.major=+l[1],this.minor=+l[2],this.patch=+l[3],this.major>n||this.major<0)throw new TypeError("Invalid major version");if(this.minor>n||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>n||this.patch<0)throw new TypeError("Invalid patch version");l[4]?this.prerelease=l[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){const t=+e;if(t>=0&&t<n)return t}return e}):this.prerelease=[],this.build=l[5]?l[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(e("SemVer.compare",this.version,this.options,t),!(t instanceof a)){if("string"==typeof t&&t===this.version)return 0;t=new a(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(e){return e instanceof a||(e=new a(e,this.options)),this.major<e.major?-1:this.major>e.major?1:this.minor<e.minor?-1:this.minor>e.minor?1:this.patch<e.patch?-1:this.patch>e.patch?1:0}comparePre(t){if(t instanceof a||(t=new a(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let n=0;do{const r=this.prerelease[n],i=t.prerelease[n];if(e("prerelease compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}compareBuild(t){t instanceof a||(t=new a(t,this.options));let n=0;do{const r=this.build[n],i=t.build[n];if(e("build compare",n,r,i),void 0===r&&void 0===i)return 0;if(void 0===i)return 1;if(void 0===r)return-1;if(r!==i)return s(r,i)}while(++n)}inc(e,t,n){if(e.startsWith("pre")){if(!t&&!1===n)throw new Error("invalid increment argument: identifier is empty");if(t){const e=`-${t}`.match(this.options.loose?r[i.PRERELEASELOOSE]:r[i.PRERELEASE]);if(!e||e[1]!==t)throw new Error(`invalid identifier: ${t}`)}}switch(e){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",t,n);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",t,n);break;case"prepatch":this.prerelease.length=0,this.inc("patch",t,n),this.inc("pre",t,n);break;case"prerelease":0===this.prerelease.length&&this.inc("patch",t,n),this.inc("pre",t,n);break;case"release":if(0===this.prerelease.length)throw new Error(`version ${this.raw} is not a prerelease`);this.prerelease.length=0;break;case"major":0===this.minor&&0===this.patch&&0!==this.prerelease.length||this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":0===this.patch&&0!==this.prerelease.length||this.minor++,this.patch=0,this.prerelease=[];break;case"patch":0===this.prerelease.length&&this.patch++,this.prerelease=[];break;case"pre":{const e=Number(n)?1:0;if(0===this.prerelease.length)this.prerelease=[e];else{let r=this.prerelease.length;for(;--r>=0;)"number"==typeof this.prerelease[r]&&(this.prerelease[r]++,r=-2);if(-1===r){if(t===this.prerelease.join(".")&&!1===n)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let r=[t,e];!1===n&&(r=[t]),0===s(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=r):this.prerelease=r}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}}return re=a}function he(){if(se)return oe;se=1;const e=de();return oe=(t,n,r=!1)=>{if(t instanceof e)return t;try{return new e(t,n)}catch(e){if(!r)return null;throw e}},oe}var me,ge,ve,ye,Ee,be,we,Le,Ie,Se,Ce=["0BSD","3D-Slicer-1.0","AAL","ADSL","AFL-1.1","AFL-1.2","AFL-2.0","AFL-2.1","AFL-3.0","AGPL-1.0-only","AGPL-1.0-or-later","AGPL-3.0-only","AGPL-3.0-or-later","ALGLIB-Documentation","AMD-newlib","AMDPLPA","AML","AML-glslang","AMPAS","ANTLR-PD","ANTLR-PD-fallback","APAFML","APL-1.0","APSL-1.0","APSL-1.1","APSL-1.2","APSL-2.0","ASWF-Digital-Assets-1.0","ASWF-Digital-Assets-1.1","Abstyles","AdaCore-doc","Adobe-2006","Adobe-Display-PostScript","Adobe-Glyph","Adobe-Utopia","Advanced-Cryptics-Dictionary","Afmparse","Aladdin","Apache-1.0","Apache-1.1","Apache-2.0","App-s2p","Arphic-1999","Artistic-1.0","Artistic-1.0-Perl","Artistic-1.0-cl8","Artistic-2.0","Artistic-dist","Aspell-RU","BOLA-1.1","BSD-1-Clause","BSD-2-Clause","BSD-2-Clause-Darwin","BSD-2-Clause-Patent","BSD-2-Clause-Views","BSD-2-Clause-first-lines","BSD-2-Clause-pkgconf-disclaimer","BSD-3-Clause","BSD-3-Clause-Attribution","BSD-3-Clause-Clear","BSD-3-Clause-HP","BSD-3-Clause-LBNL","BSD-3-Clause-Modification","BSD-3-Clause-No-Military-License","BSD-3-Clause-No-Nuclear-License","BSD-3-Clause-No-Nuclear-License-2014","BSD-3-Clause-No-Nuclear-Warranty","BSD-3-Clause-Open-MPI","BSD-3-Clause-Sun","BSD-3-Clause-Tso","BSD-3-Clause-acpica","BSD-3-Clause-flex","BSD-4-Clause","BSD-4-Clause-Shortened","BSD-4-Clause-UC","BSD-4.3RENO","BSD-4.3TAHOE","BSD-Advertising-Acknowledgement","BSD-Attribution-HPND-disclaimer","BSD-Inferno-Nettverk","BSD-Mark-Modifications","BSD-Protection","BSD-Source-Code","BSD-Source-beginning-file","BSD-Systemics","BSD-Systemics-W3Works","BSL-1.0","BUSL-1.1","Baekmuk","Bahyph","Barr","Beerware","BitTorrent-1.0","BitTorrent-1.1","Bitstream-Charter","Bitstream-Vera","BlueOak-1.0.0","Boehm-GC","Boehm-GC-without-fee","Borceux","Brian-Gladman-2-Clause","Brian-Gladman-3-Clause","Buddy","C-UDA-1.0","CAL-1.0","CAL-1.0-Combined-Work-Exception","CAPEC-tou","CATOSL-1.1","CC-BY-1.0","CC-BY-2.0","CC-BY-2.5","CC-BY-2.5-AU","CC-BY-3.0","CC-BY-3.0-AT","CC-BY-3.0-AU","CC-BY-3.0-DE","CC-BY-3.0-IGO","CC-BY-3.0-NL","CC-BY-3.0-US","CC-BY-4.0","CC-BY-NC-1.0","CC-BY-NC-2.0","CC-BY-NC-2.5","CC-BY-NC-3.0","CC-BY-NC-3.0-DE","CC-BY-NC-4.0","CC-BY-NC-ND-1.0","CC-BY-NC-ND-2.0","CC-BY-NC-ND-2.5","CC-BY-NC-ND-3.0","CC-BY-NC-ND-3.0-DE","CC-BY-NC-ND-3.0-IGO","CC-BY-NC-ND-4.0","CC-BY-NC-SA-1.0","CC-BY-NC-SA-2.0","CC-BY-NC-SA-2.0-DE","CC-BY-NC-SA-2.0-FR","CC-BY-NC-SA-2.0-UK","CC-BY-NC-SA-2.5","CC-BY-NC-SA-3.0","CC-BY-NC-SA-3.0-DE","CC-BY-NC-SA-3.0-IGO","CC-BY-NC-SA-4.0","CC-BY-ND-1.0","CC-BY-ND-2.0","CC-BY-ND-2.5","CC-BY-ND-3.0","CC-BY-ND-3.0-DE","CC-BY-ND-4.0","CC-BY-SA-1.0","CC-BY-SA-2.0","CC-BY-SA-2.0-UK","CC-BY-SA-2.1-JP","CC-BY-SA-2.5","CC-BY-SA-3.0","CC-BY-SA-3.0-AT","CC-BY-SA-3.0-DE","CC-BY-SA-3.0-IGO","CC-BY-SA-4.0","CC-PDDC","CC-PDM-1.0","CC-SA-1.0","CC0-1.0","CDDL-1.0","CDDL-1.1","CDL-1.0","CDLA-Permissive-1.0","CDLA-Permissive-2.0","CDLA-Sharing-1.0","CECILL-1.0","CECILL-1.1","CECILL-2.0","CECILL-2.1","CECILL-B","CECILL-C","CERN-OHL-1.1","CERN-OHL-1.2","CERN-OHL-P-2.0","CERN-OHL-S-2.0","CERN-OHL-W-2.0","CFITSIO","CMU-Mach","CMU-Mach-nodoc","CNRI-Jython","CNRI-Python","CNRI-Python-GPL-Compatible","COIL-1.0","CPAL-1.0","CPL-1.0","CPOL-1.02","CUA-OPL-1.0","Caldera","Caldera-no-preamble","Catharon","ClArtistic","Clips","Community-Spec-1.0","Condor-1.1","Cornell-Lossless-JPEG","Cronyx","Crossword","CryptoSwift","CrystalStacker","Cube","D-FSL-1.0","DEC-3-Clause","DL-DE-BY-2.0","DL-DE-ZERO-2.0","DOC","DRL-1.0","DRL-1.1","DSDP","DocBook-DTD","DocBook-Schema","DocBook-Stylesheet","DocBook-XML","Dotseqn","ECL-1.0","ECL-2.0","EFL-1.0","EFL-2.0","EPICS","EPL-1.0","EPL-2.0","ESA-PL-permissive-2.4","ESA-PL-strong-copyleft-2.4","ESA-PL-weak-copyleft-2.4","EUDatagrid","EUPL-1.0","EUPL-1.1","EUPL-1.2","Elastic-2.0","Entessa","ErlPL-1.1","Eurosym","FBM","FDK-AAC","FSFAP","FSFAP-no-warranty-disclaimer","FSFUL","FSFULLR","FSFULLRSD","FSFULLRWD","FSL-1.1-ALv2","FSL-1.1-MIT","FTL","Fair","Ferguson-Twofish","Frameworx-1.0","FreeBSD-DOC","FreeImage","Furuseth","GCR-docs","GD","GFDL-1.1-invariants-only","GFDL-1.1-invariants-or-later","GFDL-1.1-no-invariants-only","GFDL-1.1-no-invariants-or-later","GFDL-1.1-only","GFDL-1.1-or-later","GFDL-1.2-invariants-only","GFDL-1.2-invariants-or-later","GFDL-1.2-no-invariants-only","GFDL-1.2-no-invariants-or-later","GFDL-1.2-only","GFDL-1.2-or-later","GFDL-1.3-invariants-only","GFDL-1.3-invariants-or-later","GFDL-1.3-no-invariants-only","GFDL-1.3-no-invariants-or-later","GFDL-1.3-only","GFDL-1.3-or-later","GL2PS","GLWTPL","GPL-1.0-only","GPL-1.0-or-later","GPL-2.0-only","GPL-2.0-or-later","GPL-3.0-only","GPL-3.0-or-later","Game-Programming-Gems","Giftware","Glide","Glulxe","Graphics-Gems","Gutmann","HDF5","HIDAPI","HP-1986","HP-1989","HPND","HPND-DEC","HPND-Fenneberg-Livingston","HPND-INRIA-IMAG","HPND-Intel","HPND-Kevlin-Henney","HPND-MIT-disclaimer","HPND-Markus-Kuhn","HPND-Netrek","HPND-Pbmplus","HPND-SMC","HPND-UC","HPND-UC-export-US","HPND-doc","HPND-doc-sell","HPND-export-US","HPND-export-US-acknowledgement","HPND-export-US-modify","HPND-export2-US","HPND-merchantability-variant","HPND-sell-MIT-disclaimer-xserver","HPND-sell-regexpr","HPND-sell-variant","HPND-sell-variant-MIT-disclaimer","HPND-sell-variant-MIT-disclaimer-rev","HPND-sell-variant-critical-systems","HTMLTIDY","HaskellReport","Hippocratic-2.1","IBM-pibs","ICU","IEC-Code-Components-EULA","IJG","IJG-short","IPA","IPL-1.0","ISC","ISC-Veillard","ISO-permission","ImageMagick","Imlib2","Info-ZIP","Inner-Net-2.0","InnoSetup","Intel","Intel-ACPI","Interbase-1.0","JPL-image","JPNIC","JSON","Jam","JasPer-2.0","Kastrup","Kazlib","Knuth-CTAN","LAL-1.2","LAL-1.3","LGPL-2.0-only","LGPL-2.0-or-later","LGPL-2.1-only","LGPL-2.1-or-later","LGPL-3.0-only","LGPL-3.0-or-later","LGPLLR","LOOP","LPD-document","LPL-1.0","LPL-1.02","LPPL-1.0","LPPL-1.1","LPPL-1.2","LPPL-1.3a","LPPL-1.3c","LZMA-SDK-9.11-to-9.20","LZMA-SDK-9.22","Latex2e","Latex2e-translated-notice","Leptonica","LiLiQ-P-1.1","LiLiQ-R-1.1","LiLiQ-Rplus-1.1","Libpng","Linux-OpenIB","Linux-man-pages-1-para","Linux-man-pages-copyleft","Linux-man-pages-copyleft-2-para","Linux-man-pages-copyleft-var","Lucida-Bitmap-Fonts","MIPS","MIT","MIT-0","MIT-CMU","MIT-Click","MIT-Festival","MIT-Khronos-old","MIT-Modern-Variant","MIT-STK","MIT-Wu","MIT-advertising","MIT-enna","MIT-feh","MIT-open-group","MIT-testregex","MITNFA","MMIXware","MMPL-1.0.1","MPEG-SSG","MPL-1.0","MPL-1.1","MPL-2.0","MPL-2.0-no-copyleft-exception","MS-LPL","MS-PL","MS-RL","MTLL","Mackerras-3-Clause","Mackerras-3-Clause-acknowledgment","MakeIndex","Martin-Birgmeier","McPhee-slideshow","Minpack","MirOS","Motosoto","MulanPSL-1.0","MulanPSL-2.0","Multics","Mup","NAIST-2003","NASA-1.3","NBPL-1.0","NCBI-PD","NCGL-UK-2.0","NCL","NCSA","NGPL","NICTA-1.0","NIST-PD","NIST-PD-TNT","NIST-PD-fallback","NIST-Software","NLOD-1.0","NLOD-2.0","NLPL","NOSL","NPL-1.0","NPL-1.1","NPOSL-3.0","NRL","NTIA-PD","NTP","NTP-0","Naumen","NetCDF","Newsletr","Nokia","Noweb","O-UDA-1.0","OAR","OCCT-PL","OCLC-2.0","ODC-By-1.0","ODbL-1.0","OFFIS","OFL-1.0","OFL-1.0-RFN","OFL-1.0-no-RFN","OFL-1.1","OFL-1.1-RFN","OFL-1.1-no-RFN","OGC-1.0","OGDL-Taiwan-1.0","OGL-Canada-2.0","OGL-UK-1.0","OGL-UK-2.0","OGL-UK-3.0","OGTSL","OLDAP-1.1","OLDAP-1.2","OLDAP-1.3","OLDAP-1.4","OLDAP-2.0","OLDAP-2.0.1","OLDAP-2.1","OLDAP-2.2","OLDAP-2.2.1","OLDAP-2.2.2","OLDAP-2.3","OLDAP-2.4","OLDAP-2.5","OLDAP-2.6","OLDAP-2.7","OLDAP-2.8","OLFL-1.3","OML","OPL-1.0","OPL-UK-3.0","OPUBL-1.0","OSC-1.0","OSET-PL-2.1","OSL-1.0","OSL-1.1","OSL-2.0","OSL-2.1","OSL-3.0","OSSP","OpenMDW-1.0","OpenPBS-2.3","OpenSSL","OpenSSL-standalone","OpenVision","PADL","PDDL-1.0","PHP-3.0","PHP-3.01","PPL","PSF-2.0","ParaType-Free-Font-1.3","Parity-6.0.0","Parity-7.0.0","Pixar","Plexus","PolyForm-Noncommercial-1.0.0","PolyForm-Small-Business-1.0.0","PostgreSQL","Python-2.0","Python-2.0.1","QPL-1.0","QPL-1.0-INRIA-2004","Qhull","RHeCos-1.1","RPL-1.1","RPL-1.5","RPSL-1.0","RSA-MD","RSCPL","Rdisc","Ruby","Ruby-pty","SAX-PD","SAX-PD-2.0","SCEA","SGI-B-1.0","SGI-B-1.1","SGI-B-2.0","SGI-OpenGL","SGMLUG-PM","SGP4","SHL-0.5","SHL-0.51","SISSL","SISSL-1.2","SL","SMAIL-GPL","SMLNJ","SMPPL","SNIA","SOFA","SPL-1.0","SSH-OpenSSH","SSH-short","SSLeay-standalone","SSPL-1.0","SUL-1.0","SWL","Saxpath","SchemeReport","Sendmail","Sendmail-8.23","Sendmail-Open-Source-1.1","SimPL-2.0","Sleepycat","Soundex","Spencer-86","Spencer-94","Spencer-99","SugarCRM-1.1.3","Sun-PPP","Sun-PPP-2000","SunPro","Symlinks","TAPR-OHL-1.0","TCL","TCP-wrappers","TGPPL-1.0","TMate","TORQUE-1.1","TOSL","TPDL","TPL-1.0","TTWL","TTYP0","TU-Berlin-1.0","TU-Berlin-2.0","TekHVC","TermReadKey","ThirdEye","TrustedQSL","UCAR","UCL-1.0","UMich-Merit","UPL-1.0","URT-RLE","Ubuntu-font-1.0","UnRAR","Unicode-3.0","Unicode-DFS-2015","Unicode-DFS-2016","Unicode-TOU","UnixCrypt","Unlicense","Unlicense-libtelnet","Unlicense-libwhirlpool","VOSTROM","VSL-1.0","Vim","Vixie-Cron","W3C","W3C-19980720","W3C-20150513","WTFNMFPL","WTFPL","Watcom-1.0","Widget-Workshop","WordNet","Wsuipa","X11","X11-distribute-modifications-variant","X11-no-permit-persons","X11-swapped","XFree86-1.1","XSkat","Xdebug-1.03","Xerox","Xfig","Xnet","YPL-1.0","YPL-1.1","ZPL-1.1","ZPL-2.0","ZPL-2.1","Zed","Zeeff","Zend-2.0","Zimbra-1.3","Zimbra-1.4","Zlib","any-OSI","any-OSI-perl-modules","bcrypt-Solar-Designer","blessing","bzip2-1.0.6","check-cvs","checkmk","copyleft-next-0.3.0","copyleft-next-0.3.1","curl","cve-tou","diffmark","dtoa","dvipdfm","eGenix","etalab-2.0","fwlw","gSOAP-1.3b","generic-xts","gnuplot","gtkbook","hdparm","hyphen-bulgarian","iMatix","jove","libpng-1.6.35","libpng-2.0","libselinux-1.0","libtiff","libutil-David-Nugent","lsof","magaz","mailprio","man2html","metamail","mpi-permissive","mpich2","mplus","ngrep","pkgconf","pnmstitch","psfrag","psutils","python-ldap","radvd","snprintf","softSurfer","ssh-keyscan","swrule","threeparttable","ulem","w3m","wwl","xinetd","xkeyboard-config-Zinoviev","xlock","xpp","xzoom","zlib-acknowledgement"],_e=["AGPL-1.0","AGPL-3.0","BSD-2-Clause-FreeBSD","BSD-2-Clause-NetBSD","GFDL-1.1","GFDL-1.2","GFDL-1.3","GPL-1.0","GPL-2.0","GPL-2.0-with-GCC-exception","GPL-2.0-with-autoconf-exception","GPL-2.0-with-bison-exception","GPL-2.0-with-classpath-exception","GPL-2.0-with-font-exception","GPL-3.0","GPL-3.0-with-GCC-exception","GPL-3.0-with-autoconf-exception","LGPL-2.0","LGPL-2.1","LGPL-3.0","Net-SNMP","Nunit","StandardML-NJ","bzip2-1.0.5","eCos-2.0","wxWindows"],De=["389-exception","Asterisk-exception","Autoconf-exception-2.0","Autoconf-exception-3.0","Autoconf-exception-generic","Autoconf-exception-generic-3.0","Autoconf-exception-macro","Bison-exception-1.24","Bison-exception-2.2","Bootloader-exception","Classpath-exception-2.0","CLISP-exception-2.0","cryptsetup-OpenSSL-exception","DigiRule-FOSS-exception","eCos-exception-2.0","Fawkes-Runtime-exception","FLTK-exception","fmt-exception","Font-exception-2.0","freertos-exception-2.0","GCC-exception-2.0","GCC-exception-2.0-note","GCC-exception-3.1","Gmsh-exception","GNAT-exception","GNOME-examples-exception","GNU-compiler-exception","gnu-javamail-exception","GPL-3.0-interface-exception","GPL-3.0-linking-exception","GPL-3.0-linking-source-exception","GPL-CC-1.0","GStreamer-exception-2005","GStreamer-exception-2008","i2p-gpl-java-exception","KiCad-libraries-exception","LGPL-3.0-linking-exception","libpri-OpenH323-exception","Libtool-exception","Linux-syscall-note","LLGPL","LLVM-exception","LZMA-exception","mif-exception","OCaml-LGPL-linking-exception","OCCT-exception-1.0","OpenJDK-assembly-exception-1.0","openvpn-openssl-exception","PS-or-PDF-font-exception-20170817","QPL-1.0-INRIA-2004-exception","Qt-GPL-exception-1.0","Qt-LGPL-exception-1.1","Qwt-exception-1.0","SANE-exception","SHL-2.0","SHL-2.1","stunnel-exception","SWI-exception","Swift-exception","Texinfo-exception","u-boot-exception-2.0","UBDL-exception","Universal-FOSS-exception-1.0","vsftpd-openssl-exception","WxWindows-exception-3.1","x11vnc-openssl-exception"];function Pe(){if(ge)return me;ge=1;var e=[].concat(Ce).concat(_e),t=De;return me=function(n){var r=0;function i(){return r<n.length}function o(e){if(e instanceof RegExp){var t=n.slice(r).match(e);if(t)return r+=t[0].length,t[0]}else if(n.indexOf(e,r)===r)return r+=e.length,e}function s(){o(/[ ]*/)}function a(){return o(/[A-Za-z0-9-.]+/)}function c(){var e=a();if(!e)throw new Error("Expected idstring at offset "+r);return e}function l(){return function(){for(var e,t=["WITH","AND","OR","(",")",":","+"],i=0;i<t.length&&!(e=o(t[i]));i++);if("+"===e&&r>1&&" "===n[r-2])throw new Error("Space before `+`");return e&&{type:"OPERATOR",string:e}}()||function(){if(o("DocumentRef-"))return{type:"DOCUMENTREF",string:c()}}()||function(){if(o("LicenseRef-"))return{type:"LICENSEREF",string:c()}}()||(i=r,s=a(),-1!==e.indexOf(s)?{type:"LICENSE",string:s}:-1!==t.indexOf(s)?{type:"EXCEPTION",string:s}:void(r=i));var i,s}for(var u=[];i()&&(s(),i());){var f=l();if(!f)throw new Error("Unexpected `"+n[r]+"` at offset "+r);u.push(f)}return u}}function Ne(){return ye?ve:(ye=1,ve=function(e){var t=0;function n(){return t<e.length}function r(){return n()?e[t]:null}function i(){if(!n())throw new Error;t++}function o(e){var t=r();if(t&&"OPERATOR"===t.type&&e===t.string)return i(),t.string}function s(){var e=r();if(e&&"LICENSE"===e.type){i();var t={license:e.string};o("+")&&(t.plus=!0);var n=function(){if(o("WITH")){var e=r();if(e&&"EXCEPTION"===e.type)return i(),e.string;throw new Error("Expected exception after `WITH`")}}();return n&&(t.exception=n),t}}function a(e,t){return function n(){var r=t();if(r){if(!o(e))return r;var i=n();if(!i)throw new Error("Expected expression");return{left:r,conjunction:e.toLowerCase(),right:i}}}}var c=a("AND",function(){return function(){if(o("(")){var e=l();if(!o(")"))throw new Error("Expected `)`");return e}}()||function(){var e=t,n="",s=r();if("DOCUMENTREF"===s.type&&(i(),n+="DocumentRef-"+s.string+":",!o(":")))throw new Error("Expected `:` after `DocumentRef-...`");if("LICENSEREF"===(s=r()).type)return i(),{license:n+="LicenseRef-"+s.string};t=e}()||s()}),l=a("OR",c),u=l();if(!u||n())throw new Error("Syntax error");return u})}function Oe(){if(be)return Ee;be=1;var e=Pe(),t=Ne();return Ee=function(n){return t(e(n))}}function Ae(){if(Se)return Ie;Se=1;var e=Oe(),t=function(){if(Le)return we;Le=1;var e=Oe(),t=Ce;function n(t){try{return e(t),!0}catch(e){return!1}}function r(e,t){var n=t[0].length-e[0].length;return 0!==n?n:e[0].toUpperCase().localeCompare(t[0].toUpperCase())}var i=[["APGL","AGPL"],["Gpl","GPL"],["GLP","GPL"],["APL","Apache"],["ISD","ISC"],["GLP","GPL"],["IST","ISC"],["Claude","Clause"],[" or later","+"],[" International",""],["GNU","GPL"],["GUN","GPL"],["+",""],["GNU GPL","GPL"],["GNU LGPL","LGPL"],["GNU/GPL","GPL"],["GNU GLP","GPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL"],["GNU Lesser General Public License","LGPL"],["GNU LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["GNU Lesser General Public License","LGPL-2.1"],["LESSER GENERAL PUBLIC LICENSE","LGPL"],["Lesser General Public License","LGPL"],["LESSER GENERAL PUBLIC LICENSE","LGPL-2.1"],["Lesser General Public License","LGPL-2.1"],["GNU General Public License","GPL"],["Gnu public license","GPL"],["GNU Public License","GPL"],["GNU GENERAL PUBLIC LICENSE","GPL"],["MTI","MIT"],["Mozilla Public License","MPL"],["Universal Permissive License","UPL"],["WTH","WTF"],["WTFGPL","WTFPL"],["-License",""]].sort(r),o=[function(e){return e.toUpperCase()},function(e){return e.trim()},function(e){return e.replace(/\./g,"")},function(e){return e.replace(/\s+/g,"")},function(e){return e.replace(/\s+/g,"-")},function(e){return e.replace("v","-")},function(e){return e.replace(/,?\s*(\d)/,"-$1")},function(e){return e.replace(/,?\s*(\d)/,"-$1.0")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2")},function(e){return e.replace(/,?\s*(V\.|v\.|V|v|Version|version)\s*(\d)/,"-$2.0")},function(e){return e[0].toUpperCase()+e.slice(1)},function(e){return e.replace("/","-")},function(e){return e.replace(/\s*V\s*(\d)/,"-$1").replace(/(\d)$/,"$1.0")},function(e){return-1!==e.indexOf("3.0")?e+"-or-later":e+"-only"},function(e){return e+"only"},function(e){return e.replace(/(\d)$/,"-$1.0")},function(e){return e.replace(/(-| )?(\d)$/,"-$2-Clause")},function(e){return e.replace(/(-| )clause(-| )(\d)/,"-$3-Clause")},function(e){return e.replace(/\b(Modified|New|Revised)(-| )?BSD((-| )License)?/i,"BSD-3-Clause")},function(e){return e.replace(/\bSimplified(-| )?BSD((-| )License)?/i,"BSD-2-Clause")},function(e){return e.replace(/\b(Free|Net)(-| )?BSD((-| )License)?/i,"BSD-2-Clause-$1BSD")},function(e){return e.replace(/\bClear(-| )?BSD((-| )License)?/i,"BSD-3-Clause-Clear")},function(e){return e.replace(/\b(Old|Original)(-| )?BSD((-| )License)?/i,"BSD-4-Clause")},function(e){return"CC-"+e},function(e){return"CC-"+e+"-4.0"},function(e){return e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")},function(e){return"CC-"+e.replace("Attribution","BY").replace("NonCommercial","NC").replace("NoDerivatives","ND").replace(/ (\d)/,"-$1").replace(/ ?International/,"")+"-4.0"}],s=t.map(function(e){var t=/^(.*)-\d+\.\d+$/.exec(e);return t?[t[0],t[1]]:[e,null]}).reduce(function(e,t){var n=t[1];return e[n]=e[n]||[],e[n].push(t[0]),e},{}),a=Object.keys(s).map(function(e){return[e,s[e]]}).filter(function(e){return 1===e[1].length&&null!==e[0]&&"APL"!==e[0]}).map(function(e){return[e[0],e[1][0]]});s=void 0;var c=[["UNLI","Unlicense"],["WTF","WTFPL"],["2 CLAUSE","BSD-2-Clause"],["2-CLAUSE","BSD-2-Clause"],["3 CLAUSE","BSD-3-Clause"],["3-CLAUSE","BSD-3-Clause"],["AFFERO","AGPL-3.0-or-later"],["AGPL","AGPL-3.0-or-later"],["APACHE","Apache-2.0"],["ARTISTIC","Artistic-2.0"],["Affero","AGPL-3.0-or-later"],["BEER","Beerware"],["BOOST","BSL-1.0"],["BSD","BSD-2-Clause"],["CDDL","CDDL-1.1"],["ECLIPSE","EPL-1.0"],["FUCK","WTFPL"],["GNU","GPL-3.0-or-later"],["LGPL","LGPL-3.0-or-later"],["GPLV1","GPL-1.0-only"],["GPL-1","GPL-1.0-only"],["GPLV2","GPL-2.0-only"],["GPL-2","GPL-2.0-only"],["GPL","GPL-3.0-or-later"],["MIT +NO-FALSE-ATTRIBS","MITNFA"],["MIT","MIT"],["MPL","MPL-2.0"],["X11","X11"],["ZLIB","Zlib"]].concat(a).sort(r),l=function(e){for(var t=0;t<o.length;t++){var r=o[t](e).trim();if(r!==e&&n(r))return r}return null},u=function(e){for(var t=e.toUpperCase(),n=0;n<c.length;n++){var r=c[n];if(t.indexOf(r[0])>-1)return r[1]}return null},f=function(e,t){for(var n=0;n<i.length;n++){var r=i[n],o=r[0];if(e.indexOf(o)>-1){var s=t(e.replace(o,r[1]));if(null!==s)return s}}return null};return we=function(e,t){var r=void 0===(t=t||{}).upgrade||!!t.upgrade;function i(e){return r?function(e){return-1!==["GPL-1.0","LGPL-1.0","AGPL-1.0","GPL-2.0","LGPL-2.0","AGPL-2.0","LGPL-2.1"].indexOf(e)?e+"-only":-1!==["GPL-1.0+","GPL-2.0+","GPL-3.0+","LGPL-2.0+","LGPL-2.1+","LGPL-3.0+","AGPL-1.0+","AGPL-3.0+"].indexOf(e)?e.replace(/\+$/,"-or-later"):-1!==["GPL-3.0","LGPL-3.0","AGPL-3.0"].indexOf(e)?e+"-or-later":e}(e):e}if("string"!=typeof e||0===e.trim().length)throw Error("Invalid argument. Expected non-empty string.");if(n(e=e.trim()))return i(e);var o=e.replace(/\+$/,"").trim();if(n(o))return i(o);var s=l(e);return null!==s||null!==(s=f(e,function(e){return n(e)?e:l(e)}))||null!==(s=u(e))||null!==(s=f(e,u))?i(s):null}}(),n='license should be a valid SPDX license expression (without "LicenseRef"), "UNLICENSED", or "SEE LICENSE IN <filename>"',r=/^SEE LICEN[CS]E IN (.+)$/;function i(e,t){return t.slice(0,e.length)===e}function o(e){if(e.hasOwnProperty("license")){var t=e.license;return i("LicenseRef",t)||i("DocumentRef",t)}return o(e.left)||o(e.right)}return Ie=function(i){var s;try{s=e(i)}catch(e){var a;if("UNLICENSED"===i||"UNLICENCED"===i)return{validForOldPackages:!0,validForNewPackages:!0,unlicensed:!0};if(a=r.exec(i))return{validForOldPackages:!0,validForNewPackages:!0,inFile:a[1]};var c={validForOldPackages:!1,validForNewPackages:!1,warnings:[n]};if(0!==i.trim().length){var l=t(i);l&&c.warnings.push('license is similar to the valid expression "'+l+'"')}return c}return o(s)?{validForNewPackages:!1,validForOldPackages:!1,spdx:!0,warnings:[n]}:{validForNewPackages:!0,validForOldPackages:!0,spdx:!0}}}var $e,Re,Te,xe,Fe,Ue,ke,Be,Me,Ge,je,ze={};function He(){if($e)return ze;$e=1;var e=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),t=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.tracing=e.metrics=void 0;var t={hasSubscribers:!1};e.metrics=t,e.tracing=t}),n=e(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.defaultPerf=void 0,e.defaultPerf="object"==typeof performance&&performance&&"function"==typeof performance.now?performance:Date});Object.defineProperty(ze,"__esModule",{value:!0}),ze.LRUCache=void 0;var r=t(),i=n(),o=()=>r.metrics.hasSubscribers||r.tracing.hasSubscribers,s=new Set,a="object"==typeof process&&process?process:{},c=e=>!!e&&e===Math.floor(e)&&e>0&&isFinite(e),l=e=>c(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(e){super(e),this.fill(0)}},f=class e{heap;length;static#e=!1;static create(t){let n=l(t);if(!n)return[];e.#e=!0;let r=new e(t,n);return e.#e=!1,r}constructor(t,n){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new n(t),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},p=class e{#e;#t;#n;#r;#i;#o;#s;#a;get perf(){return this.#a}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#c;#l;#u;#f;#p;#d;#h;#m;#g;#v;#y;#E;#b;#w;#L;#I;#S;#C;#_;static unsafeExposeInternals(e){return{starts:e.#b,ttls:e.#w,autopurgeTimers:e.#L,sizes:e.#E,keyMap:e.#u,keyList:e.#f,valList:e.#p,next:e.#d,prev:e.#h,get head(){return e.#m},get tail(){return e.#g},free:e.#v,isBackgroundFetch:t=>e.#D(t),backgroundFetch:(t,n,r,i)=>e.#P(t,n,r,i),moveToTail:t=>e.#N(t),indexes:t=>e.#O(t),rindexes:t=>e.#A(t),isStale:t=>e.#$(t)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#l}get size(){return this.#c}get fetchMethod(){return this.#o}get memoMethod(){return this.#s}get dispose(){return this.#n}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(t){let{max:n=0,ttl:r,ttlResolution:o=1,ttlAutopurge:u,updateAgeOnGet:p,updateAgeOnHas:d,allowStale:h,dispose:m,onInsert:g,disposeAfter:v,noDisposeOnSet:y,noUpdateTTL:E,maxSize:b=0,maxEntrySize:w=0,sizeCalculation:L,fetchMethod:I,memoMethod:S,noDeleteOnFetchRejection:C,noDeleteOnStaleGet:_,allowStaleOnFetchRejection:D,allowStaleOnFetchAbort:P,ignoreFetchAbort:N,perf:O}=t;if(void 0!==O&&"function"!=typeof O?.now)throw new TypeError("perf option must have a now() method if specified");if(this.#a=O??i.defaultPerf,0!==n&&!c(n))throw new TypeError("max option must be a nonnegative integer");let A=n?l(n):Array;if(!A)throw new Error("invalid max value: "+n);if(this.#e=n,this.#t=b,this.maxEntrySize=w||this.#t,this.sizeCalculation=L,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if("function"!=typeof this.sizeCalculation)throw new TypeError("sizeCalculation set to non-function")}if(void 0!==S&&"function"!=typeof S)throw new TypeError("memoMethod must be a function if defined");if(this.#s=S,void 0!==I&&"function"!=typeof I)throw new TypeError("fetchMethod must be a function if specified");if(this.#o=I,this.#S=!!I,this.#u=new Map,this.#f=Array.from({length:n}).fill(void 0),this.#p=Array.from({length:n}).fill(void 0),this.#d=new A(n),this.#h=new A(n),this.#m=0,this.#g=0,this.#v=f.create(n),this.#c=0,this.#l=0,"function"==typeof m&&(this.#n=m),"function"==typeof g&&(this.#r=g),"function"==typeof v?(this.#i=v,this.#y=[]):(this.#i=void 0,this.#y=void 0),this.#I=!!this.#n,this.#_=!!this.#r,this.#C=!!this.#i,this.noDisposeOnSet=!!y,this.noUpdateTTL=!!E,this.noDeleteOnFetchRejection=!!C,this.allowStaleOnFetchRejection=!!D,this.allowStaleOnFetchAbort=!!P,this.ignoreFetchAbort=!!N,0!==this.maxEntrySize){if(0!==this.#t&&!c(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!c(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#R()}if(this.allowStale=!!h,this.noDeleteOnStaleGet=!!_,this.updateAgeOnGet=!!p,this.updateAgeOnHas=!!d,this.ttlResolution=c(o)||0===o?o:1,this.ttlAutopurge=!!u,this.ttl=r||0,this.ttl){if(!c(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#T()}if(0===this.#e&&0===this.ttl&&0===this.#t)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let t="LRU_CACHE_UNBOUNDED";(e=>!s.has(e))(t)&&(s.add(t),((e,t,n,r)=>{"function"==typeof a.emitWarning?a.emitWarning(e,t,n,r):console.error(`[${n}] ${t}: ${e}`)})("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",t,e))}}getRemainingTTL(e){return this.#u.has(e)?1/0:0}#T(){let e=new u(this.#e),t=new u(this.#e);this.#w=e,this.#b=t;let n=this.ttlAutopurge?Array.from({length:this.#e}):void 0;this.#L=n,this.#x=(n,i,o=this.#a.now())=>{t[n]=0!==i?o:0,e[n]=i,r(n,i)},this.#F=n=>{t[n]=0!==e[n]?this.#a.now():0,r(n,e[n])};let r=this.ttlAutopurge?(e,t)=>{if(n?.[e]&&(clearTimeout(n[e]),n[e]=void 0),t&&0!==t&&n){let r=setTimeout(()=>{this.#$(e)&&this.#U(this.#f[e],"expire")},t+1);r.unref&&r.unref(),n[e]=r}}:()=>{};this.#k=(n,r)=>{if(e[r]){let s=e[r],a=t[r];if(!s||!a)return;n.ttl=s,n.start=a,n.now=i||o();let c=n.now-a;n.remainingTTL=s-c}};let i=0,o=()=>{let e=this.#a.now();if(this.ttlResolution>0){i=e;let t=setTimeout(()=>i=0,this.ttlResolution);t.unref&&t.unref()}return e};this.getRemainingTTL=n=>{let r=this.#u.get(n);if(void 0===r)return 0;let s=e[r],a=t[r];return s&&a?s-((i||o())-a):1/0},this.#$=n=>{let r=t[n],s=e[n];return!!s&&!!r&&(i||o())-r>s}}#F=()=>{};#k=()=>{};#x=()=>{};#$=()=>!1;#R(){let e=new u(this.#e);this.#l=0,this.#E=e,this.#B=t=>{this.#l-=e[t],e[t]=0},this.#M=(e,t,n,r)=>{if(this.#D(t))return 0;if(!c(n)){if(!r)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if("function"!=typeof r)throw new TypeError("sizeCalculation must be a function");if(n=r(t,e),!c(n))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return n},this.#G=(t,n,r)=>{if(e[t]=n,this.#t){let n=this.#t-e[t];for(;this.#l>n;)this.#j(!0)}this.#l+=e[t],r&&(r.entrySize=n,r.totalCalculatedSize=this.#l)}}#B=e=>{};#G=(e,t,n)=>{};#M=(e,t,n,r)=>{if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#O({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#g;this.#z(t)&&((e||!this.#$(t))&&(yield t),t!==this.#m);)t=this.#h[t]}*#A({allowStale:e=this.allowStale}={}){if(this.#c)for(let t=this.#m;this.#z(t)&&((e||!this.#$(t))&&(yield t),t!==this.#g);)t=this.#d[t]}#z(e){return void 0!==e&&this.#u.get(this.#f[e])===e}*entries(){for(let e of this.#O())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*rentries(){for(let e of this.#A())void 0!==this.#p[e]&&void 0!==this.#f[e]&&!this.#D(this.#p[e])&&(yield[this.#f[e],this.#p[e]])}*keys(){for(let e of this.#O()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*rkeys(){for(let e of this.#A()){let t=this.#f[e];void 0!==t&&!this.#D(this.#p[e])&&(yield t)}}*values(){for(let e of this.#O())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}*rvalues(){for(let e of this.#A())void 0!==this.#p[e]&&!this.#D(this.#p[e])&&(yield this.#p[e])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(e,t={}){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0!==i&&e(i,this.#f[n],this))return this.#H(this.#f[n],t)}}forEach(e,t=this){for(let n of this.#O()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}rforEach(e,t=this){for(let n of this.#A()){let r=this.#p[n],i=this.#D(r)?r.__staleWhileFetching:r;void 0!==i&&e.call(t,i,this.#f[n],this)}}purgeStale(){let e=!1;for(let t of this.#A({allowStale:!0}))this.#$(t)&&(this.#U(this.#f[t],"expire"),e=!0);return e}info(e){let t=this.#u.get(e);if(void 0===t)return;let n=this.#p[t],r=this.#D(n)?n.__staleWhileFetching:n;if(void 0===r)return;let i={value:r};if(this.#w&&this.#b){let e=this.#w[t],n=this.#b[t];if(e&&n){let t=e-(this.#a.now()-n);i.ttl=t,i.start=Date.now()}}return this.#E&&(i.size=this.#E[t]),i}dump(){let e=[];for(let t of this.#O({allowStale:!0})){let n=this.#f[t],r=this.#p[t],i=this.#D(r)?r.__staleWhileFetching:r;if(void 0===i||void 0===n)continue;let o={value:i};if(this.#w&&this.#b){o.ttl=this.#w[t];let e=this.#a.now()-this.#b[t];o.start=Math.floor(Date.now()-e)}this.#E&&(o.size=this.#E[t]),e.unshift([n,o])}return e}load(e){this.clear();for(let[t,n]of e){if(n.start){let e=Date.now()-n.start;n.start=this.#a.now()-e}this.#q(t,n.value,n)}}set(e,t,n={}){let{status:i=(r.metrics.hasSubscribers?{}:void 0)}=n;n.status=i,i&&(i.op="set",i.key=e,void 0!==t&&(i.value=t),i.cache=this);let o=this.#q(e,t,n);return i&&r.metrics.hasSubscribers&&r.metrics.publish(i),o}#q(e,t,n,r){let{ttl:i=this.ttl,start:o,noDisposeOnSet:s=this.noDisposeOnSet,sizeCalculation:a=this.sizeCalculation,status:c}=n;if(void 0===t)return c&&(c.set="deleted"),this.delete(e),this;let{noUpdateTTL:l=this.noUpdateTTL}=n,u=this.#D(t);c&&!u&&(c.value=t);let f=this.#M(e,t,n.size||0,a,c);if(this.maxEntrySize&&f>this.maxEntrySize)return this.#U(e,"set"),c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this;let p=0===this.#c?void 0:this.#u.get(e);if(void 0===p)p=0===this.#c?this.#g:0!==this.#v.length?this.#v.pop():this.#c===this.#e?this.#j(!1):this.#c,this.#f[p]=e,this.#p[p]=t,this.#u.set(e,p),this.#d[this.#g]=p,this.#h[p]=this.#g,this.#g=p,this.#c++,this.#G(p,f,c),c&&(c.set="add"),l=!1,this.#_&&!u&&this.#r?.(t,e,"add");else{this.#N(p);let n=this.#p[p];if(t!==n){if(!s)if(this.#D(n)){n!==r&&n.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:i}=n;void 0!==i&&i!==t&&(this.#I&&this.#n?.(i,e,"set"),this.#C&&this.#y?.push([i,e,"set"]))}else this.#I&&this.#n?.(n,e,"set"),this.#C&&this.#y?.push([n,e,"set"]);if(this.#B(p),this.#G(p,f,c),this.#p[p]=t,!u){let r=n&&this.#D(n)?n.__staleWhileFetching:n,i=void 0===r?"add":t!==r?"replace":"update";c&&(c.set=i,void 0!==r&&(c.oldValue=r)),this.#_&&this.onInsert?.(t,e,i)}}else u||(c&&(c.set="update"),this.#_&&this.onInsert?.(t,e,"update"))}if(0!==i&&!this.#w&&this.#T(),this.#w&&(l||this.#x(p,i,o),c&&this.#k(c,p)),!s&&this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return this}pop(){try{for(;this.#c;){let e=this.#p[this.#m];if(this.#j(!0),this.#D(e)){if(e.__staleWhileFetching)return e.__staleWhileFetching}else if(void 0!==e)return e}}finally{if(this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}}#j(e){let t=this.#m,n=this.#f[t],r=this.#p[t],i=this.#D(r);i&&r.__abortController.abort(new Error("evicted"));let o=i?r.__staleWhileFetching:r;return(this.#I||this.#C)&&void 0!==o&&(this.#I&&this.#n?.(o,n,"evict"),this.#C&&this.#y?.push([o,n,"evict"])),this.#B(t),this.#L?.[t]&&(clearTimeout(this.#L[t]),this.#L[t]=void 0),e&&(this.#f[t]=void 0,this.#p[t]=void 0,this.#v.push(t)),1===this.#c?(this.#m=this.#g=0,this.#v.length=0):this.#m=this.#d[t],this.#u.delete(n),this.#c--,t}has(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="has",n.key=e,n.cache=this);let i=this.#V(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#V(e,t={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:r}=t,i=this.#u.get(e);if(void 0!==i){let e=this.#p[i];if(this.#D(e)&&void 0===e.__staleWhileFetching)return!1;if(!this.#$(i))return n&&this.#F(i),r&&(r.has="hit",this.#k(r,i)),!0;r&&(r.has="stale",this.#k(r,i))}else r&&(r.has="miss");return!1}peek(e,t={}){let{status:n=(o()?{}:void 0)}=t;n&&(n.op="peek",n.key=e,n.cache=this),t.status=n;let i=this.#W(e,t);return r.metrics.hasSubscribers&&r.metrics.publish(n),i}#W(e,t){let{status:n,allowStale:r=this.allowStale}=t,i=this.#u.get(e);if(void 0===i||!r&&this.#$(i))return void(n&&(n.peek=void 0===i?"miss":"stale"));let o=this.#p[i],s=this.#D(o)?o.__staleWhileFetching:o;return n&&(void 0!==s?(n.peek="hit",n.value=s):n.peek="miss"),s}#P(e,t,n,r){let i=void 0===t?void 0:this.#p[t];if(this.#D(i))return i;let o=new AbortController,{signal:s}=n;s?.addEventListener("abort",()=>o.abort(s.reason),{signal:o.signal});let a={signal:o.signal,options:n,context:r},c=(r,i=!1)=>{let{aborted:s}=o.signal,c=n.ignoreFetchAbort&&void 0!==r,f=n.ignoreFetchAbort||!(!n.allowStaleOnFetchAbort||void 0===r);if(n.status&&(s&&!i?(n.status.fetchAborted=!0,n.status.fetchError=o.signal.reason,c&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),s&&!c&&!i)return l(o.signal.reason,f);let p=u,d=this.#p[t];return(d===u||void 0===d&&c&&i)&&(void 0===r?void 0!==p.__staleWhileFetching?this.#p[t]=p.__staleWhileFetching:this.#U(e,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.#q(e,r,a.options,p))),r},l=(r,i)=>{let{aborted:s}=o.signal,a=s&&n.allowStaleOnFetchAbort,c=a||n.allowStaleOnFetchRejection,l=c||n.noDeleteOnFetchRejection,f=u;if(this.#p[t]===u&&(!l||!i&&void 0===f.__staleWhileFetching?this.#U(e,"fetch"):a||(this.#p[t]=f.__staleWhileFetching)),c)return n.status&&void 0!==f.__staleWhileFetching&&(n.status.returnedStale=!0),f.__staleWhileFetching;if(f.__returned===f)throw r};n.status&&(n.status.fetchDispatched=!0);let u=new Promise((t,r)=>{let s=this.#o?.(e,i,a);o.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(t(void 0),n.allowStaleOnFetchAbort&&(t=e=>c(e,!0)))}),s&&s instanceof Promise?s.then(e=>t(void 0===e?void 0:e),r):void 0!==s&&t(s)}).then(c,e=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=e),l(e,!1))),f=Object.assign(u,{__abortController:o,__staleWhileFetching:i,__returned:void 0});return void 0===t?(this.#q(e,f,{...a.options,status:void 0}),t=this.#u.get(e)):this.#p[t]=f,f}#D(e){if(!this.#S)return!1;let t=e;return!!t&&t instanceof Promise&&t.hasOwnProperty("__staleWhileFetching")&&t.__abortController instanceof AbortController}fetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#Z(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#Z(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,ttl:o=this.ttl,noDisposeOnSet:s=this.noDisposeOnSet,size:a=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:l=this.noUpdateTTL,noDeleteOnFetchRejection:u=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:f=this.allowStaleOnFetchRejection,ignoreFetchAbort:p=this.ignoreFetchAbort,allowStaleOnFetchAbort:d=this.allowStaleOnFetchAbort,context:h,forceRefresh:m=!1,status:g,signal:v}=t;if(g&&(g.op="fetch",g.key=e,m&&(g.forceRefresh=!0),g.cache=this),!this.#S)return g&&(g.fetch="get"),this.#H(e,{allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,status:g});let y={allowStale:n,updateAgeOnGet:r,noDeleteOnStaleGet:i,ttl:o,noDisposeOnSet:s,size:a,sizeCalculation:c,noUpdateTTL:l,noDeleteOnFetchRejection:u,allowStaleOnFetchRejection:f,allowStaleOnFetchAbort:d,ignoreFetchAbort:p,status:g,signal:v},E=this.#u.get(e);if(void 0===E){g&&(g.fetch="miss");let t=this.#P(e,E,y,h);return t.__returned=t}{let t=this.#p[E];if(this.#D(t)){let e=n&&void 0!==t.__staleWhileFetching;return g&&(g.fetch="inflight",e&&(g.returnedStale=!0)),e?t.__staleWhileFetching:t.__returned=t}let i=this.#$(E);if(!m&&!i)return g&&(g.fetch="hit"),this.#N(E),r&&this.#F(E),g&&this.#k(g,E),t;let o=this.#P(e,E,y,h),s=void 0!==o.__staleWhileFetching&&n;return g&&(g.fetch=i?"stale":"refresh",s&&i&&(g.returnedStale=!0)),s?o.__staleWhileFetching:o.__returned=o}}forceFetch(e,t={}){let n=r.tracing.hasSubscribers,{status:i=(o()?{}:void 0)}=t;t.status=i,i&&t.context&&(i.context=t.context);let s=this.#K(e,t);return i&&n&&(i.trace=!0,r.tracing.tracePromise(()=>s,i).catch(()=>{})),s}async#K(e,t={}){let n=await this.#Z(e,t);if(void 0===n)throw new Error("fetch() returned undefined");return n}memo(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="memo",n.key=e,t.context&&(n.context=t.context),n.cache=this);let i=this.#Y(e,t);return n&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n),i}#Y(e,t={}){let n=this.#s;if(!n)throw new Error("no memoMethod provided to constructor");let{context:r,status:i,forceRefresh:o,...s}=t;i&&o&&(i.forceRefresh=!0);let a=this.#H(e,s),c=o||void 0===a;if(i&&(i.memo=c?"miss":"hit",c||(i.value=a)),!c)return a;let l=n(e,a,{options:s,context:r});return i&&(i.value=l),this.#q(e,l,s),l}get(e,t={}){let{status:n=(r.metrics.hasSubscribers?{}:void 0)}=t;t.status=n,n&&(n.op="get",n.key=e,n.cache=this);let i=this.#H(e,t);return n&&(void 0!==i&&(n.value=i),r.metrics.hasSubscribers&&r.metrics.publish(n)),i}#H(e,t={}){let{allowStale:n=this.allowStale,updateAgeOnGet:r=this.updateAgeOnGet,noDeleteOnStaleGet:i=this.noDeleteOnStaleGet,status:o}=t,s=this.#u.get(e);if(void 0===s)return void(o&&(o.get="miss"));let a=this.#p[s],c=this.#D(a);return o&&this.#k(o,s),this.#$(s)?c?(o&&(o.get="stale-fetching"),n&&void 0!==a.__staleWhileFetching?(o&&(o.returnedStale=!0),a.__staleWhileFetching):void 0):(i||this.#U(e,"expire"),o&&(o.get="stale"),n?(o&&(o.returnedStale=!0),a):void 0):(o&&(o.get=c?"fetching":"hit"),this.#N(s),r&&this.#F(s),c?a.__staleWhileFetching:a)}#X(e,t){this.#h[t]=e,this.#d[e]=t}#N(e){e!==this.#g&&(e===this.#m?this.#m=this.#d[e]:this.#X(this.#h[e],this.#d[e]),this.#X(this.#g,e),this.#g=e)}delete(e){return this.#U(e,"delete")}#U(e,t){r.metrics.hasSubscribers&&r.metrics.publish({op:"delete",delete:t,key:e,cache:this});let n=!1;if(0!==this.#c){let r=this.#u.get(e);if(void 0!==r)if(this.#L?.[r]&&(clearTimeout(this.#L?.[r]),this.#L[r]=void 0),n=!0,1===this.#c)this.#J(t);else{this.#B(r);let n=this.#p[r];if(this.#D(n)?n.__abortController.abort(new Error("deleted")):(this.#I||this.#C)&&(this.#I&&this.#n?.(n,e,t),this.#C&&this.#y?.push([n,e,t])),this.#u.delete(e),this.#f[r]=void 0,this.#p[r]=void 0,r===this.#g)this.#g=this.#h[r];else if(r===this.#m)this.#m=this.#d[r];else{let e=this.#h[r];this.#d[e]=this.#d[r];let t=this.#d[r];this.#h[t]=this.#h[r]}this.#c--,this.#v.push(r)}}if(this.#C&&this.#y?.length){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}return n}clear(){return this.#J("delete")}#J(e){for(let t of this.#A({allowStale:!0})){let n=this.#p[t];if(this.#D(n))n.__abortController.abort(new Error("deleted"));else{let r=this.#f[t];this.#I&&this.#n?.(n,r,e),this.#C&&this.#y?.push([n,r,e])}}if(this.#u.clear(),this.#p.fill(void 0),this.#f.fill(void 0),this.#w&&this.#b){this.#w.fill(0),this.#b.fill(0);for(let e of this.#L??[])void 0!==e&&clearTimeout(e);this.#L?.fill(void 0)}if(this.#E&&this.#E.fill(0),this.#m=0,this.#g=0,this.#v.length=0,this.#l=0,this.#c=0,this.#C&&this.#y){let e,t=this.#y;for(;e=t?.shift();)this.#i?.(...e)}}};return ze.LRUCache=p,ze}function qe(){if(Fe)return xe;Fe=1;const e=(e,t,n)=>{const r=e.indexOf(n);return e.lastIndexOf(t,r>-1?r:1/0)},t=e=>{try{return new URL(e)}catch{}};return xe=(n,r)=>{const i=r?((e,t)=>{const n=e.indexOf(":"),r=e.slice(0,n+1);if(Object.prototype.hasOwnProperty.call(t,r))return e;if("://"===e.substr(n,3))return e;const i=e.indexOf("@");return i>-1?i>n?`git+ssh://${e}`:e:`${e.slice(0,n+1)}//${e.slice(n+1)}`})(n,r):n;return t(i)||t((t=>{const n=e(t,"@","#"),r=e(t,":","#");return r>n&&(t=t.slice(0,r)+"/"+t.slice(r+1)),-1===e(t,":","#")&&-1===t.indexOf("//")&&(t=`git+ssh://${t}`),t})(i))}}function Ve(){if(ke)return Ue;ke=1;const e=qe();return Ue=(t,n,{gitHosts:r,protocols:i})=>{if(!t)return;const o=(e=>{const t=e.indexOf("#"),n=e.indexOf("/"),r=e.indexOf("/",n+1),i=e.indexOf(":"),o=/\s/.exec(e),s=e.indexOf("@"),a=!o||t>-1&&o.index>t,c=-1===s||t>-1&&s>t,l=-1===i||t>-1&&i>t,u=-1===r||t>-1&&r>t,f=n>0,p=t>-1?"/"!==e[t-1]:!e.endsWith("/"),d=!e.startsWith(".");return a&&f&&p&&d&&c&&l&&u})(t)?`github:${t}`:t,s=e(o,i);if(!s)return;const a=r.byShortcut[s.protocol],c=r.byDomain[s.hostname.startsWith("www.")?s.hostname.slice(4):s.hostname],l=a||c;if(!l)return;const u=r[a||c];let f=null;i[s.protocol]?.auth&&(s.username||s.password)&&(f=`${s.username}${s.password?":"+s.password:""}`);let p=null,d=null,h=null,m=null;try{if(a){let e=s.pathname.startsWith("/")?s.pathname.slice(1):s.pathname;const t=e.indexOf("@");t>-1&&(e=e.slice(t+1));const n=e.lastIndexOf("/");n>-1?(d=decodeURIComponent(e.slice(0,n)),d||(d=null),h=decodeURIComponent(e.slice(n+1))):h=decodeURIComponent(e),h.endsWith(".git")&&(h=h.slice(0,-4)),s.hash&&(p=decodeURIComponent(s.hash.slice(1))),m="shortcut"}else{if(!u.protocols.includes(s.protocol))return;const e=u.extract(s);if(!e)return;d=e.user&&decodeURIComponent(e.user),h=decodeURIComponent(e.project),p=decodeURIComponent(e.committish),m=i[s.protocol]?.name||s.protocol.slice(0,-1)}}catch(e){if(e instanceof URIError)return;throw e}return[l,d,f,h,p,m,n]}}function We(){if(Me)return Be;Me=1;const{LRUCache:e}=He(),t=function(){if(Te)return Re;Te=1;const e=(...e)=>e.every(e=>e)?e.join(""):"",t=e=>e?encodeURIComponent(e):"",n=e=>e.toLowerCase().replace(/^\W+/g,"").replace(/(?<!\W)\W+$/,"").replace(/\//g,"").replace(/\W+/g,"-"),r={sshtemplate:({domain:t,user:n,project:r,committish:i})=>`git@${t}:${n}/${r}.git${e("#",i)}`,sshurltemplate:({domain:t,user:n,project:r,committish:i})=>`git+ssh://git@${t}/${n}/${r}.git${e("#",i)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s,path:a})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a)}`,browsetemplate:({domain:n,user:r,project:i,committish:o,treepath:s})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o))}`,browsetreetemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,browseblobtemplate:({domain:n,user:r,project:i,committish:o,blobpath:s,path:a,fragment:c,hashformat:l})=>`https://${n}/${r}/${i}/${s}/${t(o||"HEAD")}/${a}${e("#",l(c||""))}`,docstemplate:({domain:n,user:r,project:i,treepath:o,committish:s})=>`https://${n}/${r}/${i}${e("/",o,"/",t(s))}#readme`,httpstemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git+https://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/raw/${t(i||"HEAD")}/${o}`,shortcuttemplate:({type:t,user:n,project:r,committish:i})=>`${t}:${n}/${r}${e("#",i)}`,pathtemplate:({user:t,project:n,committish:r})=>`${t}/${n}${e("#",r)}`,bugstemplate:({domain:e,user:t,project:n})=>`https://${e}/${t}/${n}/issues`,hashformat:n},i={};i.github={protocols:["git:","http:","git+ssh:","git+https:","ssh:","https:"],domain:"github.com",treepath:"tree",blobpath:"blob",editpath:"edit",filetemplate:({auth:n,user:r,project:i,committish:o,path:s})=>`https://${e(n,"@")}raw.githubusercontent.com/${r}/${i}/${t(o||"HEAD")}/${s}`,gittemplate:({auth:t,domain:n,user:r,project:i,committish:o})=>`git://${e(t,"@")}${n}/${r}/${i}.git${e("#",o)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://codeload.${e}/${n}/${r}/tar.gz/${t(i||"HEAD")}`,extract:e=>{let[,t,n,r,i]=e.pathname.split("/",5);if((!r||"tree"===r)&&(r||(i=e.hash.slice(1)),n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:i}}},i.bitbucket={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"bitbucket.org",treepath:"src",blobpath:"src",editpath:"?mode=edit",edittemplate:({domain:n,user:r,project:i,committish:o,treepath:s,path:a,editpath:c})=>`https://${n}/${r}/${i}${e("/",s,"/",t(o||"HEAD"),"/",a,c)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/get/${t(i||"HEAD")}.tar.gz`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["get"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}},i.gitlab={protocols:["git+ssh:","git+https:","ssh:","https:"],domain:"gitlab.com",treepath:"tree",blobpath:"tree",editpath:"-/edit",tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/api/v4/projects/${t(n+"/"+r)}/repository/archive.tar.gz?sha=${t(i||"HEAD")}`,extract:e=>{const t=e.pathname.slice(1);if(t.includes("/-/")||t.includes("/archive.tar.gz"))return;const n=t.split("/");let r=n.pop();r.endsWith(".git")&&(r=r.slice(0,-4));const i=n.join("/");return i&&r?{user:i,project:r,committish:e.hash.slice(1)}:void 0}},i.gist={protocols:["git:","git+ssh:","git+https:","ssh:","https:"],domain:"gist.github.com",editpath:"edit",sshtemplate:({domain:t,project:n,committish:r})=>`git@${t}:${n}.git${e("#",r)}`,sshurltemplate:({domain:t,project:n,committish:r})=>`git+ssh://git@${t}/${n}.git${e("#",r)}`,edittemplate:({domain:n,user:r,project:i,committish:o,editpath:s})=>`https://${n}/${r}/${i}${e("/",t(o))}/${s}`,browsetemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,browsetreetemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,browseblobtemplate:({domain:n,project:r,committish:i,path:o,hashformat:s})=>`https://${n}/${r}${e("/",t(i))}${e("#",s(o))}`,docstemplate:({domain:n,project:r,committish:i})=>`https://${n}/${r}${e("/",t(i))}`,httpstemplate:({domain:t,project:n,committish:r})=>`git+https://${t}/${n}.git${e("#",r)}`,filetemplate:({user:n,project:r,committish:i,path:o})=>`https://gist.githubusercontent.com/${n}/${r}/raw${e("/",t(i))}/${o}`,shortcuttemplate:({type:t,project:n,committish:r})=>`${t}:${n}${e("#",r)}`,pathtemplate:({project:t,committish:n})=>`${t}${e("#",n)}`,bugstemplate:({domain:e,project:t})=>`https://${e}/${t}`,gittemplate:({domain:t,project:n,committish:r})=>`git://${t}/${n}.git${e("#",r)}`,tarballtemplate:({project:e,committish:n})=>`https://codeload.github.com/gist/${e}/tar.gz/${t(n||"HEAD")}`,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if("raw"!==r){if(!n){if(!t)return;n=t,t=null}return n.endsWith(".git")&&(n=n.slice(0,-4)),{user:t,project:n,committish:e.hash.slice(1)}}},hashformat:function(e){return e&&"file-"+n(e)}},i.sourcehut={protocols:["git+ssh:","https:"],domain:"git.sr.ht",treepath:"tree",blobpath:"tree",filetemplate:({domain:e,user:n,project:r,committish:i,path:o})=>`https://${e}/${n}/${r}/blob/${t(i)||"HEAD"}/${o}`,httpstemplate:({domain:t,user:n,project:r,committish:i})=>`https://${t}/${n}/${r}${e("#",i)}`,tarballtemplate:({domain:e,user:n,project:r,committish:i})=>`https://${e}/${n}/${r}/archive/${t(i)||"HEAD"}.tar.gz`,bugstemplate:()=>null,extract:e=>{let[,t,n,r]=e.pathname.split("/",4);if(!["archive"].includes(r)&&(n&&n.endsWith(".git")&&(n=n.slice(0,-4)),t&&n))return{user:t,project:n,committish:e.hash.slice(1)}}};for(const[e,t]of Object.entries(i))i[e]=Object.assign({},r,t);return Re=i}(),n=Ve(),r=qe(),i=new e({max:1e3});class o{constructor(e,t,n,r,i,s,a={}){Object.assign(this,o.#Q[e],{type:e,user:t,auth:n,project:r,committish:i,default:s,opts:a})}static#Q={byShortcut:{},byDomain:{}};static#ee={"git+ssh:":{name:"sshurl"},"ssh:":{name:"sshurl"},"git+https:":{name:"https",auth:!0},"git:":{auth:!0},"http:":{auth:!0},"https:":{auth:!0},"git+http:":{auth:!0}};static addHost(e,t){o.#Q[e]=t,o.#Q.byDomain[t.domain]=e,o.#Q.byShortcut[`${e}:`]=e,o.#ee[`${e}:`]={name:e}}static fromUrl(e,t){if("string"!=typeof e)return;const r=e+JSON.stringify(t||{});if(!i.has(r)){const s=n(e,t,{gitHosts:o.#Q,protocols:o.#ee});i.set(r,s?new o(...s):void 0)}return i.get(r)}static fromManifest(e,t={}){if(!e||"object"!=typeof e)return;const n=e.repository,r=n&&("string"==typeof n?n:"object"==typeof n&&"string"==typeof n.url?n.url:null);if(!r)throw new Error("no repository");const i=r&&o.fromUrl(r.replace(/^git\+/,""),t)||null;if(i)return i;const s=function(e){try{const{protocol:t,hostname:n,pathname:r}=new URL(e);if(!n)return null;return`${/(?:git\+)http:$/.test(t)?"http:":"https:"}//${n}${r.replace(/\.git$/,"")}`}catch{return null}}(r);return o.fromUrl(s,t)||s}static parseUrl(e){return r(e)}#te(e,t){if("function"!=typeof e)return null;const n={...this,...this.opts,...t};n.path||(n.path=""),n.path.startsWith("/")&&(n.path=n.path.slice(1)),n.noCommittish&&(n.committish=null);const r=e(n);return n.noGitPlus&&r.startsWith("git+")?r.slice(4):r}hash(){return this.committish?`#${this.committish}`:""}ssh(e){return this.#te(this.sshtemplate,e)}sshurl(e){return this.#te(this.sshurltemplate,e)}browse(e,...t){return"string"!=typeof e?this.#te(this.browsetemplate,e):"string"!=typeof t[0]?this.#te(this.browsetreetemplate,{...t[0],path:e}):this.#te(this.browsetreetemplate,{...t[1],fragment:t[0],path:e})}browseFile(e,...t){return"string"!=typeof t[0]?this.#te(this.browseblobtemplate,{...t[0],path:e}):this.#te(this.browseblobtemplate,{...t[1],fragment:t[0],path:e})}docs(e){return this.#te(this.docstemplate,e)}bugs(e){return this.#te(this.bugstemplate,e)}https(e){return this.#te(this.httpstemplate,e)}git(e){return this.#te(this.gittemplate,e)}shortcut(e){return this.#te(this.shortcuttemplate,e)}path(e){return this.#te(this.pathtemplate,e)}tarball(e){return this.#te(this.tarballtemplate,{...e,noCommittish:!1})}file(e,t){return this.#te(this.filetemplate,{...t,path:e})}edit(e,t){return this.#te(this.edittemplate,{...t,path:e})}getDefaultRepresentation(){return this.default}toString(e){return this.default&&"function"==typeof this[this.default]?this[this.default](e):this.sshurl(e)}}for(const[e,n]of Object.entries(t))o.addHost(e,n);return Be=o}var Ze,Ke,Ye={topLevel:{dependancies:"dependencies",dependecies:"dependencies",depdenencies:"dependencies",devEependencies:"devDependencies",depends:"dependencies","dev-dependencies":"devDependencies",devDependences:"devDependencies",devDepenencies:"devDependencies",devdependencies:"devDependencies",repostitory:"repository",repo:"repository",prefereGlobal:"preferGlobal",hompage:"homepage",hampage:"homepage",autohr:"author",autor:"author",contributers:"contributors",publicationConfig:"publishConfig",script:"scripts"},bugs:{web:"url",name:"url"},script:{server:"start",tests:"test"}};function Xe(){if(Ke)return Ze;Ke=1;var{URL:e}=p,t=function(){if(ce)return ae;ce=1;const e=he();return ae=(t,n)=>{const r=e(t,n);return r?r.version:null},ae}(),n=function(){if(ue)return le;ue=1;const e=he();return le=(t,n)=>{const r=e(t.trim().replace(/^[=v]+/,""),n);return r?r.version:null},le}(),r=Ae(),i=We(),{isBuiltin:o}=h,s=["dependencies","devDependencies","optionalDependencies"],a=je?Ge:(je=1,Ge=function(e){if(!e)return;if("ERROR: No README data found!"===e)return;e=e.trim().split("\n");let t=0;for(;e[t]&&e[t].trim().match(/^(#|$)/);)t++;const n=e.length;let r=t+1;for(;r<n&&e[r].trim();)r++;return e.slice(t,r).join(" ").trim()}),c=Ye,l=e=>e.includes("@")&&e.indexOf("@")<e.lastIndexOf(".");function u(e,t){return e.author&&(e.author=t(e.author)),["maintainers","contributors"].forEach(function(n){Array.isArray(e[n])&&(e[n]=e[n].map(t))}),e}function f(e){if("string"==typeof e)return e;var t=e.name||"",n=e.url||e.web,r=n?" ("+n+")":"",i=e.email||e.mail;return t+(i?" <"+i+">":"")+r}function d(e){if("string"!=typeof e)return e;var t=e.match(/^([^(<]+)/),n=e.match(/\(([^()]+)\)/),r=e.match(/<([^<>]+)>/),i={};return t&&t[0].trim()&&(i.name=t[0].trim()),r&&(i.email=r[1]),n&&(i.url=n[1]),i}return Ze={warn:function(){},fixRepositoryField:function(e){if(e.repositories&&(this.warn("repositories"),e.repository=e.repositories[0]),!e.repository)return this.warn("missingRepository");"string"==typeof e.repository&&(e.repository={type:"git",url:e.repository});var t=e.repository.url||"";if(t){var n=i.fromUrl(t);n&&(t=e.repository.url="shortcut"===n.getDefaultRepresentation()?n.https():n.toString())}t.match(/github.com\/[^/]+\/[^/]+\.git\.git$/)&&this.warn("brokenGitUrl",t)},fixTypos:function(e){Object.keys(c.topLevel).forEach(function(t){Object.prototype.hasOwnProperty.call(e,t)&&this.warn("typo",t,c.topLevel[t])},this)},fixScriptsField:function(e){if(e.scripts)return"object"!=typeof e.scripts?(this.warn("nonObjectScripts"),void delete e.scripts):void Object.keys(e.scripts).forEach(function(t){"string"!=typeof e.scripts[t]?(this.warn("nonStringScript"),delete e.scripts[t]):c.script[t]&&!e.scripts[c.script[t]]&&this.warn("typo",t,c.script[t],"scripts")},this)},fixFilesField:function(e){var t=e.files;t&&!Array.isArray(t)?(this.warn("nonArrayFiles"),delete e.files):e.files&&(e.files=e.files.filter(function(e){return!(!e||"string"!=typeof e)||(this.warn("invalidFilename",e),!1)},this))},fixBinField:function(e){if(e.bin&&"string"==typeof e.bin){var t,n={};(t=e.name.match(/^@[^/]+[/](.*)$/))?n[t[1]]=e.bin:n[e.name]=e.bin,e.bin=n}},fixManField:function(e){e.man&&"string"==typeof e.man&&(e.man=[e.man])},fixBundleDependenciesField:function(e){var t="bundledDependencies",n="bundleDependencies";e[t]&&!e[n]&&(e[n]=e[t],delete e[t]),e[n]&&!Array.isArray(e[n])?(this.warn("nonArrayBundleDependencies"),delete e[n]):e[n]&&(e[n]=e[n].filter(function(t){return t&&"string"==typeof t?(e.dependencies||(e.dependencies={}),Object.prototype.hasOwnProperty.call(e.dependencies,t)||(this.warn("nonDependencyBundleDependency",t),e.dependencies[t]="*"),!0):(this.warn("nonStringBundleDependency",t),!1)},this))},fixDependencies:function(e){!function(e,t){s.forEach(function(n){e[n]&&(e[n]=function(e,t,n){if(!e)return{};"string"==typeof e&&(e=e.trim().split(/[\n\r\s\t ,]+/));if(!Array.isArray(e))return e;n("deprecatedArrayDependencies",t);var r={};return e.filter(function(e){return"string"==typeof e}).forEach(function(e){var t=(e=e.trim().split(/(:?[@\s><=])/)).shift(),n=e.join("");n=(n=n.trim()).replace(/^@/,""),r[t]=n}),r}(e[n],n,t))})}(e,this.warn),function(e){var t=e.optionalDependencies;if(!t)return;var n=e.dependencies||{};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.dependencies=n}(e,this.warn),this.fixBundleDependenciesField(e),["dependencies","devDependencies"].forEach(function(t){if(t in e)return e[t]&&"object"==typeof e[t]?void Object.keys(e[t]).forEach(function(n){var r=e[t][n];"string"!=typeof r&&(this.warn("nonStringDependency",n,JSON.stringify(r)),delete e[t][n]);var o=i.fromUrl(e[t][n]);o&&(e[t][n]=o.toString())},this):(this.warn("nonObjectDependencies",t),void delete e[t])},this)},fixModulesField:function(e){e.modules&&(this.warn("deprecatedModules"),delete e.modules)},fixKeywordsField:function(e){"string"==typeof e.keywords&&(e.keywords=e.keywords.split(/,\s+/)),e.keywords&&!Array.isArray(e.keywords)?(delete e.keywords,this.warn("nonArrayKeywords")):e.keywords&&(e.keywords=e.keywords.filter(function(e){return!("string"!=typeof e||!e)||(this.warn("nonStringKeyword"),!1)},this))},fixVersionField:function(e,r){var i=!r;if(!e.version)return e.version="",!0;if(!t(e.version,i))throw new Error('Invalid version: "'+e.version+'"');return e.version=n(e.version,i),!0},fixPeople:function(e){u(e,f),u(e,d)},fixNameField:function(e,t){"boolean"==typeof t?t={strict:t}:void 0===t&&(t={});var n=t.strict;if(e.name||n){if("string"!=typeof e.name)throw new Error("name field must be a string.");n||(e.name=e.name.trim()),function(e,t,n){if("."===e.charAt(0)||!function(e){if("@"!==e.charAt(0))return!1;var t=e.slice(1).split("/");if(2!==t.length)return!1;return t[0]&&t[1]&&t[0]===encodeURIComponent(t[0])&&t[1]===encodeURIComponent(t[1])}(e)&&(r=e,r.match(/[/@\s+%:]/)||r!==encodeURIComponent(r))||t&&!n&&e!==e.toLowerCase()||"node_modules"===e.toLowerCase()||"favicon.ico"===e.toLowerCase())throw new Error("Invalid name: "+JSON.stringify(e));var r}(e.name,n,t.allowLegacyCase),o(e.name)&&this.warn("conflictingName",e.name)}else e.name=""},fixDescriptionField:function(e){e.description&&"string"!=typeof e.description&&(this.warn("nonStringDescription"),delete e.description),e.readme&&!e.description&&(e.description=a(e.readme)),void 0===e.description&&delete e.description,e.description||this.warn("missingDescription")},fixReadmeField:function(e){e.readme||(this.warn("missingReadme"),e.readme="ERROR: No README data found!")},fixBugsField:function(t){if(!t.bugs&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.bugs()&&(t.bugs={url:n.bugs()})}else if(t.bugs){if("string"==typeof t.bugs)l(t.bugs)?t.bugs={email:t.bugs}:e.canParse(t.bugs)?t.bugs={url:t.bugs}:this.warn("nonEmailUrlBugsString");else{!function(e,t){if(!e)return;Object.keys(e).forEach(function(n){c.bugs[n]&&(t("typo",n,c.bugs[n],"bugs"),e[c.bugs[n]]=e[n],delete e[n])})}(t.bugs,this.warn);var r=t.bugs;t.bugs={},r.url&&(e.canParse(r.url)?t.bugs.url=r.url:this.warn("nonUrlBugsUrlField")),r.email&&("string"==typeof r.email&&l(r.email)?t.bugs.email=r.email:this.warn("nonEmailBugsEmailField"))}t.bugs.email||t.bugs.url||(delete t.bugs,this.warn("emptyNormalizedBugs"))}},fixHomepageField:function(t){if(!t.homepage&&t.repository&&t.repository.url){var n=i.fromUrl(t.repository.url);n&&n.docs()&&(t.homepage=n.docs())}if(t.homepage)return"string"!=typeof t.homepage?(this.warn("nonUrlHomepage"),delete t.homepage):void(e.canParse(t.homepage)||(t.homepage="http://"+t.homepage))},fixLicenseField:function(e){const t=e.license||e.licence;return t?"string"!=typeof t||t.length<1||""===t.trim()?this.warn("invalidLicense"):r(t).validForNewPackages?void 0:this.warn("invalidLicense"):this.warn("missingLicense")}},Ze}var Je,Qe,et,tt,nt={repositories:"'repositories' (plural) Not supported. Please pick one as the 'repository' field",missingRepository:"No repository field.",brokenGitUrl:"Probably broken git url: %s",nonObjectScripts:"scripts must be an object",nonStringScript:"script values must be string commands",nonArrayFiles:"Invalid 'files' member",invalidFilename:"Invalid filename in 'files' list: %s",nonArrayBundleDependencies:"Invalid 'bundleDependencies' list. Must be array of package names",nonStringBundleDependency:"Invalid bundleDependencies member: %s",nonDependencyBundleDependency:"Non-dependency in bundleDependencies: %s",nonObjectDependencies:"%s field must be an object",nonStringDependency:"Invalid dependency: %s %s",deprecatedArrayDependencies:"specifying %s as array is deprecated",deprecatedModules:"modules field is deprecated",nonArrayKeywords:"keywords should be an array of strings",nonStringKeyword:"keywords should be an array of strings",conflictingName:"%s is also the name of a node core module.",nonStringDescription:"'description' field should be a string",missingDescription:"No description",missingReadme:"No README data",missingLicense:"No license field.",nonEmailUrlBugsString:"Bug string field must be url, email, or {email,url}",nonUrlBugsUrlField:"bugs.url field must be a string url. Deleted.",nonEmailBugsEmailField:"bugs.email field must be a string email. Deleted.",emptyNormalizedBugs:"Normalized value of bugs field is an empty object. Deleted.",nonUrlHomepage:"homepage field must be a string url. Deleted.",invalidLicense:"license should be a valid SPDX license expression",typo:"%s should probably be %s."};function rt(){if(Qe)return Je;Qe=1;var e=m,t=nt;function n(n,r,i){return i&&(n=i+"['"+n+"']",r=i+"['"+r+"']"),e.format(t.typo,n,r)}return Je=function(){var r=Array.prototype.slice.call(arguments,0),i=r.shift();if("typo"===i)return n.apply(null,r);var o=t[i]?t[i]:i+": '%s'";return r.unshift(o),e.format.apply(null,r)},Je}var it=function(){if(tt)return et;tt=1,et=r;var e=Xe();r.fixer=e;var t=rt(),n=["name","version","description","repository","modules","scripts","files","bin","man","bugs","keywords","readme","homepage","license"].map(function(e){return i(e)+"Field"});function r(r,o,s){!0===o&&(o=null,s=!0),s||(s=!1),o&&!r.private||(o=function(){}),r.scripts&&"node-gyp rebuild"===r.scripts.install&&!r.scripts.preinstall&&(r.gypfile=!0),e.warn=function(){o(t.apply(null,arguments))},n.forEach(function(t){e["fix"+i(t)](r,s)}),r._id=r.name+"@"+r.version}function i(e){return e.charAt(0).toUpperCase()+e.slice(1)}return n=n.concat(["dependencies","people","typos"]),et}(),ot=q(it);const st=(e,t)=>{try{return v(e,y.F_OK),!0}catch(e){return!1}},at=["index.ts","index.tsx","main.ts","main.tsx"],ct=(e,t,n)=>{const r=a(e??process.cwd(),"src"),i=at,o=i.map(e=>a(r,e)).find(e=>st(e));if(!o)throw new Error(`Unable to resolve entry point, ensure ${i.join(", ")} exists in ${r}`);return o},lt=(e,t)=>_(e,t,{arrayMerge:(e,t)=>{const n=t[0]??e[0];return"object"==typeof n&&"match"in n&&"middleware"in n?((e,t,n)=>{const r=n.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),i={...t.reduce((t,n)=>Object.assign(t,{[String(n[e])]:n}),{}),...r};return Object.values(i)})("match",e,t):[...new Set([...e,...t])]}}),ut=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"]/g,ft=/\b(route|index|layout|prefix)\s*\(/g,pt=/import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)/g,dt=/\b(index|layout)\s*\(\s*['"]([^'"]+)['"]\s*\)/g,ht=/\blayout\s*\(\s*import\.meta\.resolve\s*\(\s*['"]([^'"]+)['"]\s*\)\s*,\s*[^)]+\s*\)/g,mt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*[^)]+\s*\)/g,gt=/\broute\s*\(\s*[^,]+,\s*['"]([^'"]+)['"]\s*\)/g,vt=/\bindex\s*\(\s*['"]([^'"]+)['"]\s*\)/g,yt=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*\)\s*(?!,)/g,Et=/\blayout\s*\(\s*['"]([^'"]+)['"]\s*,\s*/g,bt=/\broute\s*\(\s*([^,]+)\s*,\s*['"]([^'"]+)['"]\s*\)/g,wt=/\bprefix\s*\(\s*([^,]+)\s*,\s*\[/g,Lt=/import\s*{\s*[^}]*\b(route|index|layout|prefix)\b[^}]*}\s*from\s*['"]@equinor\/fusion-framework-react-router(?:\/routes)?['"];?\s*/g,It=/export\s+const\s+\w+\s*=\s*/g,St=/^import\s+.*?;$/gm,Ct=/export\s+default|export\s*{\s*default\s*}/,_t=e=>new RegExp(`\\bexport\\s+(const|function|class|async\\s+function)\\s+${e}\\b`),Dt=e=>new RegExp(`export\\s*{\\s*[^}]*${e}[^}]*}\\s*from`);function Pt(e,t,n){const r=new Set;try{const i=function(e,t){const n=o.resolve(t,e);if(g.existsSync(n))return n;const r=[".tsx",".ts",".jsx",".js"];for(const e of r){const t=n+e;if(g.existsSync(t))return t}return null}(e,o.dirname(t));if(!i)return n&&console.warn(`[fusion:react-router] File not found: ${e} (resolved from: ${t})`),r;const s=g.readFileSync(i,"utf-8");s.match(Ct)&&r.add("default");const a=["clientLoader","action","handle","ErrorElement","HydrateFallback","shouldRevalidate"];for(const e of a)(s.match(_t(e))||s.match(Dt(e)))&&r.add(e)}catch(t){n&&console.warn(`[fusion:react-router] Error reading file ${e}:`,t)}return r}function Nt(e){const t=[];return e.availableExports.has("default")&&t.push(`Component: ${e.component}`),e.clientLoader&&t.push(`loader: ${e.clientLoader}`),e.action&&t.push(`action: ${e.action}`),e.handle&&t.push(`handle: ${e.handle}`),e.errorElement&&t.push(`errorElement: ${e.errorElement}`),e.hydrateFallback&&t.push(`HydrateFallback: ${e.hydrateFallback}`),e.shouldRevalidate&&t.push(`shouldRevalidate: ${e.shouldRevalidate}`),t.join(",\n ")}function Ot(e,t,n,r){let i=1,o=t+1;for(;o<e.length&&i>0;){if(e[o]===n&&i++,e[o]===r&&i--,0===i)return o;o++}return null}const At=(e={})=>{const{debug:t=!1}=e;let n;return{name:"fusion:react-router",config(e){n=e.root??process.cwd(),t&&console.log("[fusion:react-router] Project root:",n)},transform(e,r){try{if(!n||!r.startsWith(n)||r.includes("node_modules"))return null;if(!e.match(ut))return null;if(!e.match(ft))return t&&console.log("[fusion:react-router] File has DSL imports but no route calls, skipping transformation"),null;t&&console.log("[fusion:react-router] Transforming file:",r.replace(n,""));const i=function(e){const t=new Set,n=e=>{var n;e&&((n=e).startsWith("./")||n.startsWith("../"))&&t.add(e)};let r=pt.exec(e);for(;null!==r;)n(r[1]),r=pt.exec(e);for(r=dt.exec(e);null!==r;)n(r[2]),r=dt.exec(e);for(r=ht.exec(e);null!==r;)n(r[1]),r=ht.exec(e);for(r=mt.exec(e);null!==r;)n(r[1]),r=mt.exec(e);for(r=gt.exec(e);null!==r;)n(r[1]),r=gt.exec(e);return t}(e);if(0===i.size)return null;const o=new Map;i.forEach(e=>{const n=function(e){const t=e.replace(/\.[^./]+$/,"").split("/").filter(e=>e&&"."!==e&&".."!==e),n=t[t.length-1]??"index";return("index"===n.toLowerCase()&&t.length>1?t.slice(0,-1):[n]).map(e=>e.replace(/[[\]]/g,"").replace(/[-_.](.)/g,(e,t)=>t.toUpperCase()).replace(/^(.)/,e=>e.toUpperCase())).join("")}(e),i=Pt(e,r,t);o.set(e,{component:n,clientLoader:i.has("clientLoader")?`clientLoader${n}`:void 0,action:i.has("action")?`action${n}`:void 0,handle:i.has("handle")?`handle${n}`:void 0,errorElement:i.has("ErrorElement")?`ErrorElement${n}`:void 0,hydrateFallback:i.has("HydrateFallback")?`HydrateFallback${n}`:void 0,shouldRevalidate:i.has("shouldRevalidate")?`shouldRevalidate${n}`:void 0,availableExports:i})});const s=function(e,t){const n=[];return t&&n.push("import React from 'react';","import { useLoaderData, useActionData, useRouteError, useRouterContext, routerContext } from '@equinor/fusion-framework-react-router';"),e.forEach((e,t)=>{const r=[];e.availableExports.has("default")&&r.push(`default as ${e.component}`),e.clientLoader&&r.push(`clientLoader as ${e.clientLoader}`),e.action&&r.push(`action as ${e.action}`),e.handle&&r.push(`handle as ${e.handle}`),e.errorElement&&r.push(`ErrorElement as ${e.errorElement}`),e.hydrateFallback&&r.push(`HydrateFallback as ${e.hydrateFallback}`),e.shouldRevalidate&&r.push(`shouldRevalidate as ${e.shouldRevalidate}`),r.length>0&&n.push(`import {\n ${r.join(",\n ")}\n} from '${t}';`)}),n}(o,i.size>0);let a=e;return a=a.replace(pt,'"$1"'),a=a.replace(vt,(e,t)=>{const n=o.get(t);if(!n)return e;return`{\n index: true,\n ${Nt(n)}\n }`}),a=a.replace(yt,(e,t)=>{const n=o.get(t);if(!n)return e;return`{\n ${Nt(n)}\n }`}),a=function(e,t,n,r,i){let o=e,s=!0;for(;s;){s=!1;const e=Array.from(o.matchAll(t));for(const t of e){const e=t.index??-1;if(e<0)continue;const a=t[1],c=e+t[0].length,l=o.indexOf("(",e);if(-1===l)continue;const u=Ot(o,l,"(",")");if(null===u)continue;const f=o.slice(c,u).trim();if(n.test(f))continue;const p=r(a,f,i.get(a));if(null!==p){const t=o.slice(0,e),n=o.slice(u+1);o=t+p+n,s=!0;break}}}return o}(a,Et,/\blayout\s*\(/,(e,t,n)=>{if(!n)return null;return`{\n ${Nt(n)},\n children: ${t}\n }`},o),a=a.replace(bt,(e,t,n)=>{const r=o.get(n);if(!r)return e;return`{\n path: ${t},\n ${Nt(r)}\n }`}),a=function(e){let t=e,n=!0;for(;n;){n=!1;let e=wt.exec(t);for(;null!==e;){const r=e.index,i=e[1],o=e.index+e[0].length-1,s=Ot(t,o,"[","]");if(null===s){e=wt.exec(t);continue}const a=t.slice(o+1,s);if(/\bprefix\s*\(/.test(a)){e=wt.exec(t);continue}const c=t.indexOf(")",s);if(-1===c){e=wt.exec(t);continue}const l=t.slice(0,r),u=t.slice(c+1);t=`${l}{\n path: ${i},\n children: [${a}]\n }${u}`,n=!0;break}}return t}(a),a=a.replace(Lt,""),a=function(e){let t=e,n=It.exec(t);for(;null!==n;){const e=n.index+n[0].length;let r=e;for(;r<t.length&&/\s/.test(t[r]);)r++;if("{"===t[r]){const i=Ot(t,r,"{","}");if(null!==i){const o=t.slice(r,i+1);if(o.includes("Component:")&&!t.slice(e,r).trim().startsWith("[")){const r=t.slice(0,e),s=t.slice(i+1);t=`${r}[${o}]${s}`,It.lastIndex=0,n=It.exec(t);continue}}}n=It.exec(t)}return t}(a),a=function(e,t){const n=e.match(St);if(n&&n.length>0){const r=n[n.length-1],i=e.lastIndexOf(r)+r.length;return e.slice(0,i)+"\n"+t.join("\n")+"\n"+e.slice(i)}return`${t.join("\n")}\n${e}`}(a,s),a}catch(t){return console.error("[fusion:react-router] Error during transformation:",t),e}}}},$t=async(n,r)=>{const{packageJson:o,root:a}=r,{config:u}=await e(n)??{},f=o.main??o.module??"./dist/bundle.js",p=ct(a);if("build"===n.command){if(s(f)===a)throw new Error("outDir cannot be root, please specify package.main or package.module in package.json");if("src"===s(f))throw new Error("outDir cannot be src, please specify package.main or package.module in package.json");if(s(f)===process.cwd())throw new Error("outDir cannot be the current working directory, please specify package.main or package.module in package.json")}return t({root:a,plugins:[i(),At({debug:!0}),D({extensions:[".md"]})],define:{"process.env.NODE_ENV":JSON.stringify(n.mode),"process.env.NODE_DEBUG":"production"!==n.mode,"process.env.FUSION_LOG_LEVEL":"production"===n.mode?1:3},build:{outDir:s(f),lib:{entry:p,fileName:c(f,l(f)),formats:["es"]},emptyOutDir:!0}},u??{})};function Rt(e,t){P("object"==typeof e,t)}const Tt=e=>{if(e.repository)return"string"==typeof e.repository?e.repository:e.repository.url},xt=()=>{try{return N("git remote get-url origin").toString().trim().replace("git@github.com:","https://github.com/").replace(/\.git$/,"")}catch(e){return}},Ft=(e="HEAD")=>{try{return N(`git rev-parse ${e}`).toString().trim()}catch(e){return}},Ut=()=>{try{return N("git branch --show-current").toString().trim()||void 0}catch{return}},kt="15.2.1",Bt=e=>{if(e?.startsWith("refs/heads/"))return e.slice(11)||void 0},Mt=()=>{const e={cliVersion:kt,source:"local",reason:"manual"};if("true"===process.env.GITHUB_ACTIONS){const t=(()=>{const e=process.env.GITHUB_EVENT_NAME||"unknown",t=process.env.GITHUB_ACTOR||"unknown",n=process.env.GITHUB_RUN_ID||"unknown",r=process.env.GITHUB_REPOSITORY||"unknown",i=process.env.GITHUB_WORKFLOW||"unknown",o=process.env.GITHUB_SERVER_URL||"https://github.com";let s="unknown";"unknown"!==r&&"unknown"!==n&&(s=`${o.replace(/\/$/,"")}/${r}/actions/runs/${n}`);const a={eventName:e,actor:t,runId:n,runUrl:s,workflow:i};if(process.env.GITHUB_EVENT_PATH)try{const e=E(process.env.GITHUB_EVENT_PATH,"utf8");Object.assign(a,JSON.parse(e))}catch{console.error("Failed to parse GitHub event payload")}return a})(),n={...e,source:"github",reason:t.eventName,workflow:t.workflow,runId:t.runId,runUrl:t.runUrl,commitId:t.head_commit?.id,repository:t.repository?.name,repository_homepage:t.repository?.homepage,repository_license:t.repository?.license?.name,repository_owner:t.repository?.owner?.login,repository_owner_avatar_url:t.repository?.owner?.avatar_url,actor:t.actor,sender_login:t.sender?.login,sender_avatar_url:t.sender?.avatar_url};return t.pull_request?{...n,branch:t.pull_request.head?.ref,commitId:t.pull_request.head?.sha,htmlUrl:t.pull_request.html_url}:t.release?{...n,tag:t.release.tag_name,htmlUrl:t.release.html_url}:{...n,branch:Bt(t.ref??process.env.GITHUB_REF)}}if(process.env.SYSTEM_TEAMPROJECT){const t=(()=>{const e=process.env.BUILD_BUILDID||"unknown",t=process.env.BUILD_DEFINITIONNAME||"unknown",n=process.env.BUILD_REPOSITORY_NAME||"unknown",r=process.env.SYSTEM_TEAMPROJECT||"unknown",i=process.env.SYSTEM_COLLECTIONURI||"unknown",o=process.env.BUILD_REQUESTEDFOR||"unknown",s=process.env.BUILD_SOURCEBRANCH||"unknown",a=process.env.BUILD_SOURCEVERSION||"unknown",c=process.env.BUILD_REASON||"unknown";let l="unknown";return"unknown"!==i&&"unknown"!==r&&"unknown"!==e&&(l=`${i.replace(/\/$/,"")}${r}/_build/results?buildId=${e}`),{runId:e,pipelineName:t,repository:n,project:r,orgUrl:i,actor:o,branch:s,commitId:a,runUrl:l,reason:c}})();return{...e,source:"azure_devops",reason:t.reason,repository:t.repository,runId:t.runId,runUrl:t.runUrl,actor:t.actor,branch:t.branch,commitId:t.commitId,workflow:t.pipelineName}}return{...e,branch:Ut()}},Gt=["png","jpg","jpeg","gif","svg","ico","webp","mp4","webm","mp3","woff2","woff","eot","ttf","otf","pdf","md","txt"];const jt=(e,t,n)=>{Rt(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const r=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/app-bundle.js":ct(e.root))(e,t),i=t.name.replace(/^@|\w.*\//gm,""),o=n?.snapshot?function(e,t){const n=O(e)?.version;if(!n)throw new Error(`Invalid semantic version: "${e}". Expected format: major.minor.patch`);const r=Math.floor(Date.now()/1e3);return`${n}-${"string"==typeof t?`${t}.${r}`:`snapshot.${r}`}`}(t.version,n.snapshot):t.version,s="build"===e.command?void 0:`/bundles/apps/${i}@${o}`,a=Tt(t)??xt(),c=Gt.map(e=>`.${e}`);return{appKey:i,displayName:t.name,description:t.description||"",keywords:t.keywords,type:"standalone",build:{entryPoint:r,assetPath:s,githubRepo:a,version:o,timestamp:(new Date).toISOString(),commitSha:Ft(),annotations:Mt(),projectPage:t.homepage,allowedExtensions:c}}},zt=(e,t)=>_(e,t),Ht=T.object({environment:T.record(T.string(),T.any()).describe("Key-value map of environment-specific variables for the application. Defaults to an empty object if not provided.").optional().default({}),endpoints:T.record(T.string(),T.object({url:T.string({message:"The endpoint URL. This field is required."}),scopes:T.array(T.string()).optional().default([]).describe("List of scopes required for accessing this endpoint. Defaults to an empty array.")})).describe("A mapping of endpoint names to their configuration objects. Each endpoint must specify a URL and may specify scopes.").optional()}).describe("The API application configuration schema, defining environment variables and endpoints for the application."),qt=(e,t)=>r.blueBright(t?.relative?`./${u(t?.cwd??process.cwd(),e)}`:e),Vt=async(e,t,n)=>{const i=jt(e,t.packageJson,{snapshot:n?.snapshot});try{n?.log?.start("loading application package...");const{manifest:t,path:r}=await(async(e,t)=>{const n=t?.file??[`app.manifest.${e.environment}`,"app.manifest","app.manifest.config"],r=await S(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};if("function"==typeof n.default){const t=await n.default(e,{base:r});return zt(r,t??{})}return zt(r,n.default??{})}}});return{manifest:r.config,path:r.path,extension:r.extension}})(e,{base:i,file:n?.manifestPath});if(!t.build)throw new Error(`Application manifest for ${t.appKey} does not contain build information, please check the manifest file.`);return"serve"===e.command&&(t.build.assetPath=`/bundles/apps/${t.appKey}/${t.build.version}`),n?.log?.succeed("generated manifest from",qt(r,{relative:!0})),t}catch(e){if(e instanceof C){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${qt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?qt(n?.manifestPath):""}`),e}};async function Wt(e){e?.start("resolve project package");try{const t=await(async e=>{const t=await f({...e,normalize:!1});if(!t)throw new Error("failed to find package.json");const n={...t.packageJson};return ot(n),{packageJson:{...n,version:t.packageJson.version},path:t.path,root:s(t.path)}})();return e?.succeed("📦",r.yellowBright([t.packageJson.name,t.packageJson.version].join("@"))),e?.info("🏠",r.blueBright(t.root)),t}catch(t){throw e?.fail("☠️","failed to resolve project package"),t}}const Zt=async e=>{const{log:t}=e??{},n=await Wt(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await Vt(r,n,{log:t,manifestPath:e?.manifest,snapshot:e?.snapshot});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},Kt=async e=>{const{log:t,snapshot:i}=e??{};t?.log(r.bold("Starting to build application"));const{manifest:o,pkg:s,env:a}=await Zt({log:t,manifest:e?.manifest,snapshot:i});t?.start("loading vite config...");const c=await $t(a,s);t?.succeed("vite config applied"),t?.debug("vite config:",c),t?.start("🤞🏻","building application..."),t?.startNativeConsoleCapture(),await n(c),t?.stopNativeConsoleCapture(),t?.succeed("build completed 😘");return{pkg:s,manifest:o,outDir:c.build.outDir}};var Yt,Xt,Jt={exports:{}};function Qt(){return Xt?Yt:(Xt=1,Yt={LOCHDR:30,LOCSIG:67324752,LOCVER:4,LOCFLG:6,LOCHOW:8,LOCTIM:10,LOCCRC:14,LOCSIZ:18,LOCLEN:22,LOCNAM:26,LOCEXT:28,EXTSIG:134695760,EXTHDR:16,EXTCRC:4,EXTSIZ:8,EXTLEN:12,CENHDR:46,CENSIG:33639248,CENVEM:4,CENVER:6,CENFLG:8,CENHOW:10,CENTIM:12,CENCRC:16,CENSIZ:20,CENLEN:24,CENNAM:28,CENEXT:30,CENCOM:32,CENDSK:34,CENATT:36,CENATX:38,CENOFF:42,ENDHDR:22,ENDSIG:101010256,ENDSUB:8,ENDTOT:10,ENDSIZ:12,ENDOFF:16,ENDCOM:20,END64HDR:20,END64SIG:117853008,END64START:4,END64OFF:8,END64NUMDISKS:16,ZIP64SIG:101075792,ZIP64HDR:56,ZIP64LEAD:12,ZIP64SIZE:4,ZIP64VEM:12,ZIP64VER:14,ZIP64DSK:16,ZIP64DSKDIR:20,ZIP64SUB:24,ZIP64TOT:32,ZIP64SIZB:40,ZIP64OFF:48,ZIP64EXTRA:56,STORED:0,SHRUNK:1,REDUCED1:2,REDUCED2:3,REDUCED3:4,REDUCED4:5,IMPLODED:6,DEFLATED:8,ENHANCED_DEFLATED:9,PKWARE:10,BZIP2:12,LZMA:14,IBM_TERSE:18,IBM_LZ77:19,AES_ENCRYPT:99,FLG_ENC:1,FLG_COMP1:2,FLG_COMP2:4,FLG_DESC:8,FLG_ENH:16,FLG_PATCH:32,FLG_STR:64,FLG_EFS:2048,FLG_MSK:4096,FILE:2,BUFFER:1,NONE:0,EF_ID:0,EF_SIZE:2,ID_ZIP64:1,ID_AVINFO:7,ID_PFS:8,ID_OS2:9,ID_NTFS:10,ID_OPENVMS:12,ID_UNIX:13,ID_FORK:14,ID_PATCH:15,ID_X509_PKCS7:20,ID_X509_CERTID_F:21,ID_X509_CERTID_C:22,ID_STRONGENC:23,ID_RECORD_MGT:24,ID_X509_PKCS7_RL:25,ID_IBM1:101,ID_IBM2:102,ID_POSZIP:18064,EF_ZIP64_OR_32:4294967295,EF_ZIP64_OR_16:65535,EF_ZIP64_SUNCOMP:0,EF_ZIP64_SCOMP:8,EF_ZIP64_RHO:16,EF_ZIP64_DSN:24})}var en,tn,nn,rn,on,sn,an,cn,ln={};function un(){return en||(en=1,function(e){const t={INVALID_LOC:"Invalid LOC header (bad signature)",INVALID_CEN:"Invalid CEN header (bad signature)",INVALID_END:"Invalid END header (bad signature)",DESCRIPTOR_NOT_EXIST:"No descriptor present",DESCRIPTOR_UNKNOWN:"Unknown descriptor format",DESCRIPTOR_FAULTY:"Descriptor data is malformed",NO_DATA:"Nothing to decompress",BAD_CRC:"CRC32 checksum failed {0}",FILE_IN_THE_WAY:"There is a file in the way: {0}",UNKNOWN_METHOD:"Invalid/unsupported compression method",AVAIL_DATA:"inflate::Available inflate data did not terminate",INVALID_DISTANCE:"inflate::Invalid literal/length or distance code in fixed or dynamic block",TO_MANY_CODES:"inflate::Dynamic block code description: too many length or distance codes",INVALID_REPEAT_LEN:"inflate::Dynamic block code description: repeat more than specified lengths",INVALID_REPEAT_FIRST:"inflate::Dynamic block code description: repeat lengths with no first length",INCOMPLETE_CODES:"inflate::Dynamic block code description: code lengths codes incomplete",INVALID_DYN_DISTANCE:"inflate::Dynamic block code description: invalid distance code lengths",INVALID_CODES_LEN:"inflate::Dynamic block code description: invalid literal/length code lengths",INVALID_STORE_BLOCK:"inflate::Stored block length did not match one's complement",INVALID_BLOCK_TYPE:"inflate::Invalid block type (type == 3)",CANT_EXTRACT_FILE:"Could not extract the file",CANT_OVERRIDE:"Target file already exists",DISK_ENTRY_TOO_LARGE:"Number of disk entries is too large",NO_ZIP:"No zip file was loaded",NO_ENTRY:"Entry doesn't exist",DIRECTORY_CONTENT_ERROR:"A directory cannot have content",FILE_NOT_FOUND:'File not found: "{0}"',NOT_IMPLEMENTED:"Not implemented",INVALID_FILENAME:"Invalid filename",INVALID_FORMAT:"Invalid or unsupported zip format. No END header found",INVALID_PASS_PARAM:"Incompatible password parameter",WRONG_PASSWORD:"Wrong Password",COMMENT_TOO_LONG:"Comment is too long",EXTRA_FIELD_PARSE_ERROR:"Extra field parsing error"};function n(e){return function(...t){return t.length&&(e=e.replace(/\{(\d)\}/g,(e,n)=>t[n]||"")),new Error("ADM-ZIP: "+e)}}for(const r of Object.keys(t))e[r]=n(t[r])}(ln)),ln}function fn(){return cn||(cn=1,Jt.exports=function(){if(nn)return tn;nn=1;const e=x,t=F,n=Qt(),r=un(),i="object"==typeof process&&"win32"===process.platform,o=e=>"object"==typeof e&&null!==e,s=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=3988292384^t>>>1:t>>>=1;return t>>>0});function a(n){this.sep=t.sep,this.fs=e,o(n)&&o(n.fs)&&"function"==typeof n.fs.statSync&&(this.fs=n.fs)}return tn=a,a.prototype.makeDir=function(e){const t=this;!function(e){let n=e.split(t.sep)[0];e.split(t.sep).forEach(function(e){if(e&&":"!==e.substr(-1,1)){var i;n+=t.sep+e;try{i=t.fs.statSync(n)}catch(e){if(!e.message||!e.message.startsWith("ENOENT"))throw e;t.fs.mkdirSync(n)}if(i&&i.isFile())throw r.FILE_IN_THE_WAY(`"${n}"`)}})}(e)},a.prototype.writeFileTo=function(e,n,r,i){const o=this;if(o.fs.existsSync(e)){if(!r)return!1;if(o.fs.statSync(e).isDirectory())return!1}var s,a=t.dirname(e);o.fs.existsSync(a)||o.makeDir(a);try{s=o.fs.openSync(e,"w",438)}catch(t){o.fs.chmodSync(e,438),s=o.fs.openSync(e,"w",438)}if(s)try{o.fs.writeSync(s,n,0,n.length,0)}finally{o.fs.closeSync(s)}return o.fs.chmodSync(e,i||438),!0},a.prototype.writeFileToAsync=function(e,n,r,i,o){"function"==typeof i&&(o=i,i=void 0);const s=this;s.fs.exists(e,function(a){if(a&&!r)return o(!1);s.fs.stat(e,function(r,c){if(a&&c&&c.isDirectory())return o(!1);var l=t.dirname(e);s.fs.exists(l,function(t){if(!t)try{s.makeDir(l)}catch(e){return o(!1)}const r=function(t){s.fs.write(t,n,0,n.length,0,function(n){s.fs.close(t,function(){if(n)return o(!1);s.fs.chmod(e,i||438,function(){o(!0)})})})};s.fs.open(e,"w",438,function(t,n){t?s.fs.chmod(e,438,function(){s.fs.open(e,"w",438,function(e,t){if(e||!t)return o(!1);r(t)})}):n?r(n):o(!1)})})})})},a.prototype.findFiles=function(e){const n=this;return function e(r,i,o,s){let a=[];return n.fs.readdirSync(r).forEach(function(c){const l=t.join(r,c),u=n.fs.statSync(l);if(a.push(t.normalize(l)+(u.isDirectory()?n.sep:"")),u.isDirectory()&&o){const t=n.fs.realpathSync(l);s.has(t)||(s.add(t),a=a.concat(e(l,i,o,s)))}}),a}(e,void 0,!0,new Set([n.fs.realpathSync(e)]))},a.prototype.findFilesAsync=function(e,n){const r=this,i=[];let o=!1;const s=function(e){o||(o=!0,n(e,e?void 0:i))},a=function(e,n,o){r.fs.readdir(e,function(s,c){if(s)return o(s);let l=c.length;if(!l)return o();c.forEach(function(s){const c=t.join(e,s);r.fs.stat(c,function(e,s){if(e)return o(e);s?(i.push(t.normalize(c)+(s.isDirectory()?r.sep:"")),s.isDirectory()?r.fs.realpath(c,function(e,t){if(e)return o(e);n.has(t)?--l||o():(n.add(t),a(c,n,function(e){if(e)return o(e);--l||o()}))}):--l||o()):--l||o()})})})};r.fs.realpath(e,function(t,n){if(t)return s(t);a(e,new Set([n]),s)})},a.prototype.getAttributes=function(){},a.prototype.setAttributes=function(){},a.crc32update=function(e,t){return s[255&(e^t)]^e>>>8},a.crc32=function(e){"string"==typeof e&&(e=Buffer.from(e,"utf8"));let t=e.length,n=-1;for(let r=0;r<t;)n=a.crc32update(n,e[r++]);return~n>>>0},a.methodToString=function(e){switch(e){case n.STORED:return"STORED ("+e+")";case n.DEFLATED:return"DEFLATED ("+e+")";default:return"UNSUPPORTED ("+e+")"}},a.canonical=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.join(".",n)},a.zipnamefix=function(e){if(!e)return"";const n=t.posix.normalize("/"+e.split("\\").join("/"));return t.posix.join(".",n)},a.findLast=function(e,t){if(!Array.isArray(e))throw new TypeError("arr is not array");for(let n=(e.length>>>0)-1;n>=0;n--)if(t(e[n],n,e))return e[n]},a.sanitize=function(e,n){e=t.resolve(t.normalize(e));for(var r=n.split("/"),i=0,o=r.length;i<o;i++){var s=t.normalize(t.join(e,r.slice(i,o).join(t.sep)));if(s===e||s.startsWith(e+t.sep))return s}return t.normalize(t.join(e,t.basename(n)))},a.toBuffer=function(e,t){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e):"string"==typeof e?t(e):Buffer.alloc(0)},a.readBigUInt64LE=function(e,t){const n=e.readUInt32LE(t);return 4294967296*e.readUInt32LE(t+4)+n},a.writeBigUInt64LE=function(e,t,n){const r=t>>>0,i=Math.floor(t/4294967296)>>>0;e.writeUInt32LE(r,n),e.writeUInt32LE(i,n+4)},a.fromDOS2Date=function(e){return new Date(1980+(e>>25&127),Math.max((e>>21&15)-1,0),Math.max(e>>16&31,1),e>>11&31,e>>5&63,(31&e)<<1)},a.fromDate2DOS=function(e){let t=0,n=0;return e.getFullYear()>1979&&(t=(e.getFullYear()-1980&127)<<9|e.getMonth()+1<<5|e.getDate(),n=e.getHours()<<11|e.getMinutes()<<5|e.getSeconds()>>1),t<<16|n},a.isWin=i,a.crcTable=s,tn}(),Jt.exports.Constants=Qt(),Jt.exports.Errors=un(),Jt.exports.FileAttr=function(){if(on)return rn;on=1;const e=F;return rn=function(t,{fs:n}){var r=t||"",i={directory:!1,readonly:!1,hidden:!1,executable:!1,mtime:0,atime:0},o=null;return r&&n.existsSync(r)?(o=n.statSync(r),i.directory=o.isDirectory(),i.mtime=o.mtime,i.atime=o.atime,i.executable=!!(73&o.mode),i.readonly=!(128&o.mode),i.hidden="."===e.basename(r)[0]):console.warn("Invalid path: "+r),{get directory(){return i.directory},get readOnly(){return i.readonly},get hidden(){return i.hidden},get mtime(){return i.mtime},get atime(){return i.atime},get executable(){return i.executable},decodeAttributes:function(){},encodeAttributes:function(){},toJSON:function(){return{path:r,isDirectory:i.directory,isReadOnly:i.readonly,isHidden:i.hidden,isExecutable:i.executable,mTime:i.mtime,aTime:i.atime}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},rn}(),Jt.exports.decoder=an?sn:(an=1,sn={efs:!0,encode:e=>Buffer.from(e,"utf8"),decode:e=>e.toString("utf8")})),Jt.exports}var pn,dn,hn,mn,gn,vn={};function yn(){if(dn)return pn;dn=1;var e=fn(),t=e.Constants;return pn=function(){var n=20,r=10,i=0,o=0,s=0,a=0,c=0,l=0,u=0,f=0,p=0,d=0,h=0,m=0,g=0;n|=e.isWin?2560:768,i|=t.FLG_EFS;const v={extraLen:0},y=e=>Math.max(0,e)>>>0;return s=e.fromDate2DOS(new Date),{get made(){return n},set made(e){n=e},get version(){return r},set version(e){r=e},get flags(){return i},set flags(e){i=e},get flags_efs(){return(i&t.FLG_EFS)>0},set flags_efs(e){e?i|=t.FLG_EFS:i&=~t.FLG_EFS},get flags_desc(){return(i&t.FLG_DESC)>0},set flags_desc(e){e?i|=t.FLG_DESC:i&=~t.FLG_DESC},get method(){return o},set method(e){switch(e){case t.STORED:this.version=10;break;case t.DEFLATED:default:this.version=20}o=e},get time(){return e.fromDOS2Date(this.timeval)},set time(t){t=new Date(t),this.timeval=e.fromDate2DOS(t)},get timeval(){return s},set timeval(e){s=y(e)},get timeHighByte(){return e=s>>>8,255&Math.max(0,e);var e},get crc(){return a},set crc(e){a=y(e)},get compressedSize(){return c},set compressedSize(e){c=y(e)},get size(){return l},set size(e){l=y(e)},get fileNameLength(){return u},set fileNameLength(e){u=e},get extraLength(){return f},set extraLength(e){f=e},get extraLocalLength(){return v.extraLen},set extraLocalLength(e){v.extraLen=e},get commentLength(){return p},set commentLength(e){p=e},get diskNumStart(){return d},set diskNumStart(e){d=y(e)},get inAttr(){return h},set inAttr(e){h=y(e)},get attr(){return m},set attr(e){m=y(e)},get fileAttr(){return(m||0)>>16&4095},get offset(){return g},set offset(e){g=y(e)},get encrypted(){return(i&t.FLG_ENC)===t.FLG_ENC},get centralHeaderSize(){return t.CENHDR+u+f+p},get realDataOffset(){return g+t.LOCHDR+v.fnameLen+v.extraLen},get localHeader(){return v},loadLocalHeaderFromBinary:function(n){var r=n.slice(g,g+t.LOCHDR);if(r.readUInt32LE(0)!==t.LOCSIG)throw e.Errors.INVALID_LOC();v.version=r.readUInt16LE(t.LOCVER),v.flags=r.readUInt16LE(t.LOCFLG),v.flags_desc=(v.flags&t.FLG_DESC)>0,v.method=r.readUInt16LE(t.LOCHOW),v.time=r.readUInt32LE(t.LOCTIM),v.crc=r.readUInt32LE(t.LOCCRC),v.compressedSize=r.readUInt32LE(t.LOCSIZ),v.size=r.readUInt32LE(t.LOCLEN),v.fnameLen=r.readUInt16LE(t.LOCNAM),v.extraLen=r.readUInt16LE(t.LOCEXT);const i=g+t.LOCHDR+v.fnameLen,o=i+v.extraLen;return n.slice(i,o)},loadFromBinary:function(v){if(v.length!==t.CENHDR||v.readUInt32LE(0)!==t.CENSIG)throw e.Errors.INVALID_CEN();n=v.readUInt16LE(t.CENVEM),r=v.readUInt16LE(t.CENVER),i=v.readUInt16LE(t.CENFLG),o=v.readUInt16LE(t.CENHOW),s=v.readUInt32LE(t.CENTIM),a=v.readUInt32LE(t.CENCRC),c=v.readUInt32LE(t.CENSIZ),l=v.readUInt32LE(t.CENLEN),u=v.readUInt16LE(t.CENNAM),f=v.readUInt16LE(t.CENEXT),p=v.readUInt16LE(t.CENCOM),d=v.readUInt16LE(t.CENDSK),h=v.readUInt16LE(t.CENATT),m=v.readUInt32LE(t.CENATX),g=v.readUInt32LE(t.CENOFF)},localHeaderToBinary:function(){var e=Buffer.alloc(t.LOCHDR);return e.writeUInt32LE(t.LOCSIG,0),e.writeUInt16LE(r,t.LOCVER),e.writeUInt16LE(i&~t.FLG_DESC,t.LOCFLG),e.writeUInt16LE(o,t.LOCHOW),e.writeUInt32LE(s,t.LOCTIM),e.writeUInt32LE(a,t.LOCCRC),e.writeUInt32LE(c,t.LOCSIZ),e.writeUInt32LE(l,t.LOCLEN),e.writeUInt16LE(u,t.LOCNAM),e.writeUInt16LE(v.extraLen,t.LOCEXT),e},centralHeaderToBinary:function(){var e=Buffer.alloc(t.CENHDR+u+f+p);return e.writeUInt32LE(t.CENSIG,0),e.writeUInt16LE(n,t.CENVEM),e.writeUInt16LE(r,t.CENVER),e.writeUInt16LE(i&~t.FLG_DESC,t.CENFLG),e.writeUInt16LE(o,t.CENHOW),e.writeUInt32LE(s,t.CENTIM),e.writeUInt32LE(a,t.CENCRC),e.writeUInt32LE(c,t.CENSIZ),e.writeUInt32LE(l,t.CENLEN),e.writeUInt16LE(u,t.CENNAM),e.writeUInt16LE(f,t.CENEXT),e.writeUInt16LE(p,t.CENCOM),e.writeUInt16LE(d,t.CENDSK),e.writeUInt16LE(h,t.CENATT),e.writeUInt32LE(m,t.CENATX),e.writeUInt32LE(g,t.CENOFF),e},toJSON:function(){const s=function(e){return e+" bytes"};return{made:n,version:r,flags:i,method:e.methodToString(o),time:this.time,crc:"0x"+a.toString(16).toUpperCase(),compressedSize:s(c),size:s(l),fileNameLength:s(u),extraLength:s(f),commentLength:s(p),diskNumStart:d,inAttr:h,attr:m,offset:g,centralHeaderSize:s(t.CENHDR+u+f+p)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}function En(){return gn||(gn=1,vn.EntryHeader=yn(),vn.MainHeader=function(){if(mn)return hn;mn=1;var e=fn(),t=e.Constants;return hn=function(){var n=0,r=0,i=0,o=0,s=0;const a=()=>n>t.EF_ZIP64_OR_16||r>t.EF_ZIP64_OR_16||i>t.EF_ZIP64_OR_32||o>t.EF_ZIP64_OR_32;return{get diskEntries(){return n},set diskEntries(e){n=r=e},get totalEntries(){return r},set totalEntries(e){r=n=e},get size(){return i},set size(e){i=e},get offset(){return o},set offset(e){o=e},get commentLength(){return s},set commentLength(e){s=e},get mainHeaderSize(){return(a()?t.ZIP64HDR+t.END64HDR:0)+t.ENDHDR+s},loadFromBinary:function(a){if((a.length!==t.ENDHDR||a.readUInt32LE(0)!==t.ENDSIG)&&(a.length<t.ZIP64HDR||a.readUInt32LE(0)!==t.ZIP64SIG))throw e.Errors.INVALID_END();a.readUInt32LE(0)===t.ENDSIG?(n=a.readUInt16LE(t.ENDSUB),r=a.readUInt16LE(t.ENDTOT),i=a.readUInt32LE(t.ENDSIZ),o=a.readUInt32LE(t.ENDOFF),s=a.readUInt16LE(t.ENDCOM)):(n=e.readBigUInt64LE(a,t.ZIP64SUB),r=e.readBigUInt64LE(a,t.ZIP64TOT),i=e.readBigUInt64LE(a,t.ZIP64SIZB),o=e.readBigUInt64LE(a,t.ZIP64OFF),s=0)},toBinary:function(){var c;if(!a())return(c=Buffer.alloc(t.ENDHDR+s)).writeUInt32LE(t.ENDSIG,0),c.writeUInt32LE(0,4),c.writeUInt16LE(n,t.ENDSUB),c.writeUInt16LE(r,t.ENDTOT),c.writeUInt32LE(i,t.ENDSIZ),c.writeUInt32LE(o,t.ENDOFF),c.writeUInt16LE(s,t.ENDCOM),c.fill(" ",t.ENDHDR),c;let l=0;(c=Buffer.alloc(this.mainHeaderSize)).writeUInt32LE(t.ZIP64SIG,l),e.writeBigUInt64LE(c,t.ZIP64HDR-t.ZIP64LEAD,l+t.ZIP64SIZE),c.writeUInt16LE(45,l+t.ZIP64VEM),c.writeUInt16LE(45,l+t.ZIP64VER),c.writeUInt32LE(0,l+t.ZIP64DSK),c.writeUInt32LE(0,l+t.ZIP64DSKDIR),e.writeBigUInt64LE(c,n,l+t.ZIP64SUB),e.writeBigUInt64LE(c,r,l+t.ZIP64TOT),e.writeBigUInt64LE(c,i,l+t.ZIP64SIZB),e.writeBigUInt64LE(c,o,l+t.ZIP64OFF);const u=o+i;return l+=t.ZIP64HDR,c.writeUInt32LE(t.END64SIG,l),c.writeUInt32LE(0,l+t.END64START),e.writeBigUInt64LE(c,u,l+t.END64OFF),c.writeUInt32LE(1,l+t.END64NUMDISKS),l+=t.END64HDR,c.writeUInt32LE(t.ENDSIG,l),c.writeUInt32LE(0,l+4),c.writeUInt16LE(Math.min(n,t.EF_ZIP64_OR_16),l+t.ENDSUB),c.writeUInt16LE(Math.min(r,t.EF_ZIP64_OR_16),l+t.ENDTOT),c.writeUInt32LE(Math.min(i,t.EF_ZIP64_OR_32),l+t.ENDSIZ),c.writeUInt32LE(Math.min(o,t.EF_ZIP64_OR_32),l+t.ENDOFF),c.writeUInt16LE(s,l+t.ENDCOM),c.fill(" ",l+t.ENDHDR),c},toJSON:function(){return{diskEntries:n,totalEntries:r,size:i+" bytes",offset:function(e,t){let n=e.toString(16).toUpperCase();for(;n.length<t;)n="0"+n;return"0x"+n}(o,4),commentLength:s}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}}}()),vn}var bn,wn,Ln,In,Sn,Cn,_n,Dn,Pn,Nn,On,An,$n,Rn={};function Tn(){if(Cn)return Sn;Cn=1;const{randomFillSync:e}=k,t=un(),n=new Uint32Array(256).map((e,t)=>{for(let e=0;e<8;e++)1&t?t=t>>>1^3988292384:t>>>=1;return t>>>0}),r=(e,t)=>Math.imul(e,t)>>>0,i=(e,t)=>n[255&(e^t)]^e>>>8,o=()=>"function"==typeof e?e(Buffer.alloc(12)):o.node();o.node=()=>{const e=Buffer.alloc(12),t=e.length;for(let n=0;n<t;n++)e[n]=256*Math.random()&255;return e};const s={genSalt:o};function a(e){const t=Buffer.isBuffer(e)?e:Buffer.from(e);this.keys=new Uint32Array([305419896,591751049,878082192]);for(let e=0;e<t.length;e++)this.updateKeys(t[e])}return a.prototype.updateKeys=function(e){const t=this.keys;return t[0]=i(t[0],e),t[1]+=255&t[0],t[1]=r(t[1],134775813)+1,t[2]=i(t[2],t[1]>>>24),e},a.prototype.next=function(){const e=(2|this.keys[2])>>>0;return r(e,1^e)>>8&255},Sn={decrypt:function(e,n,r){if(!e||!Buffer.isBuffer(e)||e.length<12)return Buffer.alloc(0);const i=function(e){const t=new a(e);return function(e){const n=Buffer.alloc(e.length);let r=0;for(let i of e)n[r++]=t.updateKeys(i^t.next());return n}}(r),o=i(e.slice(0,12)),s=8&~n.flags?n.crc>>>24:n.timeHighByte;if(o[11]!==s)throw t.WRONG_PASSWORD();return i(e.slice(12))},encrypt:function(e,t,n,r=!1){null==e&&(e=Buffer.alloc(0)),Buffer.isBuffer(e)||(e=Buffer.from(e.toString()));const i=function(e){const t=new a(e);return function(e,n,r=0){n||(n=Buffer.alloc(e.length));for(let i of e){const e=t.next();n[r++]=i^e,t.updateKeys(i)}return n}}(n),o=s.genSalt();o[11]=t.crc>>>24&255,r&&(o[10]=t.crc>>>16&255);const c=Buffer.alloc(e.length+12);return i(o,c),i(e,c,12)},_salter:function(e){Buffer.isBuffer(e)&&e.length>=12?s.genSalt=function(){return e.slice(0,12)}:s.genSalt="node"===e?o.node:o}}}function xn(){return _n||(_n=1,Rn.Deflater=wn?bn:(wn=1,bn=function(e){var t=U,n={chunkSize:1024*(parseInt(e.length/1024)+1)};return{deflate:function(){return t.deflateRawSync(e,n)},deflateAsync:function(r){var i=t.createDeflateRaw(n),o=[],s=0;i.on("data",function(e){o.push(e),s+=e.length}),i.on("end",function(){var e=Buffer.alloc(s),t=0;e.fill(0);for(var n=0;n<o.length;n++){var i=o[n];i.copy(e,t),t+=i.length}r&&r(e)}),i.end(e)}}}),Rn.Inflater=function(){if(In)return Ln;In=1;const e=+(process?.versions?.node??"").split(".")[0]||0;return Ln=function(t,n){var r=U;const i=e>=15&&n>0?{maxOutputLength:n}:{};return{inflate:function(){return r.inflateRawSync(t,i)},inflateAsync:function(e){var n=r.createInflateRaw(i),o=[],s=0;n.on("data",function(e){o.push(e),s+=e.length}),n.on("end",function(){var t=Buffer.alloc(s),n=0;t.fill(0);for(var r=0;r<o.length;r++){var i=o[r];i.copy(t,n),n+=i.length}e&&e(t)}),n.end(t)}}}}(),Rn.ZipCrypto=Tn()),Rn}function Fn(){if(Pn)return Dn;Pn=1;var e=fn(),t=En(),n=e.Constants,r=xn();return Dn=function(i,o){var s=new t.EntryHeader,a=Buffer.alloc(0),c=Buffer.alloc(0),l=!1,u=null,f=Buffer.alloc(0),p=Buffer.alloc(0),d=!0;const h=i,m="object"==typeof h.decoder?h.decoder:e.decoder;function g(){return o&&o instanceof Uint8Array?(p=s.loadLocalHeaderFromBinary(o),o.slice(s.realDataOffset,s.realDataOffset+s.compressedSize)):Buffer.alloc(0)}function v(t){const n=s.flags_desc||s.localHeader.flags_desc?s.crc:s.localHeader.crc;return e.crc32(t)===n}function y(t,n,i){if(void 0===n&&"string"==typeof t&&(i=t,t=void 0),l)return t&&n&&n(Buffer.alloc(0),e.Errors.DIRECTORY_CONTENT_ERROR()),Buffer.alloc(0);var o,c=g();if(0===c.length)return t&&n&&n(c),c;if(s.encrypted){if("string"!=typeof i&&!Buffer.isBuffer(i))throw e.Errors.INVALID_PASS_PARAM();c=r.ZipCrypto.decrypt(c,s,i)}switch(s.method){case e.Constants.STORED:if(o=Buffer.alloc(c.length),c.copy(o),v(o))return t&&n&&n(o),o;throw t&&n&&n(o,e.Errors.BAD_CRC()),e.Errors.BAD_CRC();case e.Constants.DEFLATED:var u=new r.Inflater(c,s.size);if(!t){if(!v(o=u.inflate()))throw e.Errors.BAD_CRC(`"${m.decode(a)}"`);return o}u.inflateAsync(function(t){n&&(v(t)?n(t):n(t,e.Errors.BAD_CRC()))});break;default:throw t&&n&&n(Buffer.alloc(0),e.Errors.UNKNOWN_METHOD()),e.Errors.UNKNOWN_METHOD()}}function E(t,n){if((!u||!u.length)&&Buffer.isBuffer(o))return t&&n&&n(g()),g();if(u.length&&!l){var i;switch(s.method){case e.Constants.STORED:return s.compressedSize=s.size,i=Buffer.alloc(u.length),u.copy(i),t&&n&&n(i),i;default:case e.Constants.DEFLATED:var a=new r.Deflater(u);if(!t){var c=a.deflate();return s.compressedSize=c.length,c}a.deflateAsync(function(e){i=Buffer.alloc(e.length),s.compressedSize=e.length,e.copy(i),n&&n(i)}),a=null}}else{if(!t||!n)return Buffer.alloc(0);n(Buffer.alloc(0))}}function b(t,n){return e.readBigUInt64LE(t,n)}function w(e){var t,r,i,o;e.length>=n.EF_ZIP64_SCOMP&&(t=b(e,n.EF_ZIP64_SUNCOMP),s.size===n.EF_ZIP64_OR_32&&(s.size=t)),e.length>=n.EF_ZIP64_RHO&&(r=b(e,n.EF_ZIP64_SCOMP),s.compressedSize===n.EF_ZIP64_OR_32&&(s.compressedSize=r)),e.length>=n.EF_ZIP64_DSN&&(i=b(e,n.EF_ZIP64_RHO),s.offset===n.EF_ZIP64_OR_32&&(s.offset=i)),e.length>=n.EF_ZIP64_DSN+4&&(o=e.readUInt32LE(n.EF_ZIP64_DSN),s.diskNumStart===n.EF_ZIP64_OR_16&&(s.diskNumStart=o))}return d=!!m.hasOwnProperty("efs")&&m.efs,{get entryName(){return m.decode(a)},get rawEntryName(){return a},set entryName(t){var n=(a=e.toBuffer(t,m.encode))[a.length-1];l=47===n||92===n,s.fileNameLength=a.length},get efs(){return"function"==typeof d?d(this.entryName):d},get extra(){return f},set extra(t){f=t,s.extraLength=t.length,function(t){try{for(var r,i,o,s=0;s+4<t.length;)r=t.readUInt16LE(s),s+=2,i=t.readUInt16LE(s),s+=2,o=t.slice(s,s+i),s+=i,n.ID_ZIP64===r&&w(o)}catch(t){throw e.Errors.EXTRA_FIELD_PARSE_ERROR()}}(t)},get comment(){return m.decode(c)},set comment(t){if(c=e.toBuffer(t,m.encode),s.commentLength=c.length,c.length>65535)throw e.Errors.COMMENT_TOO_LONG()},get name(){const e=m.decode(a);return l?e.replace(/[/\\]$/,"").split("/").pop():e.split("/").pop()},get isDirectory(){return l},getCompressedData:function(){return E(!1,null)},getCompressedDataAsync:function(e){E(!0,e)},setData:function(t){u=e.toBuffer(t,e.decoder.encode),!l&&u.length?(s.size=u.length,s.method=e.Constants.DEFLATED,s.crc=e.crc32(t),s.changed=!0):s.method=e.Constants.STORED},getData:function(e){return s.changed?u:y(!1,null,e)},getDataAsync:function(e,t){s.changed?e(u):y(!0,e,t)},set attr(e){s.attr=e},get attr(){return s.attr},set header(e){s.loadFromBinary(e)},get header(){return s},packCentralHeader:function(){s.flags_efs=this.efs,s.extraLength=f.length;var t=s.centralHeaderToBinary(),n=e.Constants.CENHDR;return a.copy(t,n),n+=a.length,f.copy(t,n),n+=s.extraLength,c.copy(t,n),t},packLocalHeader:function(){let e=0;s.flags_efs=this.efs,s.extraLocalLength=p.length;const t=s.localHeaderToBinary(),n=Buffer.alloc(t.length+a.length+s.extraLocalLength);return t.copy(n,e),e+=t.length,a.copy(n,e),e+=a.length,p.copy(n,e),e+=p.length,n},toJSON:function(){const e=function(e){return"<"+(e&&e.length+" bytes buffer"||"null")+">"};return{entryName:this.entryName,name:this.name,comment:this.comment,isDirectory:this.isDirectory,header:s.toJSON(),compressedData:e(o),data:e(u)}},toString:function(){return JSON.stringify(this.toJSON(),null,"\t")}}},Dn}function Un(){if(On)return Nn;On=1;const e=Fn(),t=En(),n=fn();return Nn=function(r,i){var o=[],s=Object.create(null),a=Buffer.alloc(0),c=new t.MainHeader,l=!1;const u=new Set,f=i,{noSort:p,decoder:d}=f;function h(){if(l=!0,s=Object.create(null),c.diskEntries>(r.length-c.offset)/n.Constants.CENHDR)throw n.Errors.DISK_ENTRY_TOO_LARGE();o=new Array(c.diskEntries);for(var t=c.offset,i=0;i<o.length;i++){var a=t,p=new e(f,r);p.header=r.slice(a,a+=n.Constants.CENHDR),p.entryName=r.slice(a,a+=p.header.fileNameLength),p.header.extraLength&&(p.extra=r.slice(a,a+=p.header.extraLength)),p.header.commentLength&&(p.comment=r.slice(a,a+p.header.commentLength)),t+=p.header.centralHeaderSize,o[i]=p,s[p.entryName]=p}u.clear(),function(){const t=new Set;for(const e of Object.keys(s)){const n=e.split("/");if(n.pop(),n.length)for(let e=0;e<n.length;e++){const r=n.slice(0,e+1).join("/")+"/";t.add(r)}}for(const n of t)if(!(n in s)){const t=new e(f);t.entryName=n,t.attr=16,t.temporary=!0,o.push(t),s[t.entryName]=t,u.add(t)}}()}function m(){o.length>1&&!p&&(o=o.map(e=>({entry:e,key:e.entryName.toLowerCase()})).sort((e,t)=>e.key.localeCompare(t.key)).map(e=>e.entry))}return r?function(e){var t=r.length-n.Constants.ENDHDR,i=Math.max(0,t-65535),o=i,s=r.length,l=-1,u=0;"boolean"==typeof f.trailingSpace&&f.trailingSpace&&(i=0);for(;t>=o;t--)if(80===r[t])if(r.readUInt32LE(t)!==n.Constants.ENDSIG)if(r.readUInt32LE(t)!==n.Constants.END64SIG){if(r.readUInt32LE(t)===n.Constants.ZIP64SIG){l=t,s=t+n.readBigUInt64LE(r,t+n.Constants.ZIP64SIZE)+n.Constants.ZIP64LEAD;break}}else o=i;else l=t,u=t,s=t+n.Constants.ENDHDR,o=t-n.Constants.END64HDR;if(-1==l)throw n.Errors.INVALID_FORMAT();c.loadFromBinary(r.slice(l,s)),c.commentLength&&(a=r.slice(u+n.Constants.ENDHDR));e&&h()}(f.readEntries):l=!0,{get entries(){return l||h(),o.filter(e=>!u.has(e))},get comment(){return d.decode(a)},set comment(e){a=n.toBuffer(e,d.encode),c.commentLength=a.length},getEntryCount:function(){return l?o.length:c.diskEntries},forEach:function(e){this.entries.forEach(e)},getEntry:function(e){return l||h(),s[e]||null},setEntry:function(e){l||h(),o.push(e),s[e.entryName]=e,c.totalEntries=o.length},deleteFile:function(e,t=!0){l||h();const n=s[e];this.getEntryChildren(n,t).map(e=>e.entryName).forEach(this.deleteEntry)},deleteEntry:function(e){l||h();const t=s[e],n=o.indexOf(t);n>=0&&(o.splice(n,1),delete s[e],c.totalEntries=o.length)},getEntryChildren:function(e,t=!0){if(l||h(),"object"==typeof e){if(e.isDirectory&&t){const t=[],n=e.entryName;for(const e of o)e.entryName.startsWith(n)&&t.push(e);return t}return[e]}return[]},getChildCount:function(e){if(e&&e.isDirectory){const t=this.getEntryChildren(e);return t.includes(e)?t.length-1:t.length}return 0},compressToBuffer:function(){l||h(),m();const e=[],t=[];let n=0,i=0;c.size=0,c.offset=0;let o=0;for(const r of this.entries){const s=r.getCompressedData();r.header.offset=i;const a=r.packLocalHeader(),l=a.length+s.length;i+=l,e.push(a),e.push(s);const u=r.packCentralHeader();t.push(u),c.size+=u.length,n+=l+u.length,o++}n+=c.mainHeaderSize,c.offset=i,c.totalEntries=o,i=0;const s=Buffer.alloc(n);for(const t of e)t.copy(s,i),i+=t.length;for(const e of t)e.copy(s,i),i+=e.length;const u=c.toBinary();return a&&a.copy(u,u.length-a.length),u.copy(s,i),r=s,l=!1,s},toAsyncBuffer:function(e,t,n,i){try{l||h(),m();const t=[],o=[];let s=0,u=0,f=0;c.size=0,c.offset=0;const p=function(d){if(d.length>0){const e=d.shift(),r=e.entryName+e.extra.toString();n&&n(r),e.getCompressedDataAsync(function(n){i&&i(r),e.header.offset=u;const a=e.packLocalHeader(),l=a.length+n.length;u+=l,t.push(a),t.push(n);const h=e.packCentralHeader();o.push(h),c.size+=h.length,s+=l+h.length,f++,p(d)})}else{s+=c.mainHeaderSize,c.offset=u,c.totalEntries=f,u=0;const n=Buffer.alloc(s);t.forEach(function(e){e.copy(n,u),u+=e.length}),o.forEach(function(e){e.copy(n,u),u+=e.length});const i=c.toBinary();a&&a.copy(i,i.length-a.length),i.copy(n,u),r=n,l=!1,e(n)}};p(Array.from(this.entries))}catch(e){t(e)}}}},Nn}var kn=function(){if($n)return An;$n=1;const e=fn(),t=F,n=Fn(),r=Un(),i=(...t)=>e.findLast(t,e=>"boolean"==typeof e),o=(...t)=>e.findLast(t,e=>"string"==typeof e),s={noSort:!1,readEntries:!1,method:e.Constants.NONE,fs:null};return An=function(a,c){let l=null;const u=Object.assign(Object.create(null),s);a&&"object"==typeof a&&(a instanceof Uint8Array||(Object.assign(u,a),a=u.input?u.input:void 0,u.input&&delete u.input),Buffer.isBuffer(a)&&(l=a,u.method=e.Constants.BUFFER,a=void 0)),Object.assign(u,c);const f=new e(u),p=e=>{e.filter(e=>e.attr).sort((e,t)=>t.path.length-e.path.length).forEach(e=>f.fs.chmodSync(e.path,e.attr))};if("object"==typeof u.decoder&&"function"==typeof u.decoder.encode&&"function"==typeof u.decoder.decode||(u.decoder=e.decoder),a&&"string"==typeof a){if(!f.fs.existsSync(a))throw e.Errors.INVALID_FILENAME();u.method=e.Constants.FILE,u.filename=a,l=f.fs.readFileSync(a)}const d=new r(l,u),{canonical:h,sanitize:m,zipnamefix:g}=e;function v(e){var n;if(e&&d&&("string"==typeof e&&(n=d.getEntry(t.posix.normalize(e))),"object"==typeof e&&void 0!==e.entryName&&void 0!==e.header&&(n=d.getEntry(e.entryName)),n))return n;return null}function y(e){const{join:n,normalize:r,sep:i}=t.posix;return n(t.isAbsolute(e)?"/":".",r(i+e.split("\\").join(i)+i))}function E(e){return e instanceof RegExp?(t=e,function(e){return t.test(e)}):"function"!=typeof e?()=>!0:e;var t}const b=(e,n)=>{let r=n.slice(-1);return r=r===f.sep?f.sep:"",t.relative(e,n)+r};return{readFile:function(e,t){var n=v(e);return n&&n.getData(t)||null},childCount:function(e){const t=v(e);if(t)return d.getChildCount(t)},readFileAsync:function(e,t){var n=v(e);n?n.getDataAsync(t):t(null,"getEntry failed for:"+e)},readAsText:function(e,t){var n=v(e);if(n){var r=n.getData();if(r&&r.length)return r.toString(t||"utf8")}return""},readAsTextAsync:function(e,t,n){var r=v(e);r?r.getDataAsync(function(e,r){r?t(e,r):e&&e.length?t(e.toString(n||"utf8")):t("")}):t("")},deleteFile:function(e,t=!0){var n=v(e);n&&d.deleteFile(n.entryName,t)},deleteEntry:function(e){var t=v(e);t&&d.deleteEntry(t.entryName)},addZipComment:function(e){d.comment=e},getZipComment:function(){return d.comment||""},addZipEntryComment:function(e,t){var n=v(e);n&&(n.comment=t)},getZipEntryComment:function(e){var t=v(e);return t&&t.comment||""},updateFile:function(e,t){var n=v(e);n&&n.setData(t)},addLocalFile:function(n,r,i,o){if(!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{r=r?y(r):"";const e=t.win32.basename(t.win32.normalize(n));r+=i||e;const s=f.fs.statSync(n),a=s.isFile()?f.fs.readFileSync(n):Buffer.alloc(0);s.isDirectory()&&(r+=f.sep),this.addFile(r,a,o,s)}},addLocalFileAsync:function(e,n){e="object"==typeof e?e:{localPath:e};const r=t.resolve(e.localPath),{comment:i}=e;let{zipPath:o,zipName:s}=e;const a=this;f.fs.stat(r,function(e,c){if(e)return n(e,!1);o=o?y(o):"";const l=t.win32.basename(t.win32.normalize(r));if(o+=s||l,c.isFile())f.fs.readFile(r,function(e,t){return e?n(e,!1):(a.addFile(o,t,i,c),setImmediate(n,void 0,!0))});else if(c.isDirectory())return o+=f.sep,a.addFile(o,Buffer.alloc(0),i,c),setImmediate(n,void 0,!0)})},addLocalFolder:function(n,r,i){if(i=E(i),r=r?y(r):"",n=t.normalize(n),!f.fs.existsSync(n))throw e.Errors.FILE_NOT_FOUND(n);{const e=f.findFiles(n),o=this;if(e.length)for(const s of e){const e=t.join(r,b(n,s));i(e)&&o.addLocalFile(s,t.dirname(e))}}},addLocalFolderAsync:function(n,r,i,o){o=E(o),i=i?y(i):"",n=t.normalize(n);var s=this;f.fs.open(n,"r",function(t){if(t&&"ENOENT"===t.code)r(void 0,e.Errors.FILE_NOT_FOUND(n));else if(t)r(void 0,t);else{var a=f.findFiles(n),c=-1,l=function(){if((c+=1)<a.length){var e=a[c],t=b(n,e).split("\\").join("/");t=t.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,""),o(t)?f.fs.stat(e,function(n,o){n&&r(void 0,n),o.isFile()?f.fs.readFile(e,function(e,n){e?r(void 0,e):(s.addFile(i+t,n,"",o),l())}):(s.addFile(i+t+"/",Buffer.alloc(0),"",o),l())}):process.nextTick(()=>{l()})}else r(!0,void 0)};l()}})},addLocalFolderAsync2:function(n,r){const i=this;n="object"==typeof n?n:{localPath:n};const o=t.resolve(y(n.localPath));let{zipPath:s,filter:a,namefix:c}=n;var l;a instanceof RegExp?(l=a,a=function(e){return l.test(e)}):"function"!=typeof a&&(a=function(){return!0}),s=s?y(s):"","latin1"===c&&(c=e=>e.normalize("NFD").replace(/[\u0300-\u036f]/g,"").replace(/[^\x20-\x7E]/g,"")),"function"!=typeof c&&(c=e=>e);const u=e=>t.join(s,c(b(o,e))),p=e=>t.win32.basename(t.win32.normalize(c(e)));f.fs.open(o,"r",function(n){n&&"ENOENT"===n.code?r(void 0,e.Errors.FILE_NOT_FOUND(o)):n?r(void 0,n):f.findFilesAsync(o,function(e,n){if(e)return r(e);(n=n.filter(e=>a(u(e)))).length||r(void 0,!1),setImmediate(n.reverse().reduce(function(e,n){return function(r,o){if(r||!1===o)return setImmediate(e,r,!1);i.addLocalFileAsync({localPath:n,zipPath:t.dirname(u(n)),zipName:p(n)},e)}},r))})})},addLocalFolderPromise:function(e,t){return new Promise((n,r)=>{this.addLocalFolderAsync2(Object.assign({localPath:e},t),(e,t)=>{e&&r(e),t&&n(this)})})},addFile:function(e,t,r,i){let o=v(e=g(e));const s=null!=o;s||(o=new n(u),o.entryName=e),o.comment=r||"";const a="object"==typeof i&&i instanceof f.fs.Stats;a&&(o.header.time=i.mtime);var c=o.isDirectory?16:0;let l=o.isDirectory?16384:32768;return l|=a?4095&i.mode:"number"==typeof i?4095&i:o.isDirectory?493:420,c=(c|l<<16)>>>0,o.attr=c,o.setData(t),s||d.setEntry(o),o},getEntries:function(e){return d.password=e,d?d.entries:[]},getEntry:function(e){return v(e)},getEntryCount:function(){return d.getEntryCount()},forEach:function(e){return d.forEach(e)},extractEntryTo:function(n,r,s,a,c,l){a=i(!1,a),c=i(!1,c),s=i(!0,s),l=o(c,l);var u=v(n);if(!u)throw e.Errors.NO_ENTRY();var p=h(u.entryName),g=m(r,l&&!u.isDirectory?h(l):s?p:t.basename(p));if(u.isDirectory)return d.getEntryChildren(u).forEach(function(t){if(t.isDirectory)return;var n=t.getData();if(!n)throw e.Errors.CANT_EXTRACT_FILE();var i=h(s?t.entryName:t.entryName.substring(u.entryName.length)),o=m(r,i);const l=c?t.header.fileAttr:void 0;f.writeFileTo(o,n,a,l)}),!0;var y=u.getData(d.password);if(!y)throw e.Errors.CANT_EXTRACT_FILE();if(f.fs.existsSync(g)&&!a)throw e.Errors.CANT_OVERRIDE();const E=c?n.header.fileAttr:void 0;return f.writeFileTo(g,y,a,E),!0},test:function(e){if(!d)return!1;for(var t of d.entries)try{if(t.isDirectory)continue;if(!t.getData(e))return!1}catch(e){return!1}return!0},extractAllTo:function(t,n,r,s){if(r=i(!1,r),s=o(r,s),n=i(!1,n),!d)throw e.Errors.NO_ZIP();const a=[];d.entries.forEach(function(i){var o=m(t,h(i.entryName));if(i.isDirectory)return f.makeDir(o),void(r&&a.push({path:o,attr:i.header.fileAttr}));var c=i.getData(s);if(!c)throw e.Errors.CANT_EXTRACT_FILE();const l=r?i.header.fileAttr:void 0;f.writeFileTo(o,c,n,l);try{f.fs.utimesSync(o,i.header.time,i.header.time)}catch(e){}}),p(a)},extractAllToAsync:function(n,r,o,s){if(s=((...t)=>e.findLast(t,e=>"function"==typeof e))(r,o,s),o=i(!1,o),r=i(!1,r),!s)return new Promise((e,t)=>{this.extractAllToAsync(n,r,o,function(n){n?t(n):e(this)})});if(!d)return void s(e.Errors.NO_ZIP());n=t.resolve(n);const a=e=>m(n,t.normalize(h(e.entryName))),c=(e,t)=>new Error(e+': "'+t+'"'),l=[],u=[];d.entries.forEach(e=>{e.isDirectory?l.push(e):u.push(e)});const g=[];for(const e of l){const t=a(e),n=o?e.header.fileAttr:void 0;try{f.makeDir(t)}catch(e){s(c("Unable to create folder",t));continue}n&&g.push({path:t,attr:n});try{f.fs.utimesSync(t,e.header.time,e.header.time)}catch(e){}}u.reverse().reduce(function(i,s){return function(a){if(a)i(a);else{const a=t.normalize(h(s.entryName)),l=m(n,a);s.getDataAsync(function(t,n){if(n)i(n);else if(t){const e=o?s.header.fileAttr:void 0;f.writeFileToAsync(l,t,r,e,function(e){if(!e)return i(c("Unable to write file",l));f.fs.utimes(l,s.header.time,s.header.time,function(){i()})})}else i(e.Errors.CANT_EXTRACT_FILE())})}}},e=>{if(!e)try{p(g)}catch(e){return s(c("Unable to set folder permissions",e.path||""))}s(e)})()},writeZip:function(e,t){if(1===arguments.length&&"function"==typeof e&&(t=e,e=""),!e&&u.filename&&(e=u.filename),e){var n=d.compressToBuffer();if(n){var r=f.writeFileTo(e,n,!0);"function"==typeof t&&t(r?null:new Error("failed"),"")}}},writeZipPromise:function(e,t){const{overwrite:n,perm:r}=Object.assign({overwrite:!0},t);return new Promise((t,i)=>{!e&&u.filename&&(e=u.filename),e||i("ADM-ZIP: ZIP File Name Missing"),this.toBufferPromise().then(o=>{f.writeFileToAsync(e,o,n,r,e=>e?t(e):i("ADM-ZIP: Wasn't able to write zip file"))},i)})},toBufferPromise:function(){return new Promise((e,t)=>{d.toAsyncBuffer(e,t)})},toBuffer:function(e,t,n,r){return"function"==typeof e?(d.toAsyncBuffer(e,t,n,r),null):d.compressToBuffer()}}},An}(),Bn=q(kn);const Mn=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],Gn=["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"],jn=["b","kbit","Mbit","Gbit","Tbit","Pbit","Ebit","Zbit","Ybit"],zn=["b","kibit","Mibit","Gibit","Tibit","Pibit","Eibit","Zibit","Yibit"],Hn=(e,t,n)=>{let r=e;return"string"==typeof t||Array.isArray(t)?r=e.toLocaleString(t,n):!0!==t&&void 0===n||(r=e.toLocaleString(void 0,n)),r},qn=e=>{if("number"==typeof e)return Math.log10(e);const t=e.toString(10);return t.length+Math.log10(`0.${t.slice(0,15)}`)},Vn=(e,t)=>{if(void 0===t)return e;if("number"!=typeof t||!Number.isSafeInteger(t)||t<0)throw new TypeError(`Expected fixedWidth to be a non-negative integer, got ${typeof t}: ${t}`);return 0===t?e:e.length<t?e.padStart(t," "):e};function Wn(e,t){if("bigint"!=typeof e&&!Number.isFinite(e))throw new TypeError(`Expected a finite number, got ${typeof e}: ${e}`);const n=(t={bits:!1,binary:!1,space:!0,nonBreakingSpace:!1,...t}).bits?t.binary?zn:jn:t.binary?Gn:Mn,r=t.space?t.nonBreakingSpace?" ":" ":"",i="number"==typeof e?0===e:0n===e;if(t.signed&&i){return Vn(` 0${r}${n[0]}`,t.fixedWidth)}const o=e<0,s=o?"-":t.signed?"+":"";o&&(e=-e);const a=(e=>{const{minimumFractionDigits:t,maximumFractionDigits:n}=e;if(void 0!==t||void 0!==n)return{...void 0!==t&&{minimumFractionDigits:t},...void 0!==n&&{maximumFractionDigits:n},roundingMode:"trunc"}})(t);let c;if(e<1){c=s+Hn(e,t.locale,a)+r+n[0]}else{const i=Math.min(Math.floor(t.binary?("number"==typeof(l=e)?Math.log(l):qn(l)*Math.log(10))/Math.log(1024):qn(e)/3),n.length-1);if(e=((e,t)=>{if("number"==typeof e)return e/t;const n=e/BigInt(t),r=e%BigInt(t);return Number(n)+Number(r)/t})(e,(t.binary?1024:1e3)**i),!a){const t=Math.max(3,Math.floor(e).toString().length);e=e.toPrecision(t)}c=s+Hn(Number(e),t.locale,a)+r+n[i]}var l;return Vn(c,t.fixedWidth)}const Zn=e=>"string"==typeof e?Zn(b(e).size):r.yellowBright(Wn(e));class Kn{#ne;get ora(){return this.#ne}set attachConsole(e){e?(console.log=this.info.bind(this),console.info=this.info.bind(this)):console=Jn}static Global(e){return Yn=new Kn(e),Yn}static Clone(e){const{prefixText:t}=e||Yn;return new Kn({prefixText:t})}static get Current(){return Yn}static set Current(e){Yn=e}constructor(e){this.#ne=G(e)}get prefixText(){return this.#ne.prefixText}info(...e){this.#ne.info(Xn(e))}succeed(...e){this.#ne.succeed(Xn(e))}start(...e){this.#ne.start(Xn(e))}fail(...e){this.#ne.fail(Xn(e))}warn(...e){this.#ne.warn(Xn(e))}clear(){this.#ne.clear()}stop(){this.#ne.stop()}stopAndPersist(...e){this.#ne.stopAndPersist(...e)}}let Yn=new Kn;const Xn=e=>e.length?e.join(" "):void 0,Jn=console;class Qn{spinner;debugMode;constructor(e,t){this.spinner=new Kn({prefixText:e}),this.debugMode=t?.debug??!1}start(...e){this.spinner.start(...e)}succeed(...e){this.spinner.succeed(...e)}fail(...e){this.spinner.fail(...e)}error(...e){console.log(...e)}warn(...e){this.spinner.warn(...e)}info(...e){this.spinner.info(...e)}log(...e){this.spinner.info(...e)}debug(...e){this.debugMode&&console.debug(...e)}startNativeConsoleCapture(){this.spinner.attachConsole=!0}stopNativeConsoleCapture(){this.spinner.attachConsole=!1}}const er=e=>{const t={spa:{templateEnv:(n=e.template,{portal:{id:"@equinor/fusion-framework-dev-portal"},title:"Fusion Dev Portal",serviceDiscovery:{url:"/@fusion-services",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},msal:{clientId:"9b707e3a-3e90-41ed-a47e-652a1e3b53d0",tenantId:"3aa4a235-b6e2-48d5-9195-7fcf05b459b0",redirectUri:"/authentication/login-callback",requiresAuth:"true"},serviceWorker:{resources:[{url:"/apps-proxy",rewrite:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/apps",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/help-proxy",rewrite:"/@fusion-api/help",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/portal-proxy",rewrite:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]},{url:"/@fusion-api/portal-config",scopes:["5a842df8-3238-415d-b168-9f16a6a6031b/.default"]}]},...n})},api:{serviceDiscoveryUrl:"https://discovery.fusion.equinor.com/service-registry/environments/ci/services/",processServices:(e,t)=>{const{data:n,routes:r}=j(e,t);return{data:n.concat({key:"portals",name:"Portal Service - MOCK",uri:"/@fusion-api/portals"}),routes:r}}}};var n;return e.app&&((e,t,n)=>{const{build:r,appKey:i}=t;if(!r)throw new Error("App manifest does not contain build information");e.api.routes??=[],e.api.routes.push({match:[`/apps/bundles/apps/${i}/${r.version}/*path`,`/apps/bundles/apps/${i}@${r.version}/*path`],middleware:async(e,t,n)=>{const r=e.params?.path;!1===Array.isArray(r)&&n(),t.writeHead(302,{"content-type":"application/javascript",location:`/${r.join("/")}`}),t.end()}}),e.api.routes.push({match:`/apps/persons/me/apps/${i}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify({id:"dev-server-generated-id",...t}))}}),e.api.routes.push({match:`/apps/apps/${i}/builds/${r.version}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.app.manifest,e.app.config),e.portal&&((e,t,n)=>{e.api.routes??=[];const r="portal-config";e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}`,middleware:async(e,n)=>{n.writeHead(200,{"content-type":"application/json"}),n.end(JSON.stringify(t))}}),n&&e.api.routes.push({match:`/${r}/portals/${t.name}{@:tag}/config`,middleware:async(e,t)=>{t.writeHead(200,{"content-type":"application/json"}),t.end(JSON.stringify(n))}})})(t,e.portal.manifest,e.portal.config),t},tr=e=>({portal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.portal:void 0,msal:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.msal:void 0,proxy:"object"==typeof e.spa?.templateEnv?e.spa.templateEnv.serviceWorker?.resources:void 0,serviceDiscoveryUrl:e.api.serviceDiscoveryUrl,routes:e.api.routes}),nr=async(e,t,n)=>{const{overrides:r,log:i}=n??{},o=er(t);i?.debug("\nBase dev server config:",tr(o)),i?.debug("\nCreating dev server with overrides:",r);try{const{path:t,config:n}=await(async(e,t,n)=>S("dev-server.config",{baseDir:e.root,extensions:n?.extensions,script:{resolve:async n=>{let r;if("function"==typeof n.default){const i={...t};r=await n.default(e,{base:i})}else r=n.default;return lt(t,r??{})}}}))(e,o);i?.debug(`\nLoaded dev server config from ${t}`),i?.debug("\nLoaded dev server config:",tr(n));const s=((e,t)=>({name:"fusion:dev-server-config-watcher",configureServer(n){n.watcher.add(e),n.watcher.on("change",r=>{r===e&&(t?.info(`\n${e} changed, restarting dev server...`),n.restart())}),t?.debug(`Watching dev-server.config.ts at: ${e}`)}}))(t,i),a={...r,plugins:[...r?.plugins??[],s]};return z(n,a)}catch(e){return i?.warn("\nFailed to load dev server config:",e instanceof Error?e.message:String(e)),z(o,r)}},rr="fusion-framework-cli",ir={"X-Fusion-CLI-Name":rr,"X-Fusion-CLI-Version":kt,"User-Agent":`${rr}/${kt}`},or={AUTH_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/auth.md",APP_DOCS_URL:"https://github.com/equinor/fusion-framework/blob/main/packages/cli/docs/application.md"};function sr(){if(process.env.FUSION_TOKEN)return[r.bold("💡 FUSION_TOKEN detected"),r.dim(" The CLI is using this token instead of your interactive login session."),r.dim(" If this is unintended, unset the variable and retry, or verify that the token has the correct scope/audience.")].join("\n")}const{AUTH_DOCS_URL:ar,APP_DOCS_URL:cr}=or;function lr(e,t){switch(e){case 401:return function(e){const t=["",r.redBright(`🚫 Authentication failed: unable to ${e}`),""," No valid token was provided or the token has expired.",""],n=sr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} For CI/CD, verify that ${r.bold("FUSION_TOKEN")} is set and the token has not expired.`,` ${r.cyan("2.")} For local development, run ${r.greenBright.bold("ffc auth login")} to refresh your credentials.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),t.join("\n")}(t);case 403:return function(e){const t=["",r.redBright(`🚫 Authorization failed: not permitted to ${e}`),"","⚠️ Your token is valid but does not have the required permissions for this operation.",""],n=sr();return n&&t.push(n,""),t.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Verify that your user or service principal has publish permissions for this application.`,` ${r.cyan("2.")} Check that the token's ${r.bold("scope / audience")} matches the target environment.`,` ${r.cyan("3.")} Confirm that the application is registered and your account has the correct role assignment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ar)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(cr)}`,""),t.join("\n")}(t);default:return}}const{AUTH_DOCS_URL:ur,APP_DOCS_URL:fr}=or;function pr(e,t){if(!(e instanceof Error))return;const n="SilentTokenAcquisitionError"===e.name,i=e,o=i.response?i.response.status:void 0,s=401===o||403===o;let a=!1,c=e.cause;for(let e=0;e<5&&c&&c instanceof Error;e++){if("SilentTokenAcquisitionError"===c.name){a=!0;break}c=c.cause}if(!n&&!s&&!a)return;if(s&&!n&&!a)return lr(o,t);const l=function(e){let t=e;for(let e=0;e<5&&t;e++){if(!(t instanceof Error)){if("object"==typeof t&&"errorMessage"in t){const e=t.errorMessage;if("string"==typeof e){const t=e.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return t?.[1]?.trim()??e.split(" - ")[0]?.trim()}break}break}{const e=t;if("string"==typeof e.errorMessage){const t=e.errorMessage,n=t.match(/Description:\s*(.+?)(?:\s*Trace ID:|$)/);return n?.[1]?.trim()??t.split(" - ")[0]?.trim()}t=t.cause}}}(e),u=["",r.redBright(`🔑 Token acquisition failed: unable to ${t}`),"",r.yellow(`⚠️ ${l??"The CLI could not silently acquire an access token for this operation."}`),""],f=sr();return f&&u.push(f,""),u.push(r.whiteBright(" Troubleshooting:"),"",` ${r.cyan("1.")} Run ${r.greenBright.bold("ffc auth login")} to refresh your local credentials.`,` ${r.cyan("2.")} For CI/CD, set a fresh ${r.bold("FUSION_TOKEN")} — cached refresh tokens may have expired.`,` ${r.cyan("3.")} Verify that ${r.bold("--scope")} targets the correct API audience for your environment.`,"",` ${r.dim("Auth docs:")} ${r.blueBright.underline(ur)}`,` ${r.dim("Publish docs:")} ${r.blueBright.underline(fr)}`,""),u.join("\n")}const dr=(e,t,n)=>{const r=s(String(e));w(r)||L(r,{recursive:!0}),I(e,t,n)},hr=["package.json","LICENSE.md","README.md","CHANGELOG.md"],mr=async(e,t)=>{const{archive:n,log:i}=t??{},o=s(e.path),c=t?.buildDir??"dist",l=a(o,c);if(!(await B(l)).isDirectory())throw new Error(`Build directory ${c} does not exist`);i?.log(r.bold("Starting to pack bundle"));const u=new Bn;if(u.addLocalFolder(l,c),t?.content)for(const[e,n]of Object.entries(t.content))u.addFile(e,Buffer.from(n)),i?.info("📄",qt(e,{relative:!0}));i?.info("📂",qt(l,{relative:!0}));for(const t of hr.concat(e.packageJson.files??[])){const e=a(o,t),n=s(e.replace(o,""));st(e)?(u.addLocalFile(e,n),i?.info("📄",qt(e,{relative:!0}))):i?.warn(r.dim("📄",qt(e,{relative:!0})))}return n&&(st(s(n))||await M(s(n),{recursive:!0}),i?.start("compressing content"),await u.writeZipPromise(n),i?.succeed("📚",qt(n,{relative:!0}),Zn(n))),u},gr=async e=>{const{log:t,manifest:n,snapshot:r}=e;process.env.NODE_ENV,process.cwd();const{pkg:i,manifest:o}=await Kt({log:t,manifest:n,snapshot:r});if(!o.build)throw new Error("Manifest build config not found");return{archive:await mr(i,{log:t,archive:e?.archive,content:{"app-manifest.json":JSON.stringify(o.build,null,2),"metadata.json":JSON.stringify({appKey:o.appKey,name:o.appKey,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o}},vr=async(e,t)=>{const{log:n}=t;try{n?.start("create application configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`app.config.${e.environment}`,"app.config"];return S(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{environment:{}};if("function"==typeof n.default){const t=await n.default(e,{base:r})??r;return Ht.parse(t??r)}return Ht.parse(n.default??r)}}})})(e,{file:t?.config});return n?.succeed("⚙️ generated config from ",qt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof C){if(!t.config)return n?.succeed(r.dim("⚙️ no local application config applied, using built-in")),{environment:{},endpoints:{}};n?.warn(`failed to load config file ${qt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve application config"),n?.debug(e),e}},yr=async e=>{const{log:t}=e??{};let n;try{t?.start("resolve project package"),n=await Wt(null),t?.succeed("📦",r.yellowBright([n.packageJson.name,n.packageJson.version].join("@"))),t?.info("🏠",r.blueBright(n.root))}catch{t?.info("Failed to resolve project package, using current directory as root")}const i=n?.root??process.cwd(),o={command:"build",mode:process.env.NODE_ENV??"production",root:i,...e?.env},s=await vr(o,{log:t,config:e?.config});if(t?.debug("config:",s),e?.output){t?.start("writing config to file");try{await dr(e.output,JSON.stringify(s,null,2)),t?.succeed("config written successfully",qt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:s,pkg:n}};class Er extends Error{response;static Name="HttpResponseError";constructor(e,t,n){super(e,n),this.response=t}}class br extends Er{static Name="HttpJsonResponseError";data;constructor(e,t,n){super(e,t,n),this.name=br.Name,this.data=n?.data}}class wr extends Er{static Name="ServerSentEventResponseError";constructor(e,t,n){super(e,t,n),this.name=wr.Name}}class Lr extends Error{}const Ir=async e=>{const{log:t,config:n,appKey:r,buildVersion:i,framework:o}=e;try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("🌎","Executing request to:",qt(e.uri))}),t?.start("Publishing application config");const s=await e.json(`/apps/${r}/builds/${i}/config`,{method:"PUT",body:n,headers:ir});t?.debug("Response:",s),t?.succeed("Published application config")}catch(e){if(e instanceof br)switch(e.response.status){case 410:t?.fail("🤬",`App ${r} is deleted from apps-service. Please check the app key and try again.`);break;case 404:t?.fail("🤬",`App ${r} not found. Please check the app key and try again.`);break;case 403:case 401:{const n=lr(e.response.status,`publish config for ${r}`);t?.fail("🔒","Authentication/authorization error publishing app config."),n&&t?.error(n),process.exit(1);break}default:t?.fail("🤬","Failed to publish application config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const n=pr(e,`publish config for ${r}`);n&&(t?.fail("🔒",`Token acquisition failed publishing config for ${r}`),t?.error(n),process.exit(1)),t?.fail("🤬","Failed to publish app config:",e instanceof Error?e.message:String(e)),process.exit(1)}},Sr=async e=>{const{log:n}=e??{},r="@equinor/fusion-framework-dev-portal",i=await Wt(n),o={root:i.root,environment:"local",...e?.env,mode:"development",command:"serve"},a=await Vt(o,i,{log:n,manifestPath:e?.manifest}),c=await vr(o,{log:n,config:e?.config});let l,u;const p=d(import.meta.resolve(r));st(p)?(l=p,u=await f({cwd:p}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${r} is external, skipping entry point resolution`);const h=await $t(o,i),m=u?[i.root,u]:[i.root];n?.debug(`File system access allowed for: \n${m.join("\n")}\n`);const g=t(h,{server:{port:e?.port||3e3,host:e?.host||h.server?.host||"localhost",fs:{allow:m}}}),v={template:{portal:{id:r}},app:{manifest:a,config:c}};l&&(v.portal={manifest:{name:r,build:{templateEntry:l,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",g),n?.debug("dev server config:",v),n?.start("Starting app development server...");const y=await nr(o,v,{overrides:g,log:n});await y.listen(),n?.succeed("App development server started successfully");const E=y.config.server.https?"https":"http",b=y.config.server.host||"localhost",w=y.config.server.port||5173;return n?.info(`App development server is running at: ${E}://${b}:${w}/apps/${a.appKey}`),y},Cr=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve application");const c="@equinor/fusion-framework-dev-portal",l=await Wt(n);n?.start("Loading Vite config...");const u=await $t({root:l.root,command:"build",mode:"production"},l);n?.succeed("Vite config loaded");const p=r||(u.build?.outDir||"dist"),h=a(l.root,p),m={root:l.root,environment:"local",mode:"production",command:"serve",isPreview:!0},g=await Vt(m,l,{log:n,manifestPath:e?.manifest}),v=await vr(m,{log:n,config:e?.config});if(n?.debug("Output directory:",h),!w(h))throw new Error(`Build directory does not exist: ${h}\nPlease build the application first using \`ffc app build\``);let y,E;const b=d(import.meta.resolve(c));st(b)?(y=b,E=await f({cwd:b}).then(e=>e?s(e?.path):void 0)):n?.info(`Portal ${c} is external, skipping entry point resolution`);const L=await $t(m,l),I=E?[l.root,E,h]:[l.root,h];n?.debug(`File system access allowed for: \n${I.join("\n")}\n`);const S=t(L,{server:{port:i,host:o||L.server?.host||"localhost",fs:{allow:I}}}),C={template:{portal:{id:c}},app:{manifest:g,config:v}};y&&(C.portal={manifest:{name:c,build:{templateEntry:y,assetPath:"/@fs"}},config:{}}),n?.debug("vite config:",S),n?.debug("dev server config:",C),n?.start("Starting preview server with dev-portal...");try{const e=await nr(m,C,{overrides:S,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),g.appKey&&n?.info(`App URL: ${t}://${r}:${s}/apps/${g.appKey}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}};class _r extends A{satisfies(e){return $(this,e)}}var Dr=function(e,t){return Dr=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Dr(e,t)};function Pr(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}Dr(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var Nr=function(){return Nr=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},Nr.apply(this,arguments)};function Or(e,t,n,r){return new(n||(n=Promise))(function(i,o){function s(e){try{c(r.next(e))}catch(e){o(e)}}function a(e){try{c(r.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(s,a)}c((r=r.apply(e,t||[])).next())})}function Ar(e,t){var n,r,i,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return s.next=a(0),s.throw=a(1),s.return=a(2),"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(a){return function(c){return function(a){if(n)throw new TypeError("Generator is already executing.");for(;s&&(s=0,a[0]&&(o=0)),o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=o.trys,(i=i.length>0&&i[i.length-1])||6!==a[0]&&2!==a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]<i[3])){o.label=a[1];break}if(6===a[0]&&o.label<i[1]){o.label=i[1],i=a;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(a);break}i[2]&&o.ops.pop(),o.trys.pop();continue}a=t.call(e,o)}catch(e){a=[6,e],r=0}finally{n=i=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,c])}}}function $r(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function Rr(e,t){var n="function"==typeof Symbol&&e[Symbol.iterator];if(!n)return e;var r,i,o=n.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(r=o.next()).done;)s.push(r.value)}catch(e){i={error:e}}finally{try{r&&!r.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}return s}function Tr(e,t,n){if(n||2===arguments.length)for(var r,i=0,o=t.length;i<o;i++)!r&&i in t||(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function xr(e){return this instanceof xr?(this.v=e,this):new xr(e)}function Fr(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,i=n.apply(e,t||[]),o=[];return r=Object.create(("function"==typeof AsyncIterator?AsyncIterator:Object).prototype),s("next"),s("throw"),s("return",function(e){return function(t){return Promise.resolve(t).then(e,l)}}),r[Symbol.asyncIterator]=function(){return this},r;function s(e,t){i[e]&&(r[e]=function(t){return new Promise(function(n,r){o.push([e,t,n,r])>1||a(e,t)})},t&&(r[e]=t(r[e])))}function a(e,t){try{(n=i[e](t)).value instanceof xr?Promise.resolve(n.value.v).then(c,l):u(o[0][2],n)}catch(e){u(o[0][3],e)}var n}function c(e){a("next",e)}function l(e){a("throw",e)}function u(e,t){e(t),o.shift(),o.length&&a(o[0][0],o[0][1])}}function Ur(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t,n=e[Symbol.asyncIterator];return n?n.call(e):(e=$r(e),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(n){t[n]=e[n]&&function(t){return new Promise(function(r,i){(function(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)})(r,i,(t=e[n](t)).done,t.value)})}}}function kr(e){return"function"==typeof e}function Br(e){var t=e(function(e){Error.call(e),e.stack=(new Error).stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}"function"==typeof SuppressedError&&SuppressedError;var Mr=Br(function(e){return function(t){e(this),this.message=t?t.length+" errors occurred during unsubscription:\n"+t.map(function(e,t){return t+1+") "+e.toString()}).join("\n "):"",this.name="UnsubscriptionError",this.errors=t}});function Gr(e,t){if(e){var n=e.indexOf(t);0<=n&&e.splice(n,1)}}var jr=function(){function e(e){this.initialTeardown=e,this.closed=!1,this._parentage=null,this._finalizers=null}var t;return e.prototype.unsubscribe=function(){var e,t,n,r,i;if(!this.closed){this.closed=!0;var o=this._parentage;if(o)if(this._parentage=null,Array.isArray(o))try{for(var s=$r(o),a=s.next();!a.done;a=s.next()){a.value.remove(this)}}catch(t){e={error:t}}finally{try{a&&!a.done&&(t=s.return)&&t.call(s)}finally{if(e)throw e.error}}else o.remove(this);var c=this.initialTeardown;if(kr(c))try{c()}catch(e){i=e instanceof Mr?e.errors:[e]}var l=this._finalizers;if(l){this._finalizers=null;try{for(var u=$r(l),f=u.next();!f.done;f=u.next()){var p=f.value;try{qr(p)}catch(e){i=null!=i?i:[],e instanceof Mr?i=Tr(Tr([],Rr(i)),Rr(e.errors)):i.push(e)}}}catch(e){n={error:e}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(n)throw n.error}}}if(i)throw new Mr(i)}},e.prototype.add=function(t){var n;if(t&&t!==this)if(this.closed)qr(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(t)}},e.prototype._hasParent=function(e){var t=this._parentage;return t===e||Array.isArray(t)&&t.includes(e)},e.prototype._addParent=function(e){var t=this._parentage;this._parentage=Array.isArray(t)?(t.push(e),t):t?[t,e]:e},e.prototype._removeParent=function(e){var t=this._parentage;t===e?this._parentage=null:Array.isArray(t)&&Gr(t,e)},e.prototype.remove=function(t){var n=this._finalizers;n&&Gr(n,t),t instanceof e&&t._removeParent(this)},e.EMPTY=((t=new e).closed=!0,t),e}(),zr=jr.EMPTY;function Hr(e){return e instanceof jr||e&&"closed"in e&&kr(e.remove)&&kr(e.add)&&kr(e.unsubscribe)}function qr(e){kr(e)?e():e.unsubscribe()}var Vr={Promise:void 0},Wr=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setTimeout.apply(void 0,Tr([e,t],Rr(n)))};function Zr(e){Wr(function(){throw e})}function Kr(){}function Yr(e){e()}var Xr=function(e){function t(t){var n=e.call(this)||this;return n.isStopped=!1,t?(n.destination=t,Hr(t)&&t.add(n)):n.destination=ti,n}return Pr(t,e),t.create=function(e,t,n){return new Qr(e,t,n)},t.prototype.next=function(e){this.isStopped||this._next(e)},t.prototype.error=function(e){this.isStopped||(this.isStopped=!0,this._error(e))},t.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(e){this.destination.next(e)},t.prototype._error=function(e){try{this.destination.error(e)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(jr),Jr=function(){function e(e){this.partialObserver=e}return e.prototype.next=function(e){var t=this.partialObserver;if(t.next)try{t.next(e)}catch(e){ei(e)}},e.prototype.error=function(e){var t=this.partialObserver;if(t.error)try{t.error(e)}catch(e){ei(e)}else ei(e)},e.prototype.complete=function(){var e=this.partialObserver;if(e.complete)try{e.complete()}catch(e){ei(e)}},e}(),Qr=function(e){function t(t,n,r){var i,o=e.call(this)||this;return i=kr(t)||!t?{next:null!=t?t:void 0,error:null!=n?n:void 0,complete:null!=r?r:void 0}:t,o.destination=new Jr(i),o}return Pr(t,e),t}(Xr);function ei(e){Zr(e)}var ti={closed:!0,next:Kr,error:function(e){throw e},complete:Kr},ni="function"==typeof Symbol&&Symbol.observable||"@@observable";function ri(e){return e}var ii=function(){function e(e){e&&(this._subscribe=e)}return e.prototype.lift=function(t){var n=new e;return n.source=this,n.operator=t,n},e.prototype.subscribe=function(e,t,n){var r,i=this,o=(r=e)&&r instanceof Xr||function(e){return e&&kr(e.next)&&kr(e.error)&&kr(e.complete)}(r)&&Hr(r)?e:new Qr(e,t,n);return Yr(function(){var e=i,t=e.operator,n=e.source;o.add(t?t.call(o,n):n?i._subscribe(o):i._trySubscribe(o))}),o},e.prototype._trySubscribe=function(e){try{return this._subscribe(e)}catch(t){e.error(t)}},e.prototype.forEach=function(e,t){var n=this;return new(t=oi(t))(function(t,r){var i=new Qr({next:function(t){try{e(t)}catch(e){r(e),i.unsubscribe()}},error:r,complete:t});n.subscribe(i)})},e.prototype._subscribe=function(e){var t;return null===(t=this.source)||void 0===t?void 0:t.subscribe(e)},e.prototype[ni]=function(){return this},e.prototype.pipe=function(){for(var e,t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return(0===(e=t).length?ri:1===e.length?e[0]:function(t){return e.reduce(function(e,t){return t(e)},t)})(this)},e.prototype.toPromise=function(e){var t=this;return new(e=oi(e))(function(e,n){var r;t.subscribe(function(e){return r=e},function(e){return n(e)},function(){return e(r)})})},e.create=function(t){return new e(t)},e}();function oi(e){var t;return null!==(t=null!=e?e:Vr.Promise)&&void 0!==t?t:Promise}function si(e){return function(t){if(function(e){return kr(null==e?void 0:e.lift)}(t))return t.lift(function(t){try{return e(t,this)}catch(e){this.error(e)}});throw new TypeError("Unable to lift unknown Observable type")}}function ai(e,t,n,r,i){return new ci(e,t,n,r,i)}var ci=function(e){function t(t,n,r,i,o,s){var a=e.call(this,t)||this;return a.onFinalize=o,a.shouldUnsubscribe=s,a._next=n?function(e){try{n(e)}catch(e){t.error(e)}}:e.prototype._next,a._error=i?function(e){try{i(e)}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._error,a._complete=r?function(){try{r()}catch(e){t.error(e)}finally{this.unsubscribe()}}:e.prototype._complete,a}return Pr(t,e),t.prototype.unsubscribe=function(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}},t}(Xr),li=Br(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}}),ui=function(e){function t(){var t=e.call(this)||this;return t.closed=!1,t.currentObservers=null,t.observers=[],t.isStopped=!1,t.hasError=!1,t.thrownError=null,t}return Pr(t,e),t.prototype.lift=function(e){var t=new fi(this,this);return t.operator=e,t},t.prototype._throwIfClosed=function(){if(this.closed)throw new li},t.prototype.next=function(e){var t=this;Yr(function(){var n,r;if(t._throwIfClosed(),!t.isStopped){t.currentObservers||(t.currentObservers=Array.from(t.observers));try{for(var i=$r(t.currentObservers),o=i.next();!o.done;o=i.next()){o.value.next(e)}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}}})},t.prototype.error=function(e){var t=this;Yr(function(){if(t._throwIfClosed(),!t.isStopped){t.hasError=t.isStopped=!0,t.thrownError=e;for(var n=t.observers;n.length;)n.shift().error(e)}})},t.prototype.complete=function(){var e=this;Yr(function(){if(e._throwIfClosed(),!e.isStopped){e.isStopped=!0;for(var t=e.observers;t.length;)t.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var e;return(null===(e=this.observers)||void 0===e?void 0:e.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(t){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,t)},t.prototype._subscribe=function(e){return this._throwIfClosed(),this._checkFinalizedStatuses(e),this._innerSubscribe(e)},t.prototype._innerSubscribe=function(e){var t=this,n=this,r=n.hasError,i=n.isStopped,o=n.observers;return r||i?zr:(this.currentObservers=null,o.push(e),new jr(function(){t.currentObservers=null,Gr(o,e)}))},t.prototype._checkFinalizedStatuses=function(e){var t=this,n=t.hasError,r=t.thrownError,i=t.isStopped;n?e.error(r):i&&e.complete()},t.prototype.asObservable=function(){var e=new ii;return e.source=this,e},t.create=function(e,t){return new fi(e,t)},t}(ii),fi=function(e){function t(t,n){var r=e.call(this)||this;return r.destination=t,r.source=n,r}return Pr(t,e),t.prototype.next=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.next)||void 0===n||n.call(t,e)},t.prototype.error=function(e){var t,n;null===(n=null===(t=this.destination)||void 0===t?void 0:t.error)||void 0===n||n.call(t,e)},t.prototype.complete=function(){var e,t;null===(t=null===(e=this.destination)||void 0===e?void 0:e.complete)||void 0===t||t.call(e)},t.prototype._subscribe=function(e){var t,n;return null!==(n=null===(t=this.source)||void 0===t?void 0:t.subscribe(e))&&void 0!==n?n:zr},t}(ui),pi=function(e){function t(t){var n=e.call(this)||this;return n._value=t,n}return Pr(t,e),Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(t){var n=e.prototype._subscribe.call(this,t);return!n.closed&&t.next(this._value),n},t.prototype.getValue=function(){var e=this,t=e.hasError,n=e.thrownError,r=e._value;if(t)throw n;return this._throwIfClosed(),r},t.prototype.next=function(t){e.prototype.next.call(this,this._value=t)},t}(ui),di={now:function(){return(di.delegate||Date).now()},delegate:void 0},hi=function(e){function t(t,n,r){void 0===t&&(t=1/0),void 0===n&&(n=1/0),void 0===r&&(r=di);var i=e.call(this)||this;return i._bufferSize=t,i._windowTime=n,i._timestampProvider=r,i._buffer=[],i._infiniteTimeWindow=!0,i._infiniteTimeWindow=n===1/0,i._bufferSize=Math.max(1,t),i._windowTime=Math.max(1,n),i}return Pr(t,e),t.prototype.next=function(t){var n=this,r=n.isStopped,i=n._buffer,o=n._infiniteTimeWindow,s=n._timestampProvider,a=n._windowTime;r||(i.push(t),!o&&i.push(s.now()+a)),this._trimBuffer(),e.prototype.next.call(this,t)},t.prototype._subscribe=function(e){this._throwIfClosed(),this._trimBuffer();for(var t=this._innerSubscribe(e),n=this._infiniteTimeWindow,r=this._buffer.slice(),i=0;i<r.length&&!e.closed;i+=n?1:2)e.next(r[i]);return this._checkFinalizedStatuses(e),t},t.prototype._trimBuffer=function(){var e=this,t=e._bufferSize,n=e._timestampProvider,r=e._buffer,i=e._infiniteTimeWindow,o=(i?1:2)*t;if(t<1/0&&o<r.length&&r.splice(0,r.length-o),!i){for(var s=n.now(),a=0,c=1;c<r.length&&r[c]<=s;c+=2)a=c;a&&r.splice(0,a+1)}},t}(ui),mi=function(e){function t(t,n){return e.call(this)||this}return Pr(t,e),t.prototype.schedule=function(e,t){return this},t}(jr),gi=function(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];return setInterval.apply(void 0,Tr([e,t],Rr(n)))},vi=function(e){return clearInterval(e)},yi=function(e){function t(t,n){var r=e.call(this,t,n)||this;return r.scheduler=t,r.work=n,r.pending=!1,r}return Pr(t,e),t.prototype.schedule=function(e,t){var n;if(void 0===t&&(t=0),this.closed)return this;this.state=e;var r=this.id,i=this.scheduler;return null!=r&&(this.id=this.recycleAsyncId(i,r,t)),this.pending=!0,this.delay=t,this.id=null!==(n=this.id)&&void 0!==n?n:this.requestAsyncId(i,this.id,t),this},t.prototype.requestAsyncId=function(e,t,n){return void 0===n&&(n=0),gi(e.flush.bind(e,this),n)},t.prototype.recycleAsyncId=function(e,t,n){if(void 0===n&&(n=0),null!=n&&this.delay===n&&!1===this.pending)return t;null!=t&&vi(t)},t.prototype.execute=function(e,t){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var n=this._execute(e,t);if(n)return n;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(e,t){var n,r=!1;try{this.work(e)}catch(e){r=!0,n=e||new Error("Scheduled action threw falsy error")}if(r)return this.unsubscribe(),n},t.prototype.unsubscribe=function(){if(!this.closed){var t=this.id,n=this.scheduler,r=n.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Gr(r,this),null!=t&&(this.id=this.recycleAsyncId(n,t,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(mi),Ei=function(){function e(t,n){void 0===n&&(n=e.now),this.schedulerActionCtor=t,this.now=n}return e.prototype.schedule=function(e,t,n){return void 0===t&&(t=0),new this.schedulerActionCtor(this,e).schedule(n,t)},e.now=di.now,e}(),bi=function(e){function t(t,n){void 0===n&&(n=Ei.now);var r=e.call(this,t,n)||this;return r.actions=[],r._active=!1,r}return Pr(t,e),t.prototype.flush=function(e){var t=this.actions;if(this._active)t.push(e);else{var n;this._active=!0;do{if(n=e.execute(e.state,e.delay))break}while(e=t.shift());if(this._active=!1,n){for(;e=t.shift();)e.unsubscribe();throw n}}},t}(Ei),wi=new bi(yi),Li=wi,Ii=new ii(function(e){return e.complete()});function Si(e){return e&&kr(e.schedule)}function Ci(e){return e[e.length-1]}var _i=function(e){return e&&"number"==typeof e.length&&"function"!=typeof e};function Di(e){return kr(null==e?void 0:e.then)}function Pi(e){return kr(e[ni])}function Ni(e){return Symbol.asyncIterator&&kr(null==e?void 0:e[Symbol.asyncIterator])}function Oi(e){return new TypeError("You provided "+(null!==e&&"object"==typeof e?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}var Ai="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function $i(e){return kr(null==e?void 0:e[Ai])}function Ri(e){return Fr(this,arguments,function(){var t,n,r;return Ar(this,function(i){switch(i.label){case 0:t=e.getReader(),i.label=1;case 1:i.trys.push([1,,9,10]),i.label=2;case 2:return[4,xr(t.read())];case 3:return n=i.sent(),r=n.value,n.done?[4,xr(void 0)]:[3,5];case 4:return[2,i.sent()];case 5:return[4,xr(r)];case 6:return[4,i.sent()];case 7:return i.sent(),[3,2];case 8:return[3,10];case 9:return t.releaseLock(),[7];case 10:return[2]}})})}function Ti(e){return kr(null==e?void 0:e.getReader)}function xi(e){if(e instanceof ii)return e;if(null!=e){if(Pi(e))return i=e,new ii(function(e){var t=i[ni]();if(kr(t.subscribe))return t.subscribe(e);throw new TypeError("Provided object does not correctly implement Symbol.observable")});if(_i(e))return r=e,new ii(function(e){for(var t=0;t<r.length&&!e.closed;t++)e.next(r[t]);e.complete()});if(Di(e))return n=e,new ii(function(e){n.then(function(t){e.closed||(e.next(t),e.complete())},function(t){return e.error(t)}).then(null,Zr)});if(Ni(e))return Fi(e);if($i(e))return t=e,new ii(function(e){var n,r;try{for(var i=$r(t),o=i.next();!o.done;o=i.next()){var s=o.value;if(e.next(s),e.closed)return}}catch(e){n={error:e}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(n)throw n.error}}e.complete()});if(Ti(e))return Fi(Ri(e))}var t,n,r,i;throw Oi(e)}function Fi(e){return new ii(function(t){(function(e,t){var n,r,i,o;return Or(this,void 0,void 0,function(){var s,a;return Ar(this,function(c){switch(c.label){case 0:c.trys.push([0,5,6,11]),n=Ur(e),c.label=1;case 1:return[4,n.next()];case 2:if((r=c.sent()).done)return[3,4];if(s=r.value,t.next(s),t.closed)return[2];c.label=3;case 3:return[3,1];case 4:return[3,11];case 5:return a=c.sent(),i={error:a},[3,11];case 6:return c.trys.push([6,,9,10]),r&&!r.done&&(o=n.return)?[4,o.call(n)]:[3,8];case 7:c.sent(),c.label=8;case 8:return[3,10];case 9:if(i)throw i.error;return[7];case 10:return[7];case 11:return t.complete(),[2]}})})})(e,t).catch(function(e){return t.error(e)})})}function Ui(e,t,n,r,i){void 0===r&&(r=0),void 0===i&&(i=!1);var o=t.schedule(function(){n(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function ki(e,t){return void 0===t&&(t=0),si(function(n,r){n.subscribe(ai(r,function(n){return Ui(r,e,function(){return r.next(n)},t)},function(){return Ui(r,e,function(){return r.complete()},t)},function(n){return Ui(r,e,function(){return r.error(n)},t)}))})}function Bi(e,t){return void 0===t&&(t=0),si(function(n,r){r.add(e.schedule(function(){return n.subscribe(r)},t))})}function Mi(e,t){if(!e)throw new Error("Iterable cannot be null");return new ii(function(n){Ui(n,t,function(){var r=e[Symbol.asyncIterator]();Ui(n,t,function(){r.next().then(function(e){e.done?n.complete():n.next(e.value)})},0,!0)})})}function Gi(e,t){if(null!=e){if(Pi(e))return function(e,t){return xi(e).pipe(Bi(t),ki(t))}(e,t);if(_i(e))return function(e,t){return new ii(function(n){var r=0;return t.schedule(function(){r===e.length?n.complete():(n.next(e[r++]),n.closed||this.schedule())})})}(e,t);if(Di(e))return function(e,t){return xi(e).pipe(Bi(t),ki(t))}(e,t);if(Ni(e))return Mi(e,t);if($i(e))return function(e,t){return new ii(function(n){var r;return Ui(n,t,function(){r=e[Ai](),Ui(n,t,function(){var e,t,i;try{t=(e=r.next()).value,i=e.done}catch(e){return void n.error(e)}i?n.complete():n.next(t)},0,!0)}),function(){return kr(null==r?void 0:r.return)&&r.return()}})}(e,t);if(Ti(e))return function(e,t){return Mi(Ri(e),t)}(e,t)}throw Oi(e)}function ji(e,t){return t?Gi(e,t):xi(e)}function zi(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=function(e){return Si(Ci(e))?e.pop():void 0}(e);return ji(e,n)}var Hi=Br(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}});function qi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o,s=!1;e.subscribe({next:function(e){o=e,s=!0},error:i,complete:function(){s?r(o):n?r(t.defaultValue):i(new Hi)}})})}function Vi(e,t){var n="object"==typeof t;return new Promise(function(r,i){var o=new Qr({next:function(e){r(e),o.unsubscribe()},error:i,complete:function(){n?r(t.defaultValue):i(new Hi)}});e.subscribe(o)})}function Wi(e){return e instanceof Date&&!isNaN(e)}var Zi=Br(function(e){return function(t){void 0===t&&(t=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=t}});function Ki(e){throw new Zi(e)}function Yi(e,t){return si(function(n,r){var i=0;n.subscribe(ai(r,function(n){r.next(e.call(t,n,i++))}))})}var Xi=Array.isArray;function Ji(e){return Yi(function(t){return function(e,t){return Xi(t)?e.apply(void 0,Tr([],Rr(t))):e(t)}(e,t)})}function Qi(e,t,n,r,i,o,s,a){var c=[],l=0,u=0,f=!1,p=function(){!f||c.length||l||t.complete()},d=function(e){return l<r?h(e):c.push(e)},h=function(e){o&&t.next(e),l++;var a=!1;xi(n(e,u++)).subscribe(ai(t,function(e){null==i||i(e),o?d(e):t.next(e)},function(){a=!0},void 0,function(){if(a)try{l--;for(var e=function(){var e=c.shift();s||h(e)};c.length&&l<r;)e();p()}catch(e){t.error(e)}}))};return e.subscribe(ai(t,d,function(){f=!0,p()})),function(){null==a||a()}}function eo(e,t,n){return void 0===n&&(n=1/0),kr(t)?eo(function(n,r){return Yi(function(e,i){return t(n,e,r,i)})(xi(e(n,r)))},n):("number"==typeof t&&(n=t),si(function(t,r){return Qi(t,r,e,n)}))}var to=["addListener","removeListener"],no=["addEventListener","removeEventListener"],ro=["on","off"];function io(e,t,n,r){if(kr(n)&&(r=n,n=void 0),r)return io(e,t,n).pipe(Ji(r));var i=Rr(function(e){return kr(e.addEventListener)&&kr(e.removeEventListener)}(e)?no.map(function(r){return function(i){return e[r](t,i,n)}}):function(e){return kr(e.addListener)&&kr(e.removeListener)}(e)?to.map(oo(e,t)):function(e){return kr(e.on)&&kr(e.off)}(e)?ro.map(oo(e,t)):[],2),o=i[0],s=i[1];if(!o&&_i(e))return eo(function(e){return io(e,t,n)})(xi(e));if(!o)throw new TypeError("Invalid event target");return new ii(function(e){var t=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return e.next(1<t.length?t:t[0])};return o(t),function(){return s(t)}})}function oo(e,t){return function(n){return function(r){return e[n](t,r)}}}function so(e,t,n){void 0===e&&(e=0),void 0===n&&(n=Li);var r=-1;return null!=t&&(Si(t)?n=t:r=t),new ii(function(t){var i=Wi(e)?+e-n.now():e;i<0&&(i=0);var o=0;return n.schedule(function(){t.closed||(t.next(o++),0<=r?this.schedule(void 0,r):t.complete())},i)})}function ao(e,t){return si(function(n,r){var i=0;n.subscribe(ai(r,function(n){return e.call(t,n,i++)&&r.next(n)}))})}function co(e){return si(function(t,n){var r,i=null,o=!1;i=t.subscribe(ai(n,void 0,void 0,function(s){r=xi(e(s,co(e)(t))),i?(i.unsubscribe(),i=null,r.subscribe(n)):o=!0})),o&&(i.unsubscribe(),i=null,r.subscribe(n))})}function lo(e,t,n,r,i){return function(o,s){var a=n,c=t,l=0;o.subscribe(ai(s,function(t){var n=l++;c=a?e(c,t,n):(a=!0,t),r&&s.next(c)},i&&function(){a&&s.next(c),s.complete()}))}}function uo(e,t){return si(lo(e,t,arguments.length>=2,!1,!0))}function fo(e){return si(function(t,n){var r=!1;t.subscribe(ai(n,function(e){r=!0,n.next(e)},function(){r||n.next(e),n.complete()}))})}function po(e,t){return void 0===t&&(t=ri),e=null!=e?e:ho,si(function(n,r){var i,o=!0;n.subscribe(ai(r,function(n){var s=t(n);!o&&e(i,s)||(o=!1,i=s,r.next(n))}))})}function ho(e,t){return e===t}function mo(e){return void 0===e&&(e=go),si(function(t,n){var r=!1;t.subscribe(ai(n,function(e){r=!0,n.next(e)},function(){return r?n.complete():n.error(e())}))})}function go(){return new Hi}function vo(e){return si(function(t,n){try{t.subscribe(n)}finally{n.add(e)}})}function yo(e,t){var n=arguments.length>=2;return function(e){return e.pipe(ri,(r=1)<=0?function(){return Ii}:si(function(e,t){var n=[];e.subscribe(ai(t,function(e){n.push(e),r<n.length&&n.shift()},function(){var e,r;try{for(var i=$r(n),o=i.next();!o.done;o=i.next()){var s=o.value;t.next(s)}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}t.complete()},void 0,function(){n=null}))}),n?fo(t):mo(function(){return new Hi}));var r}}function Eo(e,t){for(var n=[],r=2;r<arguments.length;r++)n[r-2]=arguments[r];if(!0!==t){if(!1!==t){var i=new Qr({next:function(){i.unsubscribe(),e()}});return xi(t.apply(void 0,Tr([],Rr(n)))).subscribe(i)}}else e()}function bo(e,t){return si(function(n,r){var i=null,o=0,s=!1,a=function(){return s&&!i&&r.complete()};n.subscribe(ai(r,function(n){null==i||i.unsubscribe();var s=0,c=o++;xi(e(n,c)).subscribe(i=ai(r,function(e){return r.next(t?t(n,e,c,s++):e)},function(){i=null,a()}))},function(){s=!0,a()}))})}function wo(e){return si(function(t,n){xi(e).subscribe(ai(n,function(){return n.complete()},Kr)),!n.closed&&t.subscribe(n)})}function Lo(e,t,n){var r=kr(e)||t||n?{next:e,error:t,complete:n}:e;return r?si(function(e,t){var n;null===(n=r.subscribe)||void 0===n||n.call(r);var i=!0;e.subscribe(ai(t,function(e){var n;null===(n=r.next)||void 0===n||n.call(r,e),t.next(e)},function(){var e;i=!1,null===(e=r.complete)||void 0===e||e.call(r),t.complete()},function(e){var n;i=!1,null===(n=r.error)||void 0===n||n.call(r,e),t.error(e)},function(){var e,t;i&&(null===(e=r.unsubscribe)||void 0===e||e.call(r)),null===(t=r.finalize)||void 0===t||t.call(r)}))}):ri}function Io(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n,r=kr(Ci(n=e))?n.pop():void 0;return si(function(t,n){for(var i=e.length,o=new Array(i),s=e.map(function(){return!1}),a=!1,c=function(t){xi(e[t]).subscribe(ai(n,function(e){o[t]=e,a||s[t]||(s[t]=!0,(a=s.every(ri))&&(s=null))},Kr))},l=0;l<i;l++)c(l);t.subscribe(ai(n,function(e){if(a){var t=Tr([e],Rr(o));n.next(r?r.apply(void 0,Tr([],Rr(t))):t)}}))})}const So=(e,t,n)=>{const r="string"==typeof t?t.split("."):t,i=r.shift();return i&&(e[i]??={},r.length?So(e[i],r,n):Object.assign(e,{[i]:n})),e};class Co{#re={};createConfig(e,t){return ji(this._createConfig(e,t))}async createConfigAsync(e,t){return qi(this.createConfig(e,t))}_set(e,t){const n="function"==typeof t?t:async()=>t;this.#re[e]=n}_get(e){return this.#re[e]}_has(e){return e in this.#re}_createConfig(e,t){return ji(this._buildConfig(e,t)).pipe(bo(t=>this._processConfig(t,e)))}_buildConfig(e,t){return ji(Object.entries(this.#re)).pipe(eo(([t,n])=>ji(n(e)).pipe(ao(e=>void 0!==e),Yi(e=>({target:t,value:e})),co(e=>(console.error(`Failed to execute config callback: ${n.name} for attribute: '${t}'`,e),Ii)))),uo((e,{target:t,value:n})=>So(e,t,n),t??{}))}_processConfig(e,t){return zi(e)}}class _o extends Error{constructor(){super("Module initialization timed out"),this.name="RequiredModuleTimeoutError"}}const Do="ModuleConfigurator",Po={ModuleConfigAdded:`${Do}.module.configAdded`,OnConfiguredAdded:`${Do}.onConfigured.added`,OnInitializedAdded:`${Do}.onInitialized.added`,PluginAdded:`${Do}.plugin.added`,InitializeConfigLoaded:`${Do}.config.loaded`,InitializeInstanceInitialized:`${Do}.instance.initialized`,Initialize:`${Do}.initialize.complete`,ConfiguratorCreated:`${Do}.configurator.created`,ConfiguratorFailed:`${Do}.configurator.failed`,ModulePostConfigured:`${Do}.module.postConfigured`,ModulePostConfigureError:`${Do}.module.postConfigureError`,PostConfigureHooks:`${Do}.postConfigureHooks.started`,PostConfigureHooksComplete:`${Do}.postConfigureHooks.complete`,PostConfigureHooksError:`${Do}.postConfigureHooks.error`,ModuleInitializeError:`${Do}.module.initializeError`,ModuleInitializing:`${Do}.module.initializing`,ProviderNotBaseModuleProvider:`${Do}.provider.invalidBase`,ProviderVersionWarning:`${Do}.provider.versionMissing`,ModuleInitialized:`${Do}.module.initialized`,RequireInstanceModuleNotDefined:`${Do}.requireInstance.moduleNotDefined`,RequireInstanceModuleAlreadyInitialized:`${Do}.requireInstance.moduleAlreadyInitialized`,RequireInstanceAwaitingModule:`${Do}.requireInstance.awaitingModule`,RequireInstanceTimeout:`${Do}.requireInstance.timeout`,RequireInstanceModuleResolved:`${Do}.requireInstance.moduleResolved`,ModuleInitializeComplete:`${Do}.modules.initializeComplete`,InitializeComplete:`${Do}.initialize.instanceComplete`,ConfiguratorPostInitializeStart:`${Do}.postInitialize.started`,ModulePostInitializeStart:`${Do}.modulePostInitialize.started`,ModulePostInitializeComplete:`${Do}.modulePostInitialize.complete`,ModulePostInitializeError:`${Do}.modulePostInitialize.error`,PostInitializeComplete:`${Do}.postInitialize.complete`,PostInitializeCompleteNoHooks:`${Do}.postInitialize.noHooks`,PostInitializeHooks:`${Do}.postInitializeHooks.started`,PostInitializeHooksComplete:`${Do}.postInitializeHooks.complete`,PostInitializeHooksError:`${Do}.postInitializeHooks.error`,PluginsRegister:`${Do}.plugins.registering`,PluginRegistered:`${Do}.plugin.registered`,PluginRegisterError:`${Do}.plugin.registerError`,PluginsRegistered:`${Do}.plugins.registered`,Dispose:`${Do}.dispose.started`,PluginsDisposing:`${Do}.plugins.disposing`,PluginDisposed:`${Do}.plugin.disposed`,PluginDisposeError:`${Do}.plugin.disposeError`,ModulesDispose:`${Do}.modules.disposing`,ModuleDisposed:`${Do}.module.disposed`,ModuleDisposeError:`${Do}.module.disposeError`,ModulesDisposed:`${Do}.modules.disposed`};var No;async function Oo(e,t){const n=await async function(e,t){const{modules:n,afterConfiguration:r,afterInit:i,registerEvent:o}=e;return qi(ji(n).pipe(eo(async e=>{const n=performance.now();try{const r=await(e.configure?.(t)),i=Math.round(performance.now()-n);return o({level:No.Debug,name:Po.ConfiguratorCreated,message:`Configurator created for ${e.name} in ${i}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",configLoadTime:i},metric:i}),{[e.name]:r}}catch(t){throw o({level:No.Error,name:Po.ConfiguratorFailed,message:`Failed to create configurator for ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},metric:Math.round(performance.now()-n),error:t}),t}}),uo((e,t)=>Object.assign(e,t),{onAfterConfiguration(e){r.push(e)},onAfterInit(e){i.push(e)}})))}(e,t);return await Promise.all(e.configs.map(e=>Promise.resolve(e(n,t)))),await async function(e,t){const{modules:n,afterConfiguration:r,registerEvent:i}=e;if(await Promise.allSettled(n.filter(e=>!!e.postConfigure).map(async e=>{try{const n=performance.now();await(e.postConfigure?.(t)),i({level:No.Debug,name:Po.ModulePostConfigured,message:`Module ${e.name} post-configured successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postConfigTime:Math.round(performance.now()-n)}})}catch(t){i({level:No.Warning,name:Po.ModulePostConfigureError,message:`Module ${e.name} post-configure failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),r.length)try{i({level:No.Debug,name:Po.PostConfigureHooks,message:`Post configure hooks [${r.length}] called`});const e=performance.now();await Promise.allSettled(r.map(e=>Promise.resolve(e(t))));const n=Math.round(performance.now()-e);i({level:No.Debug,name:Po.PostConfigureHooksComplete,message:"Post configure hooks complete",properties:{count:r.length,postConfigHooksTime:n},metric:n})}catch(e){i({level:No.Warning,name:Po.PostConfigureHooksError,message:"Post configure hook failed",error:e})}}(e,n),n}!function(e){e[e.Debug=0]="Debug",e[e.Information=1]="Information",e[e.Warning=2]="Warning",e[e.Error=3]="Error",e[e.Critical=4]="Critical"}(No||(No={}));class Ao{static[Symbol.hasInstance](e){if(null!==e&&"object"==typeof e&&"version"in e&&"dispose"in e){const t=e,n=O(String(t.version)),r=t.dispose;return!!n&&"function"==typeof r}return!1}#ie;#oe;get version(){return this.#ie}constructor(e){const{version:t}=e;this.#ie=new _r(t),this.#oe=new jr}_addTeardown(e){return this.#oe.add(e),()=>this.#oe.remove(e)}dispose(){this.#oe.unsubscribe()}}function $o(e,t,n){return function(r,i=60){if(!e.includes(r)){const e=new Error(`Cannot require [${String(r)}] since module is not defined!`);throw e.name="ModuleNotDefinedError",n({level:No.Error,name:Po.RequireInstanceModuleNotDefined,message:e.message,properties:{moduleName:String(r),wait:i},error:e}),e}if(t.value[r])return n({level:No.Debug,name:Po.RequireInstanceModuleAlreadyInitialized,message:`Module [${String(r)}] is already initialized, skipping queue`,properties:{moduleName:String(r),wait:i}}),Promise.resolve(t.value[r]);const o=performance.now();return n({level:No.Debug,name:Po.RequireInstanceAwaitingModule,message:`Awaiting module [${String(r)}] initialization, timeout ${i}s`,properties:{moduleName:String(r),wait:i}}),Vi(t.pipe(ao(e=>!!e[r]),Yi(e=>e[r]),function(e){var t=Wi(e)?{first:e}:"number"==typeof e?{each:e}:e,n=t.first,r=t.each,i=t.with,o=void 0===i?Ki:i,s=t.scheduler,a=void 0===s?wi:s,c=t.meta,l=void 0===c?null:c;if(null==n&&null==r)throw new TypeError("No timeout provided.");return si(function(e,t){var i,s,c=null,u=0,f=function(e){s=Ui(t,a,function(){try{i.unsubscribe(),xi(o({meta:l,lastValue:c,seen:u})).subscribe(t)}catch(e){t.error(e)}},e)};i=e.subscribe(ai(t,function(e){null==s||s.unsubscribe(),u++,t.next(c=e),r>0&&f(r)},void 0,void 0,function(){(null==s?void 0:s.closed)||null==s||s.unsubscribe(),c=null})),!u&&f(null!=n?"number"==typeof n?n:+n-a.now():r)})}({each:1e3*i,with:()=>{return t=kr(e=()=>{const e=new _o;return n({level:No.Error,name:Po.RequireInstanceTimeout,message:`Module [${String(r)}] initialization timed out after ${i}s`,properties:{moduleName:String(r),wait:i},error:e}),e})?e:function(){return e},new ii(function(e){return e.error(t())});var e,t}}),Lo(()=>{const e=Math.round(performance.now()-o);n({level:No.Debug,name:Po.RequireInstanceModuleResolved,message:`Module [${String(r)}] required in ${e}ms`,properties:{moduleName:String(r),wait:i,requireTime:e},metric:e})})))}}async function Ro(e,t,n){const{modules:r,registerEvent:i}=e;if(0===r.length)return Object.seal({});const o=r.map(e=>e.name),s=new pi({}),a=e=>o.includes(e),c=$o(o,s,i),l=ji(r).pipe(eo(e=>async function(e,t){const{config:n,ref:r,requireInstance:i,hasModule:o,registerEvent:s}=t,a=e.name;if(!e.initialize){const t=new Error(`Module ${e.name} does not have initialize method`);throw t.name="ModuleInitializeError",s({level:No.Error,name:Po.ModuleInitializeError,message:t.message,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),t}s({level:No.Debug,name:Po.ModuleInitializing,message:`Initializing module ${e.name}`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const c=performance.now(),l=await e.initialize({ref:r,config:n[a],requireInstance:i,hasModule:o});l instanceof Ao||s({level:No.Warning,name:Po.ProviderNotBaseModuleProvider,message:`Provider for module ${e.name} does not extend BaseModuleProvider`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const u=l;u.version||s({level:No.Warning,name:Po.ProviderVersionWarning,message:`Provider for module ${e.name} does not expose version`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}});const f=Math.round(performance.now()-c);return s({level:No.Debug,name:Po.ModuleInitialized,message:`Module ${e.name} initialized in ${f}ms`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",providerName:typeof l,providerVersion:u.version?.toString()||"unknown",moduleInitTime:f},metric:f}),[a,l]}(e,{config:t,ref:n,requireInstance:c,hasModule:a,registerEvent:i}))),u=performance.now();l.subscribe({next:([e,t])=>{const n=Object.assign(s.value,{[e]:t});s.next(n)},error:e=>{i({level:No.Error,name:Po.ModuleInitializeError,message:`Failed to initialize module ${e.name||"unknown"}`,error:e}),s.error(e)},complete:()=>{const e=Math.round(performance.now()-u);i({level:No.Debug,name:Po.ModuleInitializeComplete,message:`All modules initialized in ${e}ms`,properties:{modules:Object.keys(s.value).join(", "),loadTime:e},metric:e}),s.complete()}});const f=performance.now(),p=await qi(s),d=Math.round(performance.now()-f);return i({level:No.Debug,name:Po.InitializeComplete,message:`Modules instance created in ${d}ms`,properties:{modules:Object.keys(p).join(", "),initTime:d},metric:d}),Object.seal(p),p}function To(e){return"function"==typeof e?e.name||"anonymous":"dispose"}async function xo(e){"function"!=typeof e?await e.dispose():await e()}class Fo{static className="ModulesConfigurator";get version(){return"6.1.1"}#se=new hi(100);get event$(){return this.#se.asObservable()}_configs=[];_afterConfiguration=[];_afterInit=[];_plugins=[];_pluginTeardowns=[];_modules;constructor(e){this._modules=new Set(e)}get modules(){return[...this._modules]}configure(...e){for(const t of e)this.addConfig(t)}addConfig(e){const{module:t,afterConfig:n,afterInit:r,configure:i}=e;this._modules.add(t),this._registerEvent({level:No.Debug,name:Po.ModuleConfigAdded,message:`Module configurator added for ${t.name}`,properties:{moduleName:t.name,moduleVersion:t.version?.toString()||"unknown",configure:!!i,afterConfig:!!n,afterInit:!!r}}),i&&this._configs.push((e,n)=>i(e[t.name],n)),n&&this._afterConfiguration.push(e=>n(e[t.name])),r&&this._afterInit.push(e=>r(e[t.name]))}onConfigured(e){this._afterConfiguration.push(e),this._registerEvent({level:No.Debug,name:Po.OnConfiguredAdded,message:"Added onConfigured callback",properties:{count:this._afterConfiguration.length,name:e.name||"anonymous"}})}onInitialized(e){this._afterInit.push(e),this._registerEvent({level:No.Debug,name:Po.OnInitializedAdded,message:"Added onInitialized callback",properties:{count:this._afterInit.length,name:e.name||"anonymous"}})}registerPlugin(e){this._plugins.push(e),this._registerEvent({level:No.Debug,name:Po.PluginAdded,message:"Added plugin callback",properties:{count:this._plugins.length,name:e.name||"anonymous"}})}async initialize(e){const t=performance.now(),n=await this._configure(e),r=Math.round(performance.now()-t),i=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:No.Debug,name:Po.InitializeConfigLoaded,message:`Modules configured in ${r}ms`,properties:{modules:i,count:this.modules.length,loadTime:r},metric:r});const o=performance.now(),s=await this._initialize(n,e),a=Math.round(performance.now()-o),c=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:No.Debug,name:Po.InitializeInstanceInitialized,message:`Modules initialized in ${a}ms`,properties:{modules:c,count:this.modules.length,loadTime:a},metric:a});const l=r+a,u=this.modules.map(e=>e.name).join(", ");this._registerEvent({level:No.Information,name:Po.Initialize,message:`initialize in ${l}ms`,properties:{modules:u,configLoadTime:r,instanceLoadTime:a,totalLoadTime:l},metric:l}),await this._postInitialize(s,e);const f=Object.seal(Object.assign({},s,{dispose:()=>this.dispose(s)}));return await this._registerPlugins(f,e),f}_registerEvent(e){const t=e.name.split("::");this.#se.next({...e,name:`${this.constructor.className}::${t[t.length-1]}`})}async _configure(e){return Oo({modules:this.modules,configs:this._configs,afterConfiguration:this._afterConfiguration,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e)}async _initialize(e,t){return Ro({modules:this.modules,registerEvent:this._registerEvent.bind(this)},e,t)}async _postInitialize(e,t){return async function(e,t,n){const{modules:r,afterInit:i,registerEvent:o}=e;o({level:No.Debug,name:Po.ConfiguratorPostInitializeStart,message:`Post-initializing all modules [${Object.keys(t).length}]`,properties:{modules:Object.keys(t).join(", ")}});const s=ji(r).pipe(ao(e=>!!e.postInitialize),Lo(e=>{o({level:No.Debug,name:Po.ModulePostInitializeStart,message:`Module ${e.name} is being post-initialized`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}),eo(e=>{const r=performance.now();return ji(e.postInitialize({ref:n,modules:t,instance:t[e.name]})).pipe(Lo(()=>{const t=Math.round(performance.now()-r);o({level:No.Debug,name:Po.ModulePostInitializeComplete,message:`Module ${e.name} has been post-initialized in ${t}ms`,metric:t,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown",postInitTime:t}})}),fo(null),co(t=>(o({level:No.Warning,name:Po.ModulePostInitializeError,message:`Module ${e.name} post-initialize failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t}),Ii)))}),fo(null)),a=performance.now();await qi(s);const c=Math.round(performance.now()-a);if(o({level:No.Debug,name:Po.PostInitializeComplete,message:`Post-initialization of all modules completed in ${c}ms`,properties:{modules:Object.keys(t).join(", "),postInitTime:c},metric:c}),!i.length)return void o({level:No.Debug,name:Po.PostInitializeCompleteNoHooks,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:c}});try{const e=i.map(e=>e.name||"anonymous").join(", ");o({level:No.Debug,name:Po.PostInitializeHooks,message:`Executing post-initialize hooks [${i.length}]`,properties:{hooks:e}});const n=performance.now();await Promise.allSettled(i.map(e=>Promise.resolve(e(t))));const r=Math.round(performance.now()-n);o({level:No.Debug,name:Po.PostInitializeHooksComplete,message:`Post-initialize hooks completed in ${r}ms`,properties:{hooks:e,afterInitTime:r},metric:r})}catch(e){const t=i.map(e=>e.name||"anonymous").join(", ");o({level:No.Warning,name:Po.PostInitializeHooksError,message:"Post-initialize hooks failed",properties:{hooks:t},error:e})}const l=Math.round(performance.now()-a);o({level:No.Debug,name:Po.PostInitializeComplete,message:"Post-initialization complete",properties:{modules:Object.keys(t).join(", "),postInitCompleteTime:l}})}({modules:this.modules,afterInit:this._afterInit,registerEvent:this._registerEvent.bind(this)},e,t)}async _registerPlugins(e,t){return async function(e,t,n){const{plugins:r,teardowns:i,registerEvent:o}=e;if(!r.length)return;o({level:No.Debug,name:Po.PluginsRegister,message:`Registering plugins [${r.length}]`,properties:{count:r.length}});const s=await Promise.all(r.map(async e=>{const r=performance.now(),i=e.name||"anonymous";try{const a=await e({modules:t,ref:n}),c=Math.round(performance.now()-r);return o({level:No.Debug,name:Po.PluginRegistered,message:`Plugin ${i} registered in ${c}ms`,properties:{name:i,pluginTime:c},metric:c}),"function"==typeof(s=a)||"object"==typeof s&&null!==s&&"dispose"in s&&"function"==typeof s.dispose?a:void 0}catch(e){return void o({level:No.Warning,name:Po.PluginRegisterError,message:`Plugin ${i} registration failed`,properties:{name:i},error:e})}var s}));for(const e of s)e&&i.push(e);o({level:No.Debug,name:Po.PluginsRegistered,message:"Plugin registration complete",properties:{count:r.length,teardowns:i.length}})}({plugins:this._plugins,teardowns:this._pluginTeardowns,registerEvent:this._registerEvent.bind(this)},e,t)}async dispose(e,t){return async function(e,t,n){const{modules:r,registerEvent:i,event$:o,pluginTeardowns:s=[]}=e;if(i({level:No.Debug,name:Po.Dispose,message:"Disposing modules instance",properties:{modules:Object.keys(t).join(", ")}}),s.length){i({level:No.Debug,name:Po.PluginsDisposing,message:`Disposing plugins [${s.length}]`,properties:{count:s.length}});for(const e of s.splice(0).reverse()){const t=To(e);try{await xo(e),i({level:No.Debug,name:Po.PluginDisposed,message:`Plugin ${t} disposed successfully`,properties:{name:t}})}catch(e){i({level:No.Warning,name:Po.PluginDisposeError,message:`Plugin ${t} dispose failed`,properties:{name:t},error:e})}}}i({level:No.Debug,name:Po.ModulesDispose,message:"Disposing modules",properties:{count:r.length}}),await Promise.allSettled(r.filter(e=>!!e.dispose).map(async e=>{if(e.dispose)try{await e.dispose({ref:n,modules:t,instance:t[e.name]}),i({level:No.Debug,name:Po.ModuleDisposed,message:`Module ${e.name} disposed successfully`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"}})}catch(t){i({level:No.Warning,name:Po.ModuleDisposeError,message:`Module ${e.name} dispose failed`,properties:{moduleName:e.name,moduleVersion:e.version?.toString()||"unknown"},error:t})}})),i({level:No.Debug,name:Po.ModulesDisposed,message:"Module dispose complete",properties:{count:r.length}}),o.complete()}({modules:this.modules,registerEvent:this._registerEvent.bind(this),event$:this.#se,pluginTeardowns:this._pluginTeardowns},e,t)}}class Uo{_operators;get operators(){return this._operators}constructor(e){this._operators=e&&"operators"in e?{...e.operators}:e??{}}add(e,t){if(Object.keys(this._operators).includes(e))throw Error(`Operator [${e}] already defined`);return this.set(e,t)}set(e,t){return this._operators[e]=t,this}remove(e){return delete this._operators[e],this}get(e){return this._operators[e]}process(e){return Object.values(this._operators).length?ji(Object.values(this._operators)).pipe((t=(e,t)=>Promise.resolve(t(e)).then(t=>t??e),n=e,r=1,si(function(e,i){var o=n;return Qi(e,i,function(e,n){return t(o,e,n)},r,function(e){o=e},!1,void 0,function(){return o=null})})),yo()):zi(e);var t,n,r}}class ko extends Uo{setHeader(e,t){const n=((e,t)=>n=>{const r=new Headers(n.headers);return r.append(e,t),{...n,headers:r}})(e,t);return this.set(`header-${e}`,n)}}class Bo extends Uo{}const Mo=T.object({attributionReporting:T.object({eventSourceEligible:T.boolean().optional(),triggerEligible:T.boolean().optional()}).optional(),body:T.union([T.string(),T.instanceof(Blob),T.instanceof(ArrayBuffer),T.instanceof(FormData),T.instanceof(URLSearchParams),T.instanceof(ReadableStream)]).optional(),browsingTopics:T.boolean().optional(),cache:T.enum(["default","no-store","reload","no-cache","force-cache","only-if-cached"]).optional(),credentials:T.enum(["omit","same-origin","include"]).optional(),headers:T.record(T.string(),T.string()).optional().or(T.instanceof(Headers)),integrity:T.string().optional(),keepalive:T.boolean().optional(),method:T.enum(["GET","POST","PUT","DELETE","PATCH","OPTIONS","HEAD","CONNECT","TRACE"],{message:"Invalid request method. Expected one of: GET, POST, PUT, DELETE, PATCH, OPTIONS, HEAD, CONNECT, TRACE. See RFC 2615 Section 9 for more information: https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html"}).optional().optional(),mode:T.enum(["same-origin","cors","no-cors","navigate","websocket"]).optional(),priority:T.enum(["low","high","auto"]).optional(),redirect:T.enum(["follow","error","manual"]).optional(),referrer:T.string().optional(),referrerPolicy:T.enum(["no-referrer","no-referrer-when-downgrade","origin","origin-when-cross-origin","same-origin","strict-origin","strict-origin-when-cross-origin","unsafe-url"]).optional(),signal:T.instanceof(AbortSignal).optional()}).extend({uri:T.string(),path:T.string().optional()}),Go=e=>e=>{const{error:t,success:n,data:r}=T.string().optional().refine(e=>void 0===e||e===e?.toUpperCase(),{message:["Provided HTTP method must be in uppercase.","See RFC 7231 Section 4.1 for more information","https://www.rfc-editor.org/rfc/rfc7231#section-4.1"].join(" ")}).safeParse(e.method);if(e.method=n?r:e.method?.toUpperCase(),t)for(const e of t.issues)console.warn(e.message);return e},jo=e=>e=>{const{strict:t,parse:n}={},r=t?Mo:Mo.passthrough();try{const t=r.parse(e);return n?t:void 0}catch(e){if(n)throw e;console.error("Invalid request options",e.message)}},zo=e=>{try{return JSON.parse(e)}catch{return e}};function*Ho(e,t){const n=e.split("\n\n"),r=t?.dataParser||zo;for(const e of n){if(!e.trim())continue;const t=e.split("\n").reduce((e,t)=>{if(!t)return e;const n=t.indexOf(":");if(-1===n)return e;const i=t.slice(0,n).trim(),o=t.slice(n+1).trim();return"data"===i?e.data=r(o):e[i]=o,e},{});Object.keys(t).length&&(yield t)}}const qo=e=>t=>{if(!t.ok)throw new wr(`HTTP error! Status: ${t.status}`,t);if(!t.body)throw new wr("Response body is not readable",t);if(!t.headers.get("Content-Type")?.includes("text/event-stream"))throw new wr("Response is not a text/event-stream",t);const n=t.body.getReader();return ji(async function*(e,t){const n=!!t?.skipHeartbeats,r=t?.eventFilter?Array.isArray(t.eventFilter)?t.eventFilter:[t.eventFilter]:null,i=new TextDecoder;for(;;){const{done:o,value:s}=await e.read();if(o)break;const a=Ho(i.decode(s,{stream:!0}),{dataParser:t?.dataParser});for(const e of a)if(e.retry)await new Promise(t=>setTimeout(t,Number.parseInt(e.retry??"300",10)));else{if(n){if(!e.event&&!e.data&&!e.id)continue;if(e.event&&["heartbeat","ping"].includes(e.event))continue}(!r||e.event&&r.includes(e.event))&&(yield e)}}}(n,{dataParser:e?.dataParser,skipHeartbeats:e?.skipHeartbeats,eventFilter:e?.eventFilter})).pipe(wo(e?.abortSignal?io(e.abortSignal,"abort"):Ii),vo(async()=>{await n.cancel().catch(()=>{}),n.releaseLock()}))};class Vo{_clients={};get clients(){return{...this._clients}}defaultHttpClientCtor;defaultHttpRequestHandler=new ko({"capitalize-method":Go(),"request-validation":jo()});constructor(e){this.defaultHttpClientCtor=e}hasClient(e){return Object.keys(this._clients).includes(e)}configureClient(e,t){const n="string"==typeof t?{baseUri:t}:t,r="function"==typeof n?{onCreate:n}:n;return this._clients[e]={...this._clients[e],...r},this}}const Wo=["http:","https:","ws:","wss:"];class Zo extends Ao{config;get defaultHttpRequestHandler(){return this.config.defaultHttpRequestHandler}constructor(e){super({version:"8.0.4",config:e}),this.config=e}hasClient(e){return Object.keys(this.config.clients).includes(e)}createClient(e){const t=this._resolveConfig(e),{baseUri:n,defaultScopes:r=[],onCreate:i,ctor:o=this.config.defaultHttpClientCtor,requestHandler:s=this.defaultHttpRequestHandler,responseHandler:a}=t,c=new o(n||"",{requestHandler:s,responseHandler:a});return Object.assign(c,{defaultScopes:r}),i?.(c),c}createCustomClient(e){return this.createClient(e)}_resolveConfig(e){if("string"==typeof e){const n=this.config.clients[e];if(!n&&(e=>{try{const t=new URL(e);return Wo.includes(t.protocol)}catch{return!1}})(e))return{baseUri:e};if(!n&&!(t=e).includes(" ")&&/^[a-z\d]([a-z\d-]*\.)+[a-z]{2,}/i.test(t))return console.warn(`[HttpClientProvider] "${e}" looks like a URL but is missing the http:// or https:// protocol. Treating it as "https://${e}". Pass a fully-qualified URL to silence this warning.`),{baseUri:`https://${e}`};if(!n)throw new Lr(`No registered http client for key [${e}]`);return n}var t;return e}}function Ko(e,t){void 0===t&&(t={});var n=t.selector,r=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var i=0;for(r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]])}return n}(t,["selector"]);return new ii(function(t){var i=new AbortController,o=i.signal,s=!0,a=r.signal;if(a)if(a.aborted)i.abort();else{var c=function(){o.aborted||i.abort()};a.addEventListener("abort",c),t.add(function(){return a.removeEventListener("abort",c)})}var l=Nr(Nr({},r),{signal:o}),u=function(e){s=!1,t.error(e)};return fetch(e,l).then(function(e){n?xi(n(e)).subscribe(ai(t,void 0,function(){s=!1,t.complete()},u)):(s=!1,t.next(e),t.complete())}).catch(u),function(){s&&i.abort()}})}const Yo=async e=>{if(204===e.status)return Promise.resolve();try{const t=await e.json();if(!e.ok)throw new br("network response was not OK",e,{data:t});return t}catch(t){if(t instanceof br)throw t;throw new br("failed to parse response",e,{cause:t})}},Xo=async e=>{if(!e.ok)throw new Error("network response was not OK");if(204===e.status)throw new Error("no content");const t=e.headers.get("content-disposition")?.split(";").find(e=>e.includes("filename="))?.replace("filename=","")?.trim();try{return{filename:t,blob:await e.blob()}}catch(e){throw Error("failed to parse response")}};class Jo{uri;requestHandler;responseHandler;_request$=new ui;_response$=new ui;_abort$=new ui;get request$(){return this._request$.asObservable()}get response$(){return this._response$.asObservable()}constructor(e,t){this.uri=e,this.requestHandler=new ko(t?.requestHandler),this.responseHandler=new Bo(t?.responseHandler),this._init()}_init(){}fetch$(e,t){return this._fetch$(e,t)}fetch(e,t){return Vi(this.fetch$(e,t))}fetchAsync(e,t){return this.fetch(e,t)}json$(e,t){const n="object"==typeof t?.body?JSON.stringify(t?.body):t?.body,r=t?.selector??Yo,i=new Headers(t?.headers);return i.append("Accept","application/json"),i.append("Content-Type","application/json"),this.fetch$(e,{...t,body:n,selector:r,headers:i})}json(e,t){return Vi(this.json$(e,t))}blob$(e,t){const n=t?.selector??Xo,r={...t,selector:n};return this.fetch$(e,r)}blob(e,t){return Vi(this.blob$(e,t))}sse$(e,t,n){const r=new Headers(t?.headers);r.append("Accept","text/event-stream"),r.append("Content-Type","text/event-stream"),r.append("Cache-Control","no-cache"),r.append("Connection","keep-alive");const i=qo({...n,abortSignal:t?.signal});return this._fetch$(e,{selector:i,...t,headers:r})}jsonAsync(e,t){return this.json(e,t)}execute(e,t,n){return this[e](t,n)}abort(){this._abort$.next()}_fetch$(e,t){const{selector:n,...r}=t||{};return zi({...r,path:e,uri:this._resolveUrl(e)}).pipe(bo(e=>this._prepareRequest(e)),Lo(e=>this._request$.next(e)),bo(({uri:e,path:t,...n})=>Ko(e,n)),bo(e=>this._prepareResponse(e)),Lo(e=>this._response$.next(e)),bo(e=>{if(n)try{return n(e)}catch(t){throw new Er("failed to execute response selector",e,{cause:t})}return zi(e)}),wo(this._abort$))}_prepareRequest(e){return this.requestHandler.process(e)}_prepareResponse(e){return this.responseHandler.process(e)}_resolveUrl(e){const{origin:t,pathname:n}=new URL(this.uri,this.uri.startsWith("http")?void 0:window.location.origin),r=[n,e].join("/").replace(/\/{2,}/g,"/");return new URL(r,t).href}}class Qo extends Jo{defaultScopes=[];fetch$(e,t){const n={...t,scopes:this.defaultScopes.concat(t?.scopes||[])};return super._fetch$(e,n)}}const es={name:"http",configure:()=>new Vo(Qo),initialize:async({config:e,hasModule:t,requireInstance:n})=>{const r=new Zo(e);if(t("auth")){const e=await n("auth");r.defaultHttpRequestHandler.set("MSAL",async t=>{const{scopes:n=[]}=t;if(n.length){const r=await e.acquireAccessToken({request:{scopes:n}});if(r){const e=new Headers(t.headers);return e.set("Authorization",`Bearer ${r}`),{...t,headers:e}}}})}return r}},ts=(...e)=>t=>t.pipe(function(e,t){return kr(t)?eo(e,t,1):eo(e,1)}(...e)),ns=(...e)=>t=>t.pipe(eo(...e)),rs=(...e)=>t=>t.pipe(bo(...e)),is=e=>e.pipe(Yi(e=>e.value));var os=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-8][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/i;function ss(e){if(!function(e){return"string"==typeof e&&os.test(e)}(e))throw TypeError("Invalid UUID");let t;return Uint8Array.of((t=parseInt(e.slice(0,8),16))>>>24,t>>>16&255,t>>>8&255,255&t,(t=parseInt(e.slice(9,13),16))>>>8,255&t,(t=parseInt(e.slice(14,18),16))>>>8,255&t,(t=parseInt(e.slice(19,23),16))>>>8,255&t,(t=parseInt(e.slice(24,36),16))/1099511627776&255,t/4294967296&255,t>>>24&255,t>>>16&255,t>>>8&255,255&t)}const as=[];for(let e=0;e<256;++e)as.push((e+256).toString(16).slice(1));function cs(e,t=0){return(as[e[t+0]]+as[e[t+1]]+as[e[t+2]]+as[e[t+3]]+"-"+as[e[t+4]]+as[e[t+5]]+"-"+as[e[t+6]]+as[e[t+7]]+"-"+as[e[t+8]]+as[e[t+9]]+"-"+as[e[t+10]]+as[e[t+11]]+as[e[t+12]]+as[e[t+13]]+as[e[t+14]]+as[e[t+15]]).toLowerCase()}const ls=new Uint8Array(16);function us(e,t,n,r,i,o){const s="string"==typeof n?function(e){e=unescape(encodeURIComponent(e));const t=new Uint8Array(e.length);for(let n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}(n):n,a="string"==typeof r?ss(r):r;if("string"==typeof r&&(r=ss(r)),16!==r?.length)throw TypeError("Namespace must be array-like (16 iterable integer values, 0-255)");let c=new Uint8Array(16+s.length);if(c.set(a),c.set(s,a.length),c=t(c),c[6]=15&c[6]|e,c[8]=63&c[8]|128,i){if(o??=0,o<0||o+16>i.length)throw new RangeError(`UUID byte range ${o}:${o+15} is out of buffer bounds`);for(let e=0;e<16;++e)i[o+e]=c[e];return i}return cs(c)}function fs(e,t,n){return crypto.randomUUID?crypto.randomUUID():function(e){e=e||{};const t=e.random??e.rng?.()??crypto.getRandomValues(ls);if(t.length<16)throw new Error("Random bytes length must be >= 16");return t[6]=15&t[6]|64,t[8]=63&t[8]|128,cs(t)}(e)}function ps(e,t,n,r){switch(e){case 0:return t&n^~t&r;case 1:case 3:return t^n^r;case 2:return t&n^t&r^n&r}}function ds(e,t){return e<<t|e>>>32-t}function hs(e){const t=[1518500249,1859775393,2400959708,3395469782],n=[1732584193,4023233417,2562383102,271733878,3285377520],r=new Uint8Array(e.length+1);r.set(e),r[e.length]=128;const i=(e=r).length/4+2,o=Math.ceil(i/16),s=new Array(o);for(let t=0;t<o;++t){const n=new Uint32Array(16);for(let r=0;r<16;++r)n[r]=e[64*t+4*r]<<24|e[64*t+4*r+1]<<16|e[64*t+4*r+2]<<8|e[64*t+4*r+3];s[t]=n}s[o-1][14]=8*(e.length-1)/2**32,s[o-1][14]=Math.floor(s[o-1][14]),s[o-1][15]=8*(e.length-1)&4294967295;for(let e=0;e<o;++e){const r=new Uint32Array(80);for(let t=0;t<16;++t)r[t]=s[e][t];for(let e=16;e<80;++e)r[e]=ds(r[e-3]^r[e-8]^r[e-14]^r[e-16],1);let i=n[0],o=n[1],a=n[2],c=n[3],l=n[4];for(let e=0;e<80;++e){const n=Math.floor(e/20),s=ds(i,5)+ps(n,o,a,c)+l+t[n]+r[e]>>>0;l=c,c=a,a=ds(o,30)>>>0,o=i,i=s}n[0]=n[0]+i>>>0,n[1]=n[1]+o>>>0,n[2]=n[2]+a>>>0,n[3]=n[3]+c>>>0,n[4]=n[4]+l>>>0}return Uint8Array.of(n[0]>>24,n[0]>>16,n[0]>>8,n[0],n[1]>>24,n[1]>>16,n[1]>>8,n[1],n[2]>>24,n[2]>>16,n[2]>>8,n[2],n[3]>>24,n[3]>>16,n[3]>>8,n[3],n[4]>>24,n[4]>>16,n[4]>>8,n[4])}function ms(e,t,n,r){return us(80,hs,e,t,n,r)}ms.DNS="6ba7b810-9dad-11d1-80b4-00c04fd430c8",ms.URL="6ba7b811-9dad-11d1-80b4-00c04fd430c8";class gs extends Error{type;request;constructor(e,t){super(t.message,{cause:t.cause}),this.type=e,this.name="QueryClientError",this.request=t.request}}var vs=Symbol.for("immer-nothing"),ys=Symbol.for("immer-draftable"),Es=Symbol.for("immer-state"),bs="production"!==process.env.NODE_ENV?[function(e){return`The plugin for '${e}' has not been loaded into Immer. To enable the plugin, import and call \`enable${e}()\` when initializing your application.`},function(e){return`produce can only be called on things that are draftable: plain objects, arrays, Map, Set or classes that are marked with '[immerable]: true'. Got '${e}'`},"This object has been frozen and should not be mutated",function(e){return"Cannot use a proxy that has been revoked. Did you pass an object from inside an immer function to an async process? "+e},"An immer producer returned a new value *and* modified its draft. Either return a new value *or* modify the draft.","Immer forbids circular references","The first or second argument to `produce` must be a function","The third argument to `produce` must be a function or undefined","First argument to `createDraft` must be a plain object, an array, or an immerable object","First argument to `finishDraft` must be a draft returned by `createDraft`",function(e){return`'current' expects a draft, got: ${e}`},"Object.defineProperty() cannot be used on an Immer draft","Object.setPrototypeOf() cannot be used on an Immer draft","Immer only supports deleting array indices","Immer only supports setting array indices and the 'length' property",function(e){return`'original' expects a draft, got: ${e}`}]:[];function ws(e,...t){if("production"!==process.env.NODE_ENV){const n=bs[e],r=Hs(n)?n.apply(null,t):n;throw new Error(`[Immer] ${r}`)}throw new Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var Ls=Object,Is=Ls.getPrototypeOf,Ss="constructor",Cs="prototype",_s="configurable",Ds="enumerable",Ps="writable",Ns="value",Os=e=>!!e&&!!e[Es];function As(e){return!!e&&(Ts(e)||Ms(e)||!!e[ys]||!!e[Ss]?.[ys]||Gs(e)||js(e))}var $s=Ls[Cs][Ss].toString(),Rs=new WeakMap;function Ts(e){if(!e||!zs(e))return!1;const t=Is(e);if(null===t||t===Ls[Cs])return!0;const n=Ls.hasOwnProperty.call(t,Ss)&&t[Ss];if(n===Object)return!0;if(!Hs(n))return!1;let r=Rs.get(n);return void 0===r&&(r=Function.toString.call(n),Rs.set(n,r)),r===$s}function xs(e,t,n=!0){if(0===Fs(e)){(n?Reflect.ownKeys(e):Ls.keys(e)).forEach(n=>{t(n,e[n],e)})}else e.forEach((n,r)=>t(r,n,e))}function Fs(e){const t=e[Es];return t?t.type_:Ms(e)?1:Gs(e)?2:js(e)?3:0}var Us=(e,t,n=Fs(e))=>2===n?e.has(t):Ls[Cs].hasOwnProperty.call(e,t),ks=(e,t,n=Fs(e))=>2===n?e.get(t):e[t],Bs=(e,t,n,r=Fs(e))=>{2===r?e.set(t,n):3===r?e.add(n):e[t]=n};var Ms=Array.isArray,Gs=e=>e instanceof Map,js=e=>e instanceof Set,zs=e=>"object"==typeof e,Hs=e=>"function"==typeof e,qs=e=>"boolean"==typeof e;var Vs=e=>e.copy_||e.base_,Ws=e=>e.modified_?e.copy_:e.base_;function Zs(e,t){if(Gs(e))return new Map(e);if(js(e))return new Set(e);if(Ms(e))return Array[Cs].slice.call(e);const n=Ts(e);if(!0===t||"class_only"===t&&!n){const t=Ls.getOwnPropertyDescriptors(e);delete t[Es];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){const i=n[r],o=t[i];!1===o[Ps]&&(o[Ps]=!0,o[_s]=!0),(o.get||o.set)&&(t[i]={[_s]:!0,[Ps]:!0,[Ds]:o[Ds],[Ns]:e[i]})}return Ls.create(Is(e),t)}{const t=Is(e);if(null!==t&&n)return{...e};const r=Ls.create(t);return Ls.assign(r,e)}}function Ks(e,t=!1){return Xs(e)||Os(e)||!As(e)||(Fs(e)>1&&Ls.defineProperties(e,{set:Ys,add:Ys,clear:Ys,delete:Ys}),Ls.freeze(e),t&&xs(e,(e,t)=>{Ks(t,!0)},!1)),e}var Ys={[Ns]:function(){ws(2)}};function Xs(e){return null===e||!zs(e)||Ls.isFrozen(e)}var Js="MapSet",Qs="Patches",ea="ArrayMethods",ta={};function na(e){const t=ta[e];return t||ws(0,e),t}var ra,ia=e=>!!ta[e],oa=()=>ra;function sa(e,t){t&&(e.patchPlugin_=na(Qs),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function aa(e){ca(e),e.drafts_.forEach(ua),e.drafts_=null}function ca(e){e===ra&&(ra=e.parent_)}var la=e=>ra={drafts_:[],parent_:ra,immer_:e,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:ia(Js)?na(Js):void 0,arrayMethodsPlugin_:ia(ea)?na(ea):void 0};function ua(e){const t=e[Es];0===t.type_||1===t.type_?t.revoke_():t.revoked_=!0}function fa(e,t){t.unfinalizedDrafts_=t.drafts_.length;const n=t.drafts_[0];if(void 0!==e&&e!==n){n[Es].modified_&&(aa(t),ws(4)),As(e)&&(e=pa(t,e));const{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[Es].base_,e,t)}else e=pa(t,n);return function(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ks(t,n)}(t,e,!0),aa(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e!==vs?e:void 0}function pa(e,t){if(Xs(t))return t;const n=t[Es];if(!n){return ya(t,e.handledSet_,e)}if(!ha(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){const{callbacks_:t}=n;if(t)for(;t.length>0;){t.pop()(e)}va(n,e)}return n.copy_}function da(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var ha=(e,t)=>e.scope_===t,ma=[];function ga(e,t,n,r){const i=Vs(e),o=e.type_;if(void 0!==r){if(ks(i,r,o)===t)return void Bs(i,r,n,o)}if(!e.draftLocations_){const t=e.draftLocations_=new Map;xs(i,(e,n)=>{if(Os(n)){const r=t.get(n)||[];r.push(e),t.set(n,r)}})}const s=e.draftLocations_.get(t)??ma;for(const e of s)Bs(i,e,n,o)}function va(e,t){if(e.modified_&&!e.finalized_&&(3===e.type_||1===e.type_&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){const{patchPlugin_:n}=t;if(n){const r=n.getPath(e);r&&n.generatePatches_(e,r,t)}da(e)}}function ya(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||Os(e)||t.has(e)||!As(e)||Xs(e)||(t.add(e),xs(e,(r,i)=>{if(Os(i)){const t=i[Es];if(ha(t,n)){const n=Ws(t);Bs(e,r,n,e.type_),da(t)}}else As(i)&&ya(i,t,n)})),e}var Ea={get(e,t){if(t===Es)return e;let n=e.scope_.arrayMethodsPlugin_;const r=1===e.type_&&"string"==typeof t;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);const i=Vs(e);if(!Us(i,t,e.type_))return function(e,t,n){const r=La(t,n);return r?Ns in r?r[Ns]:r.get?.call(e.draft_):void 0}(e,i,t);const o=i[t];if(e.finalized_||!As(o))return o;if(r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&function(e){const t=+e;return Number.isInteger(t)&&String(t)===e}(t))return o;if(o===wa(e.base_,t)||function(e,t,n){if(1!==e.type_||!e.allIndicesReassigned_||e.assigned_?.get(t)||!As(n)||n[Es])return!1;return e.baseRefs_.has(n)}(e,t,o)){Sa(e);const n=1===e.type_?+t:t,r=Ca(e.scope_,o,e,n);return e.copy_[n]=r}return o},has:(e,t)=>t in Vs(e),ownKeys:e=>Reflect.ownKeys(Vs(e)),set(e,t,n){const r=La(Vs(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){const r=wa(Vs(e),t),s=r?.[Es];if(s&&s.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(((i=n)===(o=r)?0!==i||1/i==1/o:i!=i&&o!=o)&&(void 0!==n||Us(e.base_,t,e.type_)))return!0;Sa(e),Ia(e)}var i,o;return e.copy_[t]===n&&(void 0!==n||Us(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])||(e.copy_[t]=n,e.assigned_.set(t,!0),function(e,t,n){const{scope_:r}=e;if(Os(n)){const i=n[Es];ha(i,r)&&i.callbacks_.push(function(){Sa(e);const r=Ws(i);ga(e,n,r,t)})}else As(n)&&e.callbacks_.push(function(){const i=Vs(e);3===e.type_?i.has(n)&&ya(n,r.handledSet_,r):ks(i,t,e.type_)===n&&r.drafts_.length>1&&!0===(e.assigned_.get(t)??!1)&&e.copy_&&ya(ks(e.copy_,t,e.type_),r.handledSet_,r)})}(e,t,n)),!0},deleteProperty:(e,t)=>(Sa(e),void 0!==wa(e.base_,t)||t in e.base_?(e.assigned_.set(t,!1),Ia(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0),getOwnPropertyDescriptor(e,t){const n=Vs(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r?{[Ps]:!0,[_s]:1!==e.type_||"length"!==t,[Ds]:r[Ds],[Ns]:n[t]}:r},defineProperty(){ws(11)},getPrototypeOf:e=>Is(e.base_),setPrototypeOf(){ws(12)}},ba={};for(let e in Ea){let t=Ea[e];ba[e]=function(){const e=arguments;return e[0]=e[0][0],t.apply(this,e)}}function wa(e,t){const n=e[Es];return(n?Vs(n):e)[t]}function La(e,t){if(!(t in e))return;let n=Is(e);for(;n;){const e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=Is(n)}}function Ia(e){e.modified_||(e.modified_=!0,e.parent_&&Ia(e.parent_))}function Sa(e){e.copy_||(e.assigned_=new Map,e.copy_=Zs(e.base_,e.scope_.immer_.useStrictShallowCopy_))}ba.deleteProperty=function(e,t){return"production"!==process.env.NODE_ENV&&isNaN(parseInt(t))&&ws(13),ba.set.call(this,e,t,void 0)},ba.set=function(e,t,n){return"production"!==process.env.NODE_ENV&&"length"!==t&&isNaN(parseInt(t))&&ws(14),Ea.set.call(this,e[0],t,n,e[0])};function Ca(e,t,n,r){const[i,o]=Gs(t)?na(Js).proxyMap_(t,n):js(t)?na(Js).proxySet_(t,n):function(e,t){const n=Ms(e),r={type_:n?1:0,scope_:t?t.scope_:oa(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0};let i=r,o=Ea;n&&(i=[r],o=ba);const{revoke:s,proxy:a}=Proxy.revocable(i,o);return r.draft_=a,r.revoke_=s,[a,r]}(t,n);return(n?.scope_??oa()).drafts_.push(i),o.callbacks_=n?.callbacks_??[],o.key_=r,n&&void 0!==r?function(e,t,n){e.callbacks_.push(function(r){const i=t;if(!i||!ha(i,r))return;r.mapSetPlugin_?.fixSetContents(i);const o=Ws(i);ga(e,i.draft_??i,o,n),va(i,r)})}(n,o,r):o.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(o);const{patchPlugin_:t}=e;o.modified_&&t&&t.generatePatches_(o,[],e)}),i}function _a(e){if(!As(e)||Xs(e))return e;const t=e[Es];let n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Zs(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Zs(e,!0);return xs(n,(e,t)=>{Bs(n,e,_a(t))},r),t&&(t.finalized_=!1),n}var Da=new class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Hs(e)&&!Hs(t)){const n=t;t=e;const r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}let r;if(Hs(t)||ws(6),void 0===n||Hs(n)||ws(7),As(e)){const i=la(this),o=Ca(i,e,void 0);let s=!0;try{r=t(o),s=!1}finally{s?aa(i):ca(i)}return sa(i,n),fa(r,i)}if(!e||!zs(e)){if(r=t(e),void 0===r&&(r=e),r===vs&&(r=void 0),this.autoFreeze_&&Ks(r,!0),n){const t=[],i=[];na(Qs).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ws(1,e)},this.produceWithPatches=(e,t)=>{if(Hs(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},qs(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),qs(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),qs(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){As(e)||ws(8),Os(e)&&(e=function(e){Os(e)||ws(10,e);return _a(e)}(e));const t=la(this),n=Ca(t,e,void 0);return n[Es].isManual_=!0,ca(t),n}finishDraft(e,t){const n=e&&e[Es];n&&n.isManual_||ws(9);const{scope_:r}=n;return sa(r,t),fa(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){const r=t[n];if(0===r.path.length&&"replace"===r.op){e=r.value;break}}n>-1&&(t=t.slice(n+1));const r=na(Qs).applyPatches_;return Os(e)?r(e,t):this.produce(e,e=>r(e,t))}},Pa=Da.produce;const Na=(...e)=>ao(t=>e.includes(t.type));class Oa extends ii{#ae=new ui;#ce;get action$(){return this.#ae.asObservable()}get value(){return this.#ce.value}get closed(){return this.#ce.closed||this.#ae.closed}constructor(e,t){super(e=>this.#ce.subscribe(e));const n="getInitialState"in e?e.getInitialState():t;this.#ce=new pi(n),this.#ae.pipe(function(e,t){return si(lo(e,t,arguments.length>=2,!0))}(e,n),po()).subscribe(this.#ce),this.reset=()=>this.#ce.next(n)}reset;next(e){this.#ae.next(e)}select(e,t){return this.#ce.pipe(Yi(e),po(t))}addEffect(e,t){const n="function"==typeof e?this.action$:Array.isArray(e)?this.action$.pipe(Na(...e)):this.action$.pipe(Na(e)),r=t||e;return n.pipe(eo(e=>ji(new Promise((t,n)=>{try{t(r(e,this.value))}catch(e){n(e)}})).pipe(co(e=>(console.warn("unhandled effect",e),Ii)))),ao(e=>!!e),ki(wi)).subscribe(this.#ae)}addEpic(e){return this.addFlow(e)}addFlow(e){const t=e(this.action$,this);if(!t)throw new TypeError(`addEpic: one of the provided effects "${e.name||"<anonymous>"}" does not return a stream. Double check you're not missing a return statement!`);return t.pipe(co(e=>(console.trace("unhandled exception, epic closed!",e),Ii)),ki(wi)).subscribe(this.#ae)}unsubscribe(){this.#ae.unsubscribe(),this.#ce.unsubscribe()}complete(){this.#ae.complete(),this.#ce.complete()}asObservable(){return this.#ce.asObservable()}}const Aa="::";function $a(e,t){function n(...n){if(t){const r=t(...n);if(!r)throw new Error("prepareAction did not return an object");return{type:e,payload:r.payload,..."meta"in r&&{meta:r.meta},..."error"in r&&{error:r.error}}}return{type:e,payload:n[0]}}return n.toString=()=>`${e}`,n.type=e,n.match=t=>t.type===e,n}function Ra(e,t,n,r){const i=$a([e,"request"].join(Aa),t);return n&&Object.assign(i,{success:$a([e,"success"].join(Aa),n)}),r&&Object.assign(i,{failure:$a([e,"failure"].join(Aa),r)}),i}function Ta(e){return As(e)?Pa(e,()=>{}):e}function xa(e,t){const[n,r,i]=function(e){const t={},n=[];let r;const i={addCase(e,o){if("production"!==process.env.NODE_ENV){if(n.length>0)throw new Error("`builder.addCase` should only be called before calling `builder.addMatcher`");if(r)throw new Error("`builder.addCase` should only be called before calling `builder.addDefaultCase`")}const s="string"==typeof e?e:e.type;if(s in t)throw new Error("addCase cannot be called with two reducers for the same action type");return t[s]=o,i},addMatcher(e,t){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addMatcher` should only be called before calling `builder.addDefaultCase`");return n.push({matcher:e,reducer:t}),i},addDefaultCase(e){if("production"!==process.env.NODE_ENV&&r)throw new Error("`builder.addDefaultCase` can only be called once");return r=e,i}};return e(i),[t,n,r]}(t);let o;if("function"==typeof e)o=()=>Ta(e());else{const t=Ta(e);o=()=>t}function s(e,t){let s=[n[t.type],...r.filter(({matcher:e})=>e(t)).map(({reducer:e})=>e)];const a=s.filter(e=>!!e).length>0;return i&&!a&&(s=[i]),s.reduce((e,n)=>{if(n){if(Os(e)){const r=n(e,t);return void 0===r?e:r}if(As(e))return Pa(e,e=>n(e,t));{const r=n(e,t);if(void 0===r){if(null===e)return e;throw Error("A case reducer on a non-draftable value must not return undefined")}return r}}return e},e??o())}return s.getInitialState=o,s}const Fa={request:$a("client/request",(e,t)=>({payload:{args:e,options:t},meta:{transaction:fs(),created:Date.now()}})),execute:Ra("client/execute",e=>({payload:e,meta:{transaction:e,created:Date.now()}}),e=>({payload:e,meta:{transaction:e.transaction,created:Date.now()}}),(e,t)=>({payload:{error:e},meta:{transaction:t,created:Date.now()}})),cancel:$a("client/cancel",(e,t)=>({payload:{transaction:e,reason:t},meta:{transaction:e,created:Date.now()}})),error:$a("client/error",(e,t)=>({payload:{transaction:e,error:t},meta:{transaction:e,created:Date.now()}}))},Ua=e=>e.pipe(ao(Fa.request.match),Yi(e=>Fa.execute(e.meta.transaction)));class ka extends ii{#le=new pi("idle");get status(){return this.#le.value}get status$(){return this.#le.asObservable()}#ue;#fe;get transaction(){return this.#fe}created=Date.now();get closed(){return"complete"===this.status||"error"===this.status||"canceled"===this.status}constructor(e,t,n){super(t=>{const{transaction:r}=this,i=e.action$.pipe(ao(e=>e.meta.transaction===r));t.add(e.state$.pipe(ao(e=>!!e[r]),Yi(e=>e[r])).subscribe(e=>{this.#le.next(e.status)})),t.add(i.pipe(ao(Fa.execute.success.match),Yi(({payload:e})=>e)).subscribe(e=>{this.#le.next("complete"),t.next(e),t.complete()})),t.add(i.pipe(ao(Fa.error.match),Yi(({payload:e})=>e)).subscribe(e=>{this.#le.next("error"),t.error(e.error)})),t.add(i.pipe(ao(Fa.cancel.match)).subscribe(e=>{this.#le.next("canceled"),t.error(new gs("abort",{message:e.payload.reason||`job: ${r} was canceled`,request:this.#ue.getRequest(e.meta.transaction)}))})),n?.signal&&t.add(io(n?.signal,"abort").pipe(Yi(()=>Fa.cancel(r,`job: ${r} was aborted on signal from caller: ${n?.ref}`))).subscribe(t=>e.next(t))),t.add(()=>{this.complete()})}),this.#ue=e;const r=Fa.request(t,{ref:n?.ref,retry:n?.retry});this.#fe=r.meta.transaction,this.#ue.next(r)}complete(e){this.closed||this.cancel(e??`job: ${this.transaction} was completed`)}cancel(e){const t=this.transaction;this.#ue.cancel(t,e??`job: ${t} was canceled`)}[Symbol.dispose](){this.complete()}}class Ba{type;transaction;data;constructor(e,t,n){this.type=e,this.transaction=t,this.data=n}}class Ma extends ii{#ce;#pe;#de;_registerEvent(e,t,n){this.#de.next(new Ba(e,t,n))}get closed(){return this.#ce.closed}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}get event$(){return this.#de.asObservable()}get success$(){return this.action$.pipe(ao(Fa.execute.success.match),Yi(({payload:e})=>e))}get error$(){return this.action$.pipe(Na("client/error"),Io(this.#ce),Yi(([e,t])=>{const{payload:n,meta:{transaction:r}}=e,i=t[r];return new gs("error",{request:i,message:`job: ${r} failed`,cause:n})}))}constructor(e,t){super(e=>this.#ce.subscribe(e)),this.#ce=new Oa(((e={})=>xa(e,e=>{e.addCase(Fa.request,(e,t)=>{e[t.meta.transaction]={...t.payload,...t.meta,execution:[],errors:[],status:"idle"}}),e.addCase(Fa.execute,(e,t)=>{const n=e[t.payload];n&&(n.execution.push(Date.now()),n.status="active")}),e.addCase(Fa.execute.success,(e,t)=>{delete e[t.payload.transaction]}),e.addCase(Fa.execute.failure,(e,t)=>{const n=e[t.meta.transaction];n&&(n.errors.push(t.payload.error),n.status="failed")}),e.addCase(Fa.error,(e,t)=>{delete e[t.meta.transaction]}),e.addCase(Fa.cancel,(e,t)=>{delete e[t.meta.transaction]})}))({})),this.#pe=new jr(()=>{this.#ce.complete(),this.#de.complete()}),this.#de=new ui,this.#pe.add(this.#ce.addFlow(Ua)),this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(ao(Fa.execute.match),Io(n),eo(([n,r])=>{const i=n.payload,o=r[i],s=new AbortController,a=t.pipe(ao(Fa.cancel.match),ao(e=>e.payload.transaction===i),Lo(()=>{s.signal.aborted||s.abort()}));try{return ji(e(o.args,s.signal)).pipe(Yi(e=>Fa.execute.success({...o,status:"complete",completed:Date.now(),value:e})),co(e=>zi(Fa.execute.failure(e,i))),wo(a))}catch(e){return zi(Fa.execute.failure(e,i))}})))(e)));const n=Object.assign({count:0,delay:0},t?.retry);this.#pe.add(this.#ce.addFlow((e=>(t,n)=>t.pipe(ao(Fa.execute.failure.match),Io(n),eo(([t,r])=>{const{transaction:i}=t.meta,o=r[i];if(!o)return zi(Fa.error(i,new gs("error",{message:"request not found, cannot retry request, most likely removed while scheduled for retry!"})));const s=o.execution.length,a=Object.assign({},e,o.options?.retry),c=o.errors?.slice(-1)[0]??new gs("error",{message:"no errors registered for request!",request:o});if(s>a.count){const e=0===a.count?c:new gs("error",{message:"maximum retries executed!",cause:o.errors,request:o});return zi(Fa.error(i,e))}return("function"==typeof a.delay?ji(a.delay(c)).pipe(co(e=>zi(Fa.error(i,new gs("error",{message:"retry delay callback failed!",cause:[...o.errors??[],e],request:o}))))):so(a.delay)).pipe(Io(n),ao(([e,t])=>!!t[i]),Lo(([,e])=>{if(!e[i])throw new gs("error",{message:"request not found, most likely removed while scheduled for retry",cause:o.errors,request:o})}),Yi(()=>Fa.execute(i)))})))(n))),this.#ce.addEffect(Fa.request.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_requested",t,e)}),this.#ce.addEffect(Fa.execute.type,({meta:{transaction:e}})=>{this._registerEvent("query_client_job_executing",e)}),this.#ce.addEffect(Fa.execute.success.type,({payload:e,meta:{transaction:t}})=>{this._registerEvent("query_client_job_completed",t,{payload:e})}),this.#ce.addEffect(Fa.execute.failure.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_failed",t,{error:n})}),this.#ce.addEffect(Fa.cancel.type,({payload:{reason:e},meta:{transaction:t}})=>{this._registerEvent("query_client_job_canceled",t,{reason:e||"no reason provided"})}),this.#ce.addEffect(Fa.error.type,({payload:e,meta:{transaction:t}})=>{const n=e.error instanceof Error?e.error:new Error(String(e.error));this._registerEvent("query_client_job_error",t,{error:n})})}next(e){this.#ce.next(e)}query(e,t){const n=new ka(this,e,t),r=n.pipe(function(e){void 0===e&&(e={});var t=e.connector,n=void 0===t?function(){return new ui}:t,r=e.resetOnError,i=void 0===r||r,o=e.resetOnComplete,s=void 0===o||o,a=e.resetOnRefCountZero,c=void 0===a||a;return function(e){var t,r,o,a=0,l=!1,u=!1,f=function(){null==r||r.unsubscribe(),r=void 0},p=function(){f(),t=o=void 0,l=u=!1},d=function(){var e=t;p(),null==e||e.unsubscribe()};return si(function(e,h){a++,u||l||f();var m=o=null!=o?o:n();h.add(function(){0!==--a||u||l||(r=Eo(d,c))}),m.subscribe(h),!t&&a>0&&(t=new Qr({next:function(e){return m.next(e)},error:function(e){u=!0,f(),r=Eo(p,i,e),m.error(e)},complete:function(){l=!0,f(),r=Eo(p,s),m.complete()}}),xi(e).subscribe(t))})(e)}}({connector:()=>new hi,resetOnRefCountZero:!1}));return Object.defineProperties(r,{transaction:{get:()=>n.transaction},created:{get:()=>n.created},status:{get:()=>n.status},closed:{get:()=>n.closed},cancel:{value:e=>n.cancel(e)},complete:{value:()=>n.complete()}}),r}async nextAsync(e,t){return Vi(this.query(e,t))}getRequest(e){return this.#ce.value[e]}getRequestByRef(e){return Object.values(this.#ce.value).find(t=>t.ref===e)}cancelTaskByRef(e,t){const n=this.getRequestByRef(e);n?.ref&&this.cancel(n.transaction,t)}cancel(e,t){if(e)this.#ce.value[e]&&(t??=`cancelation requested for job: ${e}`,this.#ce.next(Fa.cancel(e,t)));else for(const e of Object.keys(this.#ce.value))this.cancel(e,"all transactions requested canceled")}on(e,t){return this.#ce.addEffect(Fa[e].type,e=>{t(e,this)})}complete(){this.#pe.unsubscribe()}}const Ga={set:$a("cache/set",(e,t)=>({payload:{key:e,record:t}})),insert:$a("cache/insert",(e,t)=>({payload:{key:e,entry:t}})),remove:$a("cache/remove",e=>({payload:e})),invalidate:$a("cache/invalidate",(e,t)=>({payload:e,meta:{item:t}})),mutate:$a("cache/mutate",(e,t,n)=>({payload:{...t,key:e},meta:{item:n}})),trim:$a("cache/trim",e=>({payload:e}))},ja=(e,t)=>(t.updated??0)-(e.updated??0);class za{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Ha{#ce;#de;get state(){return this.#ce.value}get state$(){return this.#ce.asObservable()}get action$(){return this.#ce.action$}_registerEvent(e,t){this.#de.next(new za(e,t?.key,t?.data))}get event$(){return this.#de.asObservable()}constructor(e){const{trimming:t,initial:n}=e??{};this.#ce=new Oa(function(e,t={}){return xa(t,t=>t.addCase(e.set,(e,t)=>{const{key:n,record:r}=t.payload;e[n]=r}).addCase(e.insert,(e,t)=>{const{key:n,entry:r}=t.payload,i=e[n];if(i)i.updated=Date.now(),i.updates??=0,i.updates++,i.value=r.value,i.transaction=r.transaction,i.mutated=void 0;else{const t=Date.now();e[n]={...r,created:t,updated:t}}}).addCase(e.remove,(e,t)=>{delete e[t.payload]}).addCase(e.invalidate,(e,t)=>{const n=t.payload?[t.payload]:Object.keys(e);for(const t of n){const n=e[t];n&&(n.updated=void 0)}}).addCase(e.mutate,(e,t)=>{const{key:n,value:r,updated:i}=t.payload,o=e[n];o&&(o.value=r,o.updated=i,o.mutated=Date.now(),o.updates??=0,o.updates++)}).addCase(e.trim,(e,t)=>{const{payload:n}=t,r=n.sort??ja,i=Object.keys(e),o=Object.entries(e).filter(([e,t])=>!n.validate||n.validate(t)).sort((e,t)=>r(e[1],t[1])).slice(0,n.size??Number.MAX_SAFE_INTEGER).map(([e])=>e);if(i.length!==o.length)for(const t of i){const n=o.indexOf(t);-1!==n?o.splice(n,1):delete e[t]}}))}(Ga,n)),t&&this.#ce.addEffect("cache/set",()=>this.#ce.next(Ga.trim(t))),this.#de=new ui}has(e){return e in this.#ce.value}setItem(e,t){const{args:n,transaction:r,value:i}=t;this.#ce.next(Ga.insert(e,{args:n,transaction:r,value:i})),this._registerEvent("query_cache_entry_inserted",{key:e,data:{value:i,args:n,transaction:r}})}getItem(e){return this.#ce.value[e]}removeItem(e){this.#ce.next(Ga.remove(e)),this._registerEvent("query_cache_entry_removed",{key:e})}invalidate(e){const t=e?this.#ce.value[e]:void 0;this.#ce.next(Ga.invalidate(e,t)),e&&this._registerEvent("query_cache_entry_invalidated",{key:e,data:{previousValue:t?.value}})}mutate(e,t){const n=e in this.#ce.value?this.#ce.value[e]:void 0;if(!n)throw new Error(`Cannot mutate cache item with key ${e}: item not found`);const r="function"==typeof t?t(n?.value):t;return this.#ce.next(Ga.mutate(e,r,n)),this._registerEvent("query_cache_entry_mutated",{key:e,data:{previousValue:n.value,newValue:r,mutation:r}}),()=>this.#ce.next(Ga.set(e,n))}trim(e){const t=new Set(Object.keys(this.#ce.value));this.#ce.next(Ga.trim(e));const n=new Set(Object.keys(this.#ce.value)),r=Array.from(t).filter(e=>!n.has(e));this._registerEvent("query_cache_trimmed",{data:{removedKeys:r,criteria:e}})}reset(){this.#ce.reset(),this._registerEvent("query_cache_reset")}complete(){this.#ce.complete(),this.#de.complete()}}class qa extends ui{key;args;options;#he=Date.now();get created(){return this.#he}#me=fs();get uuid(){return this.#me}constructor(e,t,n){super(),this.key=e,this.args=t,this.options=n}processJob(e){return e.pipe(Yi(t=>{const{key:n,uuid:r,created:i}=this;return{key:n,uuid:r,created:i,status:"complete",transaction:e.transaction,complete:t.completed,value:t.value}}),vo(()=>{e.complete()})).subscribe(this)}}class Va{type;key;data;constructor(e,t,n){this.type=e,this.key=t,this.data=n}}class Wa{static extractQueryValue=is;#pe=new jr;#ue;#ge;#ve=new ui;#ye={};#Ee;#be;#we=fs();#se;get client(){return this.#ue}_registerEvent(e,t,n){this.#se.next(new Va(e,t,n))}get cache(){return this.#ge}get event$(){return this.#se.asObservable()}constructor(e){this.#se=new ui,this.#Ee=t=>ms(e.key(t),this.#we),this.#be=e?.validate??((e=0)=>t=>(t.updated??0)+e>Date.now())(e?.expire),e.client instanceof Ma?this.#ue=e.client:(this.#ue=new Ma(e.client.fn,{...e.client.options}),this.#pe.add(()=>this.#ue.complete())),this.#pe.add(this.#ue.event$.subscribe({next:e=>this.#se.next(e)})),e.cache instanceof Ha?this.#ge=e.cache:(this.#ge=new Ha(e.cache||{}),this.#pe.add(()=>this.#ge.complete())),this.#pe.add(this.#ge.event$.subscribe({next:e=>this.#se.next(e)}));const t=((e="switch")=>"function"==typeof e?e:(()=>{switch(e){case"concat":return ts;case"merge":return ns;case"switch":return rs;default:throw new Error(`Invalid queue operator: ${e}`)}})())(e.queueOperator);var n,r;this.#pe.add(()=>this.#ve.complete()),this.#pe.add(this.#ve.pipe(Lo(e=>{this._registerEvent("query_queued",e)}),ao(e=>!!(e in this.#ye)),t(e=>{const t=this.#ye[e],{args:n,options:r,uuid:i}=t;if(this._registerEvent("query_job_selected",e,{taskId:i,args:n,options:r}),!t?.observed)return this._registerEvent("query_job_skipped",e,{taskId:i,args:n,options:r}),delete this.#ye[e],Ii;const o=this.#ue.query(n,{...r,ref:t.uuid});return new ii(s=>{const{transaction:a}=o;var c,l;this._registerEvent("query_job_started",e,{taskId:i,transaction:a,args:n,options:r}),s.add(()=>{this._registerEvent("query_job_closed",e,{taskId:i,transaction:a,args:n,options:r}),o.complete("task closed"),delete this.#ye[e]}),s.add((c=10,void 0===l&&(l=wi),so(c,c,l)).pipe(ao(()=>!t.observed)).subscribe(()=>{o.cancel(`task: ${t.uuid} is not observed`),s.complete()})),s.add(t.processJob(o).add(()=>{this._registerEvent("query_job_completed",e,{taskId:i,transaction:a,args:n,options:r})})),o.pipe(Yi(e=>({result:e,task:t})),co(()=>Ii)).subscribe(s)})}),(n=()=>!this.#ue.closed,void 0===r&&(r=!1),si(function(e,t){var i=0;e.subscribe(ai(t,function(e){var o=n(e,i++);(o||r)&&t.next(e),!o&&t.complete()}))}))).subscribe(e=>{const{value:t,transaction:n}=e.result,{args:r,key:i,uuid:o}=e.task;this._registerEvent("query_cache_added",i,{data:t,taskId:o,args:r,transaction:n}),this._registerEvent("query_completed",i,{data:t,hasValidCache:!0}),this.#ge.setItem(i,{value:t,args:r,transaction:n})}))}query(e,t){return this._query(e,t)}queryAsync(e,t){const{skipResolve:n,...r}=t||{},i=n?Vi:qi;return new Promise((n,o)=>{t?.signal&&t.signal.addEventListener("abort",()=>o(new Error("Query aborted"))),i(this._query(e,r).pipe(mo())).then(n,o)})}persistentQuery(e,t){const n=this.#Ee(e),r=this._query(e,t);return new ii(i=>{i.add(r.subscribe({next:i.next.bind(i),error:i.error.bind(i)}));const o=t?.cache?.validate||this.#be;i.add(this.cache.state$.pipe(ao(e=>n in e),Yi(t=>({...t[n],key:n,status:"cache",hasValidCache:o(t[n],e)}))).subscribe(i))}).pipe(po((e,t)=>e.transaction===t.transaction&&e.mutated===t.mutated))}generateCacheKey(e){return this.#Ee(e)}mutate(e,t,n){const r=this.#Ee(e);if(r in this.cache.state==!1){if(void 0===n?.allowCreation)throw new Error(`Cannot mutate cache item with key ${r}: item not found and option "allowCreation" is false`);if(!1===n.allowCreation)return()=>{};const{value:i}="function"==typeof t?t():t;this.cache.setItem(r,{args:e,transaction:fs(),value:i})}return this.#ge.mutate(r,t)}invalidate(e){this.#ge.invalidate(e&&this.#Ee(e))}complete(){this.#pe.unsubscribe(),this.#se?.complete()}onInvalidate(e){const t=this.#ge.action$.pipe(Na("cache/invalidate")).subscribe(t=>e({detail:{item:t.meta.item}}));return()=>t.unsubscribe()}onMutate(e){const t=this.#ge.action$.pipe(Na("cache/mutate")).subscribe(t=>e({detail:{changes:t.payload,current:t.meta.item}}));return()=>t.unsubscribe()}_query(e,t){const n=this.#Ee(e),r=this._createTask(n,e,t);return this._registerEvent("query_created",n,{args:e,options:t}),r}_createTask(e,t,n){return new ii(r=>{if(n?.signal){if(n?.signal.aborted)return this._registerEvent("query_aborted",e),r.complete();r.add(io(n?.signal,"abort").subscribe(()=>{this._registerEvent("query_aborted",e),r.complete()}))}const i=this.#ge.getItem(e);if(i){this._registerEvent("query_cache_hit",e,{cacheEntry:i});const o=n?.cache?.suppressInvalid??!1,s=(n?.cache?.validate||this.#be)(i,t),a={...i,key:e,status:"cache",hasValidCache:s};if(r.next(a),s||o)return this._registerEvent("query_completed",e,{data:i.value,hasValidCache:s}),r.complete();this._registerEvent("query_cache_miss",e)}const o=e in this.#ye;o?this._registerEvent("query_connected",e,{isExistingTask:!0}):(this.#ye[e]=new qa(e,t,n),this._registerEvent("query_job_created",e,{taskId:this.#ye[e].uuid,args:t,options:n}));const s=this.#ye[e];r.add(s.subscribe(r)),o||this.#ve.next(e)})}}const Za=R.object({key:R.string().describe("The key used to identify the service"),uri:R.string().describe("The URI of the service"),id:R.string().optional().describe("The ID of the service"),environment:R.string().optional().describe("The environment of the service"),name:R.string().optional().describe("The name of the service"),scopes:R.array(R.string()).optional().default([]).describe("Endpoint authentication scopes"),tags:R.array(R.string()).optional().describe("Tags for the service")}).describe("A service from the service discovery API").transform(e=>({...e,get defaultScopes(){return e.scopes??[]}})),Ka=R.array(Za).describe("A list of services from the service discovery API");class Ya{#Le;endpoint;http;constructor(e){this.http=e.http,this.endpoint=e.endpoint;const t=e.postProcess;this.#Le=new Wa({client:{fn:()=>this.http.fetch$(this.endpoint??"",{selector:e=>((e,t)=>{const n=ji(Yo(e)).pipe(Yi(e=>Ka.default([]).parse(e)));return t?n.pipe(t):n})(e,t)})},key:()=>"services",expire:3e5})}resolveServices(e){return(e?Vi:qi)(Wa.extractQueryValue(this.#Le.query()))}async resolveService(e,t){const n=(await this.resolveServices(t)).find(t=>t.key===e);if(!n)throw Error(`Failed to resolve service, invalid key [${e}]`);return n}}class Xa extends Co{async _createConfig(e,t){if(!e.hasModule("http"))throw new Error("http module is required");if(!this._has("discoveryClient")){(await e.requireInstance("http")).hasClient("service_discovery")&&this.configureServiceDiscoveryClientByClientKey("service_discovery")}return qi(ji(super._createConfig(e,t)))}_processConfig(e,t){if(!e.discoveryClient)throw new Error("discoveryClient is required, please configure it");return super._processConfig(e,t)}setServiceDiscoveryClient(e){this._set("discoveryClient","function"==typeof e?e:async()=>e)}configureServiceDiscoveryClient(e){this.setServiceDiscoveryClient(async t=>{const{httpClient:n,endpoint:r}=await qi(ji(e(t)))??{};if(n)return new Ya({http:n,endpoint:r,postProcess:Yi(e=>{const t="undefined"!=typeof globalThis?globalThis.sessionStorage:void 0;if(!t)return e;try{const n=JSON.parse(t.getItem("overriddenServiceDiscoveryUrls")||"{}");for(const[t,{url:r,scopes:i}]of Object.entries(n)){const n=e.find(e=>e.key===t);n&&(n.uri=r,n.scopes=i,n.overridden=!0)}}catch(e){console.error('Failed to JSON parse session overrides: "overriddenServiceDiscoveryUrls"',e)}return e})});throw Error("httpClient is required")})}configureServiceDiscoveryClientByClientKey(e,t){this.configureServiceDiscoveryClient(async({requireInstance:n})=>({httpClient:(await n("http")).createClient(e),endpoint:t}))}}class Ja extends Ao{config;_http;constructor(e,t){super({version:"10.0.2",config:e}),this.config=e,this._http=t}resolveServices(){return this.config.discoveryClient.resolveServices()}async resolveService(e){return this.config.discoveryClient.resolveService(e)}async createClient(e,t){const n=await this.resolveService(e);if(!n)throw Error(`Could not load configuration of service [${e}]`);return this._http.createClient({...t,baseUri:n.uri,defaultScopes:n.scopes})}async configureClient(e,t){const{key:n,alias:r}="string"==typeof e?{key:e,alias:e}:e,{uri:i,scopes:o}=await this.resolveService(n);var s,a;t.addConfig((s=r,a={baseUri:i,defaultScopes:o},{module:es,configure:e=>{e.configureClient(s,a)}}))}}const Qa={name:"serviceDiscovery",configure:()=>new Xa,initialize:async e=>{const{requireInstance:t,ref:n}=e,r=await e.config.createConfigAsync(e,{...n?.serviceDiscovery?.config}),i=await t("http");return new Ja(r,i)}},ec=(e,t)=>{e.addConfig((e=>({module:Qa,configure:t=>e(t)}))(()=>Promise.resolve()))};var tc,nc,rc,ic={},oc=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Cloudflare Pages",constant:"CLOUDFLARE_PAGES",env:"CF_PAGES"},{name:"Cloudflare Workers",constant:"CLOUDFLARE_WORKERS",env:"WORKERS_CI"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}];function sc(){return tc||(tc=1,function(e){const t=oc,n=process.env;function r(e){return"string"==typeof e?!!n[e]:"env"in e?n[e.env]&&n[e.env].includes(e.includes):"any"in e?e.any.some(function(e){return!!n[e]}):Object.keys(e).every(function(t){return n[t]===e[t]})}Object.defineProperty(e,"_vendors",{value:t.map(function(e){return e.constant})}),e.name=null,e.isPR=null,e.id=null,"false"!==n.CI&&t.forEach(function(t){const i=(Array.isArray(t.env)?t.env:[t.env]).every(function(e){return r(e)});e[t.constant]=i,i&&(e.name=t.name,e.isPR=function(e){switch(typeof e.pr){case"string":return!!n[e.pr];case"object":return"env"in e.pr?"any"in e.pr?e.pr.any.some(function(t){return n[e.pr.env]===t}):e.pr.env in n&&n[e.pr.env]!==e.pr.ne:"any"in e.pr?e.pr.any.some(function(e){return!!n[e]}):r(e.pr);default:return null}}(t),e.id=t.constant)}),e.isCI=!("false"===n.CI||!(n.BUILD_ID||n.BUILD_NUMBER||n.CI||n.CI_APP_ID||n.CI_BUILD_ID||n.CI_BUILD_NUMBER||n.CI_NAME||n.CONTINUOUS_INTEGRATION||n.RUN_ID||e.name))}(ic)),ic}var ac,cc=q(rc?nc:(rc=1,nc=sc().isCI));!function(e){e.ContinuesIntegration="ci",e.QualityAssurance="fqa",e.Training="tr",e.Production="fprd",e.Development="dev"}(ac||(ac={}));const lc=["5a842df8-3238-415d-b168-9f16a6a6031b/.default"],uc=e=>{const t=new Fo,n=e.env??ac.ContinuesIntegration;t.addConfig({module:es,configure:t=>{const r=n===ac.Development?ac.ContinuesIntegration:n,i=e.serviceDiscovery?.url??new URL(`/service-registry/environments/${r}/services`,"https://discovery.fusion.equinor.com").toString(),o=e.serviceDiscovery?.scope??lc;t.configureClient("service_discovery",{baseUri:i,defaultScopes:o})}}),ec(t);const{auth:r}=e;return H(t,e=>{if("defaultCredential"in r&&r.defaultCredential)return void e.setDefaultCredential();if("token"in r&&r.token)return void e.setTokenOnly(r.token);const{clientId:t,tenantId:n}=r;if(!t||!n)throw new Error("clientId and tenantId are required for auth module");if("interactive"in r&&r.interactive){const{server:i}=r;if(!i.port)throw new Error("server.port is required for interactive mode");return void e.setInteractive({tenantId:n,clientId:t,redirectPort:i.port,onOpen:i.onOpen})}cc?e.setDefaultCredential():e.setInteractive({tenantId:n,clientId:t,redirectPort:49741})}),t},fc=async(e,t)=>{const n=uc(e);t&&t(n);return await n.initialize()},pc=e=>{const t=e.getEntry("metadata.json");if(!t)throw new Error("Metadata file not found in bundle");return new Promise((e,n)=>{t.getDataAsync((t,r)=>{if(r)return n(new Error("Failed to read metadata file",{cause:r}));try{return e(JSON.parse(String(t)))}catch(e){n(new Error("Failed to parse metadata file",{cause:e}))}})})},dc=async e=>{const{log:t,bundle:n}=e;let r;if(n)try{t?.info("🗜️","Using artifact-based validation from bundle:",n);const e=new Bn(n),i=await(async e=>{const t=await pc(e);if(!t.appKey||"string"!=typeof t.appKey||""===t.appKey.trim())throw new Error("App manifest is missing required appKey field");return t})(e);r=i.appKey,t?.info("📦",`Resolved app key "${r}" from bundle artifact`)}catch(e){return t?.fail("🚫","Failed to resolve app information from bundle:",e instanceof Error?e.message:String(e)),!1}else{t?.info("📁","Using traditional validation from local project files");const e=await Wt(t);r=(await Vt({command:"build",mode:"production"},e,{log:t})).appKey}t?.start("Initializing Fusion Framework...");const i=await fc({env:e.environment,auth:"token"in e.auth?{token:e.auth.token}:e.auth});t?.succeed("Initialized Fusion Framework");try{const e=await i.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)}),t?.info("Checking if",r,"is registered in app store");const n=await e.fetch(`/apps/${r}`,{method:"HEAD",headers:ir});if(n.ok)return t?.succeed("😃",`Application ${r} is registered in app store`),!0;if(404===n.status)return t?.fail("😞",`Application ${r} is not registered in app store`),!1;if(410===n.status)return t?.fail("😞",`Application ${r} is deleted from app store`),!1;const o=lr(n.status,`check registration for ${r}`);throw o&&(t?.fail("🔒",`Authentication/authorization error checking ${r}`),t?.error(o),process.exit(1)),new Error(`Unexpected response status: ${n.status}`)}catch(e){const n=pr(e,`check registration for ${r}`);return n&&(t?.fail("🔒",`Token acquisition failed checking ${r}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Error checking application registration"),t?.error("Error checking application registration:",e instanceof Error?e.message:e),!1}};const hc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Bn(e.fileOrBundle):e.fileOrBundle,{appKey:o}=e.appKey?{appKey:e.appKey}:await pc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)});t?.info("📦",`Uploading application bundle for ${r.bold(o)}`);const s=(await i.getEntries()).map(e=>e.entryName);t?.debug("Bundle contents:",s);const a=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/apps/${o}`,{method:"POST",body:new Blob([a],{type:"application/zip"}),headers:{...ir,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`🤯 error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=lr(e.status,`upload bundle for ${t}`);let i;switch(r&&(n?.fail("🔒",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion app store`;break;case 404:i=`${e.status} - ${t} not found, please add your application in App Admin before publishing`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("🙅♂️",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded application bundle"),t?.debug("Response:",i);try{return{appKey:o,version:(await i.json()).version}}catch(e){t?.fail("🙅♂️",`Failed to parse response from app service: ${e instanceof Error?e.message:e}`),process.exit(1)}}catch(e){const n=pr(e,`upload bundle for ${o}`);n&&(t?.fail("🔒",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Failed to upload application bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},mc=async e=>{const{tag:t,appKey:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("🤪","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("🤪",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("🤪","Application key is required."),process.exit(1)),i||(s?.fail("🤪","Version is required."),process.exit(1));try{const e=await o.serviceDiscovery.createClient("apps");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("🌎","Executing request to:",qt(e.uri))}),s?.start("Publishing application config");const a=await e.json(`/apps/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:ir});return s?.debug("Response:",a),s?.succeed("Tagged application successfully",r.greenBright(`${n}@${i} - ${t}`)),a}catch(e){if(e instanceof br)switch(e.response.status){case 410:s?.fail("🤬",`App ${n} is deleted from apps-service. Please check the app key and try again.`);break;case 404:s?.fail("🤬",`App ${n} not found. Please check the app key and try again.`);break;case 403:case 401:{const t=lr(e.response.status,`tag ${n}@${i}`);s?.fail("🔒","Authentication/authorization error tagging application."),t&&s?.error(t),process.exit(1);break}default:s?.fail("🤬","Failed to tag application",`Status code: ${e.response.status}`,`Error: ${e.message}`)}const t=pr(e,`tag ${n}@${i}`);t&&(s?.fail("🔒",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("🤬","Failed to tag application:",e instanceof Error?e.message:String(e)),process.exit(1)}},gc=T.object({templateEntry:T.string({message:"templateEntry must be a string"}).describe("Main entry point for the portal"),schemaEntry:T.string({message:"schemaEntry must be a string"}).describe("Schema file for portal validation"),assetPath:T.string({message:"assetPath must be a string"}).optional().describe("Asset path for dev/preview builds"),githubRepo:T.string({message:"githubRepo must be a string"}).optional().describe("GitHub repo URL or local git remote"),version:T.string({message:"version must be a string"}).describe("Version from package.json"),timestamp:T.string({message:"timestamp must be a string"}).describe("Current build timestamp (ISO8601)"),commitSha:T.string({message:"commitSha must be a string"}).describe("Current git commit SHA"),annotations:T.record(T.string(),T.string().nullish()).optional().transform(e=>{if(!e)return;const t=Object.entries(e).filter(([,e])=>void 0!==e);return Object.fromEntries(t)}).describe("Optional build annotations"),projectPage:T.string({message:"projectPage must be a string"}).optional().describe("Optional project homepage"),allowedExtensions:T.array(T.string({message:"Each allowed extension must be a string"}),{message:"allowedExtensions must be an array of strings"}).describe("List of allowed asset extensions (with leading dot)"),schema:T.record(T.string(),T.unknown()).optional().describe("Optional schema for the portal"),config:T.record(T.string(),T.unknown()).optional().describe("Optional configuration for the portal")}),vc=T.object({name:T.string({message:"name must be a string"}).describe("Short app key (unscoped, derived from package name)"),displayName:T.string({message:"displayName must be a string"}).optional().describe("Full package name, may include scope"),description:T.string({message:"description must be a string"}).optional().describe("Description of the portal"),build:gc}),yc=(e,t)=>{Rt(t,"expected packageJson"),P(t.name,"expected [name] in packageJson"),P(t.version,"expected [version] in packageJson");const n=((e,t)=>"build"===e.command||e.isPreview?t.main||t.module||"dist/bundle.js":ct(e.root))(e,t),r=t.name.replace(/^@|\w.*\//gm,""),i=t.version,o="build"===e.command?void 0:"/@fs",s=Tt(t)??xt(),a=Gt.map(e=>`.${e}`),c={name:r,displayName:t.name,description:t.description||"",build:{templateEntry:n,schemaEntry:"portal.schema.json",assetPath:o,githubRepo:s,version:i,timestamp:(new Date).toISOString(),commitSha:Ft(),annotations:{...Mt()},projectPage:t.homepage,allowedExtensions:a}},l=vc.safeParse(c);if(!l.success){const e=l.error.issues.map(e=>`- ${e.path.join(".")}: ${e.message}`).join("\n");throw new Error(["Invalid portal manifest generated from package.json:",e].join("\n"))}return l.data},Ec=async(e,t,n)=>{const i=yc(e,t.packageJson);try{n?.log?.start("loading manifest...");const t=await(async(e,t)=>{const n=t?.file??[`portal.manifest.${e.environment}`,"portal.manifest"],r=await S(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.base??{};let i;return i="function"==typeof n.default?await n.default(e,{base:r})??void 0:n.default,i?_(r,i):r}}}),i=r.config,o=vc.safeParse(i);if(!o.success){const e=o.error.issues.map(e=>`${e.path.join(".")}: ${e.message}`).join("; ");throw new Error(`Invalid portal manifest: ${e}`)}return{manifest:i,path:r.path,extension:r.extension}})(e,{base:i});return n?.log?.succeed("generated manifest from",qt(t.path,{relative:!0})),t.manifest}catch(e){if(e instanceof C){if(n?.manifestPath){const t=new Error(`Failed to load manifest file ${qt(n.manifestPath)}, please check the path.`,{cause:e});throw n?.log?.fail(t.message),t}return n?.log?.succeed(r.dim("no local manifest config applied, using default generated from package")),i}throw n?.log?.fail(`failed to resolve application manifest ${n?.manifestPath?qt(n?.manifestPath):""}`),e}},bc=async(e,t)=>{const{log:n}=t;try{n?.start("create portal configuration"),n?.info(`generating config with ${r.red.dim(e.command)} command in ${r.green.dim(e.mode)} mode`);const i=await((e,t)=>{const n=t?.file??[`portal.config.${e.environment}`,"portal.config"];return S(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async n=>{const r=t?.schema??R.object({}).passthrough(),i=t?.base??{};if("function"==typeof n.default){const t=await n.default(i,e)??i;return r.parse(t)}return r.parse(n.default??i)}}})})(e,{file:t?.config});return n?.succeed("⚙️ generated config from ",qt(i.path,{relative:!0})),i.config}catch(e){if(e instanceof C){if(!t.config)return n?.succeed(r.dim("⚙️ no local portal config applied, using built-in")),{};n?.warn(`failed to load config file ${qt(t.config)}, please check the path.`)}throw n?.fail("failed to resolve portal config"),n?.debug(e),e}},wc=async e=>{const{log:n}=e??{},r=await Wt(n),i={root:r.root,environment:"local",...e?.env,mode:"development",command:"serve"},o=await Ec(i,r,{log:n,manifestPath:e?.manifest}),s=await bc(i,{log:n,config:e?.config}),a=t(await $t(i,r),{server:{port:e?.server?.port,fs:{allow:[r.root]}}}),c={template:{portal:{id:o.name}},portal:{manifest:o,config:s}};n?.debug("vite config:",a),n?.debug("dev server config:",c),n?.start("Starting app development server...");const l=await nr(i,c,{overrides:a,log:n});return await l.listen(),n?.succeed(`Started app development server on ${l.resolvedUrls?.local?.[0]}`),l},Lc=async e=>{const{log:n,dir:r,port:i=4173,host:o="localhost"}=e??{};n?.log("Starting to serve portal");const s=await Wt(n);n?.start("Loading Vite config...");const c=await $t({root:s.root,command:"build",mode:"production"},s);n?.succeed("Vite config loaded");const l=r||(c.build?.outDir||"dist"),u=a(s.root,l),f={root:s.root,environment:"local",mode:"production",command:"serve",isPreview:!0},p=await Ec(f,s,{log:n,manifestPath:e?.manifest}),d=await bc(f,{log:n,config:e?.config});if(n?.debug("Output directory:",u),!w(u))throw new Error(`Build directory does not exist: ${u}\nPlease build the portal first using \`ffc portal build\``);p.build.assetPath=void 0,p.build.templateEntry=`/${p.build.templateEntry}`;const h=await $t(f,s),m=t(h,{server:{port:i,host:o||h.server?.host||"localhost",fs:{allow:[s.root,u]}}}),g={template:{portal:{id:p.name}},portal:{manifest:p,config:d}};n?.debug("vite config:",m),n?.debug("dev server config:",g),n?.start("Starting preview server...");try{const e=await nr(f,g,{overrides:m,log:n});await e.listen(),n?.succeed("Preview server started successfully");const t=e.config.server?.https?"https":"http",r=e.config.server?.host||o,s=e.config.server?.port||i;return n?.info(`Preview server is running at: ${t}://${r}:${s}`),e}catch(e){throw n?.fail("Failed to start preview server"),e}},Ic=async e=>{const{log:t}=e??{},n=await Wt(t);t?.debug("package",n);const r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env};t?.debug("env:",r);const i=await Ec(r,n,{log:t,manifestPath:e?.manifest});return t?.debug("manifest:",i),{manifest:i,pkg:n,env:r}},Sc=async e=>{const{log:t}=e??{};t?.log(r.bold("Starting to build portal"));const{manifest:i,pkg:o,env:s}=await Ic({log:t,manifest:e?.manifest});t?.start("loading vite config...");const a=await $t(s,o);t?.succeed("vite config applied"),t?.debug("vite config:",a),t?.start("🤞🏻","building portal..."),t?.startNativeConsoleCapture(),await n(a),t?.stopNativeConsoleCapture(),t?.succeed("build completed 😘");return{pkg:o,manifest:i,outDir:a.build.outDir}},Cc=async e=>{const{log:t,manifest:n}=e,r={command:"build",mode:process.env.NODE_ENV??"production",environment:null,root:process.cwd()},{pkg:i,manifest:o}=await Sc({log:t,manifest:n});if(!o.build)throw new Error("Manifest build config not found");const s=await(async(e,t)=>{const n=t?.file??[`portal.schema.${e.environment}`,"portal.schema"],r=await S(n,{baseDir:e.root,extensions:t?.extensions,script:{resolve:async t=>{const n="function"==typeof t.default?await Promise.resolve(t.default(e)):t.default;if(!n)throw new Error("Schema function did not return a valid schema");return n}}});return{schema:r.config,path:r.path,extension:r.extension}})(r,{file:e?.schema});t?.debug("Schema:",s);return{archive:await mr(i,{log:t,archive:e?.archive,content:{"portal-template-manifest.json":JSON.stringify(o.build,null,2),"portal.schema.json":JSON.stringify(s.schema,null,2),"metadata.json":JSON.stringify({name:o.name,version:o.build.version})}}).catch(e=>{t?.error("Failed to create package:",e),process.exit(1)}),manifest:o,schema:s.schema}},_c=async e=>{const{log:t}=e??{},n=await Wt(t),r={command:"build",mode:process.env.NODE_ENV??"production",root:n.root,...e?.env},i=await bc(r,{log:t,config:e?.config});if(t?.debug("config:",i),e?.output){t?.start("writing config to file");try{await dr(e.output,JSON.stringify(i,null,2)),t?.succeed("config written successfully",qt(e.output,{relative:!0}))}catch(e){throw t?.fail("failed to write config"),e}}return{config:i,pkg:n}},Dc=async e=>{const{log:t,portal:n}=e,{config:i}=await _c({log:t,config:e.config,env:{environment:e.environment}});t?.start("Initializing Fusion Framework...");const o=await fc({env:e.environment,auth:e.auth});t?.succeed("Initialized Fusion Framework");try{const s=await o.serviceDiscovery.createClient("portals");s.request$.subscribe(e=>{t?.debug("Request:",e),t?.info("🌎","Executing request to:",qt(e.uri))}),t?.start("Publishing portal config"),t?.info("Using environment:",r.redBright(e.environment));const a=await s.json(`/portals/${n.name}@${n.version}/config`,{method:"PUT",body:i,headers:ir});t?.debug("Response:",a),t?.succeed("Published portal config")}catch(e){if(e instanceof br)switch(e.response.status){case 410:t?.fail("🤬",`Portal ${n.name} is deleted from portals-service. Please check the portal key and try again.`);break;case 404:t?.fail("🤬",`Portal ${n.name} not found. Please check the portal key and try again.`);break;case 403:case 401:{const r=lr(e.response.status,`publish config for portal ${n.name}`);t?.fail("🔒","Authentication/authorization error publishing portal config."),r&&t?.error(r),process.exit(1);break}default:t?.fail("🤬","Failed to publish portal config.",`Status code: ${e.response.status}`,`Message: ${e.response.statusText}`)}const r=pr(e,`publish config for portal ${n.name}`);r&&(t?.fail("🔒",`Token acquisition failed publishing config for ${n.name}`),t?.error(r),process.exit(1)),t?.fail("🤬","Failed to publish portal config:",e instanceof Error?e.message:String(e)),process.exit(1)}};const Pc=async e=>{const{log:t,framework:n}=e,i="string"==typeof e.fileOrBundle?new Bn(e.fileOrBundle):e.fileOrBundle,{name:o}=e.name?{name:e.name}:await pc(i).catch(e=>{t?.error("Failed to resolve manifest:",e),process.exit(1)}),s=await i.toBufferPromise().catch(e=>{t?.error("Failed to read bundle content:",e),process.exit(1)});try{const e=await n.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{t?.info("🌎","Executing request to:",e.uri),t?.debug("Request:",e)});const i=await e.fetch(`/bundles/templates/${o}`,{method:"POST",body:new Blob([s],{type:"application/zip"}),headers:{...ir,"Content-Type":"application/zip"}});if(!i.ok){try{const{error:e}=await i.json();t?.debug("Error:",e),e.message&&t?.warn(r.red(`🤯 error: ${e.code}\n`),r.yellowBright(e.message),"\n")}catch(e){t?.debug("Error:",i.statusText)}!function(e,t,n){const r=lr(e.status,`upload portal bundle for ${t}`);let i;switch(r&&(n?.fail("🔒",`Authentication/authorization error uploading ${t}`),n?.error(r),process.exit(1)),e.status){case 409:i=`${e.status} - Version is already published, please generate a new release`;break;case 410:i=`${e.status} - ${t} is removed from Fusion`;break;case 404:i=`${e.status} - ${t} not found`;break;case 500:i=`${e.status} - Internal server error, please try again later or contact support`;break;default:i=`Failed to upload bundle. HTTP status ${e.status}, ${e.statusText}`}n?.fail("🙅♂️",i),process.exit(1)}(i,o,t)}t?.succeed("Successfully uploaded portal bundle"),t?.debug("Response:",i)}catch(e){const n=pr(e,`upload portal bundle for ${o}`);n&&(t?.fail("🔒",`Token acquisition failed uploading ${o}`),t?.error(n),process.exit(1)),t?.fail("🙅♂️","Failed to upload portal bundle"),t?.error(e instanceof Error?e.message:e),process.exit(1)}},Nc=async e=>{const{tag:t,name:n,version:i,framework:o,log:s}=e;t&&"string"==typeof t&&0!==t.trim().length||(s?.fail("🤪","Tag must be a non-empty string."),process.exit(1)),/^[a-zA-Z0-9.-]+$/.test(t)||(s?.fail("🤪",'Invalid tag. Use "latest", "preview" or string [a-z, A-Z, 0-9, ".", "-"].'),process.exit(1)),n||(s?.fail("🤪","Portal name is required."),process.exit(1)),i||(s?.fail("🤪","Version is required."),process.exit(1)),s?.info("Tagging portal:",r.greenBright(`${n}@${t}`,i));try{const e=await o.serviceDiscovery.createClient("portal-config");e.request$.subscribe(e=>{s?.debug("Request:",e),s?.info("🌎","Executing request to:",qt(e.uri))}),s?.start("Tagging portal template...");const r=await e.json(`/templates/${n}/tags/${t}`,{method:"PUT",body:{version:i},headers:ir});s?.debug("Response:",r),s?.succeed("Tagged portal template successfully"),s?.info("🚀",JSON.stringify(r))}catch(e){if(e instanceof br){const{data:t,response:o}=e;switch(s?.debug("Error:",t),t&&s?.warn(r.red(`🤯 error: ${t.code}\n`),r.yellowBright(t.message),"\n"),o?.status){case 410:s?.fail(`🤬 - ${o?.status} -`,`${n} is deleted. Please check the name and try again.`);break;case 404:s?.fail(`🤬 - ${o?.status} -`,`${n} not found. Please check the name and try again.`);break;case 403:case 401:{const e=lr(o?.status??401,`tag portal ${n}@${i}`);s?.fail("🔒","Authentication/authorization error tagging portal."),e&&s?.error(e),process.exit(1);break}default:s?.fail(`🤬 - ${o?.status} -`,"Failed to tag",`Error: ${e.message}`)}}const t=pr(e,`tag portal ${n}@${i}`);t&&(s?.fail("🔒",`Token acquisition failed tagging ${n}@${i}`),s?.error(t),process.exit(1)),s?.fail("🤬","Failed to tag portal:",e instanceof Error?e.message:String(e)),process.exit(1)}},Oc=e=>e&&!cc?ac.Development:ac.ContinuesIntegration;export{Qn as ConsoleLogger,ac as FusionEnv,Kt as buildApplication,Sc as buildPortal,gr as bundleApp,Cc as bundlePortal,dc as checkApp,uc as configureFramework,yr as generateApplicationConfig,_c as generatePortalConfig,fc as initializeFramework,Zt as loadAppManifest,Ic as loadPortalManifest,mr as pack,Ir as publishAppConfig,Dc as publishPortalConfig,Oc as resolveDefaultEnv,Cr as serveApplication,Lc as servePortal,Sr as startAppDevServer,wc as startPortalDevServer,mc as tagApplication,Nc as tagPortal,hc as uploadApplication,Pc as uploadPortalBundle};
|